diff --git a/services/access_governance_cp/src/oci_cli_access_governance_cp/generated/accessgovernancecp_cli.py b/services/access_governance_cp/src/oci_cli_access_governance_cp/generated/accessgovernancecp_cli.py
index 1b8ac12d..93ac2dfa 100644
--- a/services/access_governance_cp/src/oci_cli_access_governance_cp/generated/accessgovernancecp_cli.py
+++ b/services/access_governance_cp/src/oci_cli_access_governance_cp/generated/accessgovernancecp_cli.py
@@ -47,7 +47,7 @@ def governance_instance_group():
@governance_instance_group.command(name=cli_util.override('access_governance_cp.change_governance_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a GovernanceInstance resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeGovernanceInstanceCompartment)""")
@cli_util.option('--governance-instance-id', required=True, help=u"""The OCID of the GovernanceInstance""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the GovernanceInstance resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the GovernanceInstance resides.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -80,7 +80,7 @@ def change_governance_instance_compartment(ctx, from_json, governance_instance_i
@cli_util.option('--display-name', required=True, help=u"""The name for the GovernanceInstance.""")
@cli_util.option('--license-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["NEW_LICENSE", "BRING_YOUR_OWN_LICENSE", "AG_ORACLE_WORKLOADS", "AG_OCI"]), help=u"""The licenseType being used.""")
@cli_util.option('--tenancy-namespace', required=True, help=u"""The namespace for tenancy object storage.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the GovernanceInstance resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the GovernanceInstance resides.""")
@cli_util.option('--idcs-access-token', required=True, help=u"""IDCS access token identifying a stripe and service administrator user.""")
@cli_util.option('--description', help=u"""The description of the GovernanceInstance.""")
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -236,7 +236,7 @@ def get_governance_instance(ctx, from_json, governance_instance_id):
@governance_instance_configuration_group.command(name=cli_util.override('access_governance_cp.get_governance_instance_configuration.command_name', 'get'), help=u"""Gets the tenancy-wide configuration for GovernanceInstances \n[Command Reference](getGovernanceInstanceConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which resources are listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which resources are listed.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -255,7 +255,7 @@ def get_governance_instance_configuration(ctx, from_json, compartment_id):
@governance_instance_collection_group.command(name=cli_util.override('access_governance_cp.list_governance_instances.command_name', 'list-governance-instances'), help=u"""Returns a list of Governance Instances. \n[Command Reference](listGovernanceInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which resources are listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which resources are listed.""")
@cli_util.option('--lifecycle-state', help=u"""The lifecycle state to filter on.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The OCID of the GovernanceInstance""")
@@ -398,7 +398,7 @@ def update_governance_instance(ctx, from_json, force, wait_for_state, max_wait_s
@governance_instance_group.command(name=cli_util.override('access_governance_cp.update_governance_instance_configuration.command_name', 'update-governance-instance-configuration'), help=u"""Updates the tenancy-wide configuration for GovernanceInstances \n[Command Reference](updateGovernanceInstanceConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which resources are listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which resources are listed.""")
@cli_util.option('--sender-info', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
diff --git a/services/adm/src/oci_cli_application_dependency_management/generated/applicationdependencymanagement_cli.py b/services/adm/src/oci_cli_application_dependency_management/generated/applicationdependencymanagement_cli.py
index 2ede45ac..d02eb141 100644
--- a/services/adm/src/oci_cli_application_dependency_management/generated/applicationdependencymanagement_cli.py
+++ b/services/adm/src/oci_cli_application_dependency_management/generated/applicationdependencymanagement_cli.py
@@ -214,7 +214,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@knowledge_base_group.command(name=cli_util.override('adm.change_knowledge_base_compartment.command_name', 'change-compartment'), help=u"""Moves a Knowledge Base from one compartment to another. \n[Command Reference](changeKnowledgeBaseCompartment)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The Oracle Cloud Identifier ([OCID]) of a Knowledge Base, as a URL path parameter.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) to which the resource must be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) to which the resource must be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -275,7 +275,7 @@ def change_knowledge_base_compartment(ctx, from_json, wait_for_state, max_wait_s
@remediation_recipe_group.command(name=cli_util.override('adm.change_remediation_recipe_compartment.command_name', 'change-compartment'), help=u"""Moves a Remediation Recipe from one compartment to another. \n[Command Reference](changeRemediationRecipeCompartment)""")
@cli_util.option('--remediation-recipe-id', required=True, help=u"""The Oracle Cloud Identifier ([OCID]) of a Remediation Recipe, as a URL path parameter.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) to which the resource must be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) to which the resource must be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -336,7 +336,7 @@ def change_remediation_recipe_compartment(ctx, from_json, wait_for_state, max_wa
@remediation_run_group.command(name=cli_util.override('adm.change_remediation_run_compartment.command_name', 'change-compartment'), help=u"""Moves a remediation run from one compartment to another. \n[Command Reference](changeRemediationRunCompartment)""")
@cli_util.option('--remediation-run-id', required=True, help=u"""Unique Remediation Run identifier path parameter.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) to which the resource must be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) to which the resource must be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -367,7 +367,7 @@ def change_remediation_run_compartment(ctx, from_json, remediation_run_id, compa
@vulnerability_audit_group.command(name=cli_util.override('adm.change_vulnerability_audit_compartment.command_name', 'change-compartment'), help=u"""Moves a Vulnerability Audit from one compartment to another. \n[Command Reference](changeVulnerabilityAuditCompartment)""")
@cli_util.option('--vulnerability-audit-id', required=True, help=u"""Unique Vulnerability Audit identifier path parameter.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which the resource must be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which the resource must be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -397,7 +397,7 @@ def change_vulnerability_audit_compartment(ctx, from_json, vulnerability_audit_i
@knowledge_base_group.command(name=cli_util.override('adm.create_knowledge_base.command_name', 'create'), help=u"""Creates a new Knowledge Base. \n[Command Reference](createKnowledgeBase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the knowledge base.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the knowledge base.""")
@cli_util.option('--display-name', help=u"""The name of the knowledge base.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -462,7 +462,7 @@ def create_knowledge_base(ctx, from_json, wait_for_state, max_wait_seconds, wait
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe.command_name', 'create'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--scm-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--verify-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -539,7 +539,7 @@ def create_remediation_recipe(ctx, from_json, wait_for_state, max_wait_seconds,
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe_oci_code_repository_configuration.command_name', 'create-remediation-recipe-oci-code-repository-configuration'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--verify-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -627,7 +627,7 @@ def create_remediation_recipe_oci_code_repository_configuration(ctx, from_json,
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe_external_scm_configuration.command_name', 'create-remediation-recipe-external-scm-configuration'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--verify-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -723,7 +723,7 @@ def create_remediation_recipe_external_scm_configuration(ctx, from_json, wait_fo
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe_jenkins_pipeline_configuration.command_name', 'create-remediation-recipe-jenkins-pipeline-configuration'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--scm-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -813,7 +813,7 @@ def create_remediation_recipe_jenkins_pipeline_configuration(ctx, from_json, wai
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe_none_verify_configuration.command_name', 'create-remediation-recipe-none-verify-configuration'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--scm-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -891,7 +891,7 @@ def create_remediation_recipe_none_verify_configuration(ctx, from_json, wait_for
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe_oci_dev_ops_build_configuration.command_name', 'create-remediation-recipe-oci-dev-ops-build-configuration'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--scm-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -975,7 +975,7 @@ def create_remediation_recipe_oci_dev_ops_build_configuration(ctx, from_json, wa
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe_git_hub_actions_configuration.command_name', 'create-remediation-recipe-git-hub-actions-configuration'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--scm-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1065,7 +1065,7 @@ def create_remediation_recipe_git_hub_actions_configuration(ctx, from_json, wait
@remediation_recipe_group.command(name=cli_util.override('adm.create_remediation_recipe_git_lab_pipeline_configuration.command_name', 'create-remediation-recipe-git-lab-pipeline-configuration'), help=u"""Creates a new Remediation Recipe. \n[Command Reference](createRemediationRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud Identifier ([OCID]) of the remediation recipe.""")
@cli_util.option('--scm-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--detect-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1217,7 +1217,7 @@ def create_remediation_run(ctx, from_json, wait_for_state, max_wait_seconds, wai
@vulnerability_audit_group.command(name=cli_util.override('adm.create_vulnerability_audit.command_name', 'create'), help=u"""Creates a new Vulnerability Audit by providing a tree of Application Dependencies. \n[Command Reference](createVulnerabilityAudit)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The Oracle Cloud identifier ([OCID]) of the knowledge base.""")
-@cli_util.option('--compartment-id', help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
@cli_util.option('--application-dependencies', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of application dependencies (without vulnerabilities).
This option is a JSON list with items of type ApplicationDependency. For documentation on ApplicationDependency please see our API reference: https://docs.cloud.oracle.com/api/#/en/applicationdependencymanagement/20220421/datatypes/ApplicationDependency.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1310,7 +1310,7 @@ def create_vulnerability_audit(ctx, from_json, wait_for_state, max_wait_seconds,
@cli_util.option('--usage-data-bucket-name', required=True, help=u"""The Object Storage bucket to read the usage data from.""")
@cli_util.option('--usage-data-namespace-name', required=True, help=u"""The Object Storage namespace to read the usage data from.""")
@cli_util.option('--usage-data-object-name', required=True, help=u"""The Object Storage object name to read the usage data from.""")
-@cli_util.option('--compartment-id', help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
@cli_util.option('--application-dependencies', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of application dependencies (without vulnerabilities).
This option is a JSON list with items of type ApplicationDependency. For documentation on ApplicationDependency please see our API reference: https://docs.cloud.oracle.com/api/#/en/applicationdependencymanagement/20220421/datatypes/ApplicationDependency.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1402,7 +1402,7 @@ def create_vulnerability_audit_usage_data_via_object_storage_tuple_details(ctx,
@vulnerability_audit_group.command(name=cli_util.override('adm.create_vulnerability_audit_unknown_source_vulnerability_audit_source.command_name', 'create-vulnerability-audit-unknown-source-vulnerability-audit-source'), help=u"""Creates a new Vulnerability Audit by providing a tree of Application Dependencies. \n[Command Reference](createVulnerabilityAudit)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The Oracle Cloud identifier ([OCID]) of the knowledge base.""")
-@cli_util.option('--compartment-id', help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
@cli_util.option('--application-dependencies', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of application dependencies (without vulnerabilities).
This option is a JSON list with items of type ApplicationDependency. For documentation on ApplicationDependency please see our API reference: https://docs.cloud.oracle.com/api/#/en/applicationdependencymanagement/20220421/datatypes/ApplicationDependency.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1492,7 +1492,7 @@ def create_vulnerability_audit_unknown_source_vulnerability_audit_source(ctx, fr
@vulnerability_audit_group.command(name=cli_util.override('adm.create_vulnerability_audit_oci_resource_vulnerability_audit_source.command_name', 'create-vulnerability-audit-oci-resource-vulnerability-audit-source'), help=u"""Creates a new Vulnerability Audit by providing a tree of Application Dependencies. \n[Command Reference](createVulnerabilityAudit)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The Oracle Cloud identifier ([OCID]) of the knowledge base.""")
@cli_util.option('--source-oci-resource-id', required=True, help=u"""The Oracle Cloud identifier ([OCID]) of the OCI resource that triggered the vulnerability audit.""")
-@cli_util.option('--compartment-id', help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
@cli_util.option('--application-dependencies', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of application dependencies (without vulnerabilities).
This option is a JSON list with items of type ApplicationDependency. For documentation on ApplicationDependency please see our API reference: https://docs.cloud.oracle.com/api/#/en/applicationdependencymanagement/20220421/datatypes/ApplicationDependency.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1582,7 +1582,7 @@ def create_vulnerability_audit_oci_resource_vulnerability_audit_source(ctx, from
@vulnerability_audit_group.command(name=cli_util.override('adm.create_vulnerability_audit_external_resource_vulnerability_audit_source.command_name', 'create-vulnerability-audit-external-resource-vulnerability-audit-source'), help=u"""Creates a new Vulnerability Audit by providing a tree of Application Dependencies. \n[Command Reference](createVulnerabilityAudit)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The Oracle Cloud identifier ([OCID]) of the knowledge base.""")
-@cli_util.option('--compartment-id', help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment Oracle Cloud identifier ([OCID]) of the vulnerability audit. If compartment identifier is not provided the compartment of the associated knowledge base will be used instead.""")
@cli_util.option('--application-dependencies', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of application dependencies (without vulnerabilities).
This option is a JSON list with items of type ApplicationDependency. For documentation on ApplicationDependency please see our API reference: https://docs.cloud.oracle.com/api/#/en/applicationdependencymanagement/20220421/datatypes/ApplicationDependency.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2257,7 +2257,7 @@ def list_application_dependency_vulnerabilities(ctx, from_json, all_pages, page_
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -2319,7 +2319,7 @@ def list_knowledge_bases(ctx, from_json, all_pages, page_size, id, sort_by, life
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -2380,7 +2380,7 @@ def list_remediation_recipes(ctx, from_json, all_pages, page_size, id, sort_by,
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "timeFinished", "timeStarted", "displayName", "lifecycleState", "currentStageType"]), help=u"""The field used to sort Remediation Runs. Only one sort order is allowed. Default order for _timeCreated_ is **descending**. Default order for _timeFinished_ is **descending**. Default order for _timeStarted_ is **descending**. Default order for _displayName_ is **ascending alphabetical order**. Default order for _lifecycleState_ is the following sequence: **CREATING, ACTIVE, UPDATING, DELETING, DELETED, and FAILED**. Default order for currentStageType is the following sequence: **DETECT, RECOMMEND, VERIFY, and APPLY**.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@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.""")
@@ -2503,7 +2503,7 @@ def list_stages(ctx, from_json, all_pages, page_size, remediation_run_id, type,
@vulnerability_audit_group.command(name=cli_util.override('adm.list_vulnerability_audits.command_name', 'list'), help=u"""Returns a list of Vulnerability Audits based on the specified query parameters. At least one of id, compartmentId query parameter must be provided. \n[Command Reference](listVulnerabilityAudits)""")
@cli_util.option('--id', help=u"""A filter to return only resources that match the specified identifier. Required only if the compartmentId query parameter is not specified.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
@cli_util.option('--knowledge-base-id', help=u"""A filter to return only Vulnerability Audits that were created against the specified knowledge base.""")
@cli_util.option('--is-success', type=click.BOOL, help=u"""A filter to return only successful or failed Vulnerability Audits.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETED", "DELETING", "FAILED"]), help=u"""A filter to return only Vulnerability Audits that match the specified lifecycleState.""")
@@ -2693,7 +2693,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('adm.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that belong to the specified compartment identifier. Required only if the id query param is not specified.""")
@cli_util.option('--work-request-id', help=u"""The identifier of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources that match the specified OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The Oracle Cloud Identifier ([OCID]) of the resource affected by the work request.""")
diff --git a/services/ai_data_platform/src/oci_cli_ai_data_platform/generated/aidataplatform_cli.py b/services/ai_data_platform/src/oci_cli_ai_data_platform/generated/aidataplatform_cli.py
index 7e9b75d5..3333b2fc 100644
--- a/services/ai_data_platform/src/oci_cli_ai_data_platform/generated/aidataplatform_cli.py
+++ b/services/ai_data_platform/src/oci_cli_ai_data_platform/generated/aidataplatform_cli.py
@@ -97,7 +97,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@ai_data_platform_group.command(name=cli_util.override('ai_data_platform.change_ai_data_platform_compartment.command_name', 'change-compartment'), help=u"""Moves a AiDataPlatform 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](changeAiDataPlatformCompartment)""")
@cli_util.option('--ai-data-platform-id', required=True, help=u"""The [OCID] of the AiDataPlatform.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the AiDataPlatform to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the AiDataPlatform to.""")
@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.""")
@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.""")
@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.""")
@@ -157,7 +157,7 @@ def change_ai_data_platform_compartment(ctx, from_json, wait_for_state, max_wait
@ai_data_platform_group.command(name=cli_util.override('ai_data_platform.create_ai_data_platform.command_name', 'create'), help=u"""Creates a AiDataPlatform. \n[Command Reference](createAiDataPlatform)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the AiDataPlatform in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the AiDataPlatform in.""")
@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.""")
@cli_util.option('--ai-data-platform-type', help=u"""The AiDataPlatform type.""")
@cli_util.option('--default-workspace-name', help=u"""The name for the default workspace for the AiDataPlatform""")
@@ -343,7 +343,7 @@ def get_work_request(ctx, from_json, work_request_id):
@ai_data_platform_collection_group.command(name=cli_util.override('ai_data_platform.list_ai_data_platforms.command_name', 'list-ai-data-platforms'), help=u"""Gets a list of AiDataPlatforms. \n[Command Reference](listAiDataPlatforms)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--exclude-lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to exclude resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -525,7 +525,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('ai_data_platform.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py b/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py
index e623e920..e9675ddd 100644
--- a/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py
+++ b/services/ai_document/src/oci_cli_ai_service_document/generated/aiservicedocument_cli.py
@@ -219,7 +219,7 @@ def add_project_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@analyze_document_result_group.command(name=cli_util.override('ai_document.analyze_document.command_name', 'analyze-document'), help=u"""Perform different types of document analysis. \n[Command Reference](analyzeDocument)""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of document analysis requested.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--document', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "HEALTH_INSURANCE_ID"]), help=u"""The document type.""")
@@ -269,7 +269,7 @@ def analyze_document(ctx, from_json, features, document, compartment_id, output_
@cli_util.option('--document-namespace-name', required=True, help=u"""The Object Storage namespace.""")
@cli_util.option('--document-bucket-name', required=True, help=u"""The Object Storage bucket name.""")
@cli_util.option('--document-object-name', required=True, help=u"""The Object Storage object name.""")
-@cli_util.option('--compartment-id', help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "HEALTH_INSURANCE_ID"]), help=u"""The document type.""")
@@ -326,7 +326,7 @@ def analyze_document_object_storage_document_details(ctx, from_json, features, d
@analyze_document_result_group.command(name=cli_util.override('ai_document.analyze_document_inline_document_details.command_name', 'analyze-document-inline-document-details'), help=u"""Perform different types of document analysis. \n[Command Reference](analyzeDocument)""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of document analysis requested.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--document-data', required=True, help=u"""Raw document data with Base64 encoding.""")
-@cli_util.option('--compartment-id', help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', help=u"""The document language, abbreviated according to the BCP 47 syntax.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "HEALTH_INSURANCE_ID"]), help=u"""The document type.""")
@@ -431,7 +431,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@model_group.command(name=cli_util.override('ai_document.change_model_compartment.command_name', 'change-compartment'), help=u"""Moves a model from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeModelCompartment)""")
@cli_util.option('--model-id', required=True, help=u"""A unique model identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -465,7 +465,7 @@ def change_model_compartment(ctx, from_json, model_id, compartment_id, if_match,
@project_group.command(name=cli_util.override('ai_document.change_project_compartment.command_name', 'change-compartment'), help=u"""Move a project from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeProjectCompartment)""")
@cli_util.option('--project-id', required=True, help=u"""A unique project identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -499,7 +499,7 @@ def change_project_compartment(ctx, from_json, project_id, compartment_id, if_ma
@model_group.command(name=cli_util.override('ai_document.create_model.command_name', 'create'), help=u"""Create a new model. \n[Command Reference](createModel)""")
@cli_util.option('--model-type', required=True, help=u"""The type of the Document model.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project that contains the model.""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the model, which can be changed.""")
@cli_util.option('--description', help=u"""An optional description of the model.""")
@@ -619,7 +619,7 @@ def create_model(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@processor_job_group.command(name=cli_util.override('ai_document.create_processor_job.command_name', 'create'), help=u"""Create a processor job for document analysis. \n[Command Reference](createProcessorJob)""")
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--processor-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the processor job.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["SUCCEEDED", "FAILED", "ACCEPTED", "CANCELED", "IN_PROGRESS", "CANCELING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -677,7 +677,7 @@ def create_processor_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@processor_job_group.command(name=cli_util.override('ai_document.create_processor_job_inline_document_content.command_name', 'create-processor-job-inline-document-content'), help=u"""Create a processor job for document analysis. \n[Command Reference](createProcessorJob)""")
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--processor-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-data', required=True, help=u"""Raw document data with Base64 encoding.""")
@cli_util.option('--display-name', help=u"""The display name of the processor job.""")
@@ -743,7 +743,7 @@ def create_processor_job_inline_document_content(ctx, from_json, wait_for_state,
@processor_job_group.command(name=cli_util.override('ai_document.create_processor_job_object_storage_locations.command_name', 'create-processor-job-object-storage-locations'), help=u"""Create a processor job for document analysis. \n[Command Reference](createProcessorJob)""")
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--processor-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-object-locations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of ObjectLocations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the processor job.""")
@@ -806,7 +806,7 @@ def create_processor_job_object_storage_locations(ctx, from_json, wait_for_state
@processor_job_group.command(name=cli_util.override('ai_document.create_processor_job_invoice_processor_config.command_name', 'create-processor-job-invoice-processor-config'), help=u"""Create a processor job for document analysis. \n[Command Reference](createProcessorJob)""")
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--processor-config-normalization-fields', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the processor job.""")
@cli_util.option('--processor-config-model-id', help=u"""Unique identifier custom model OCID that should be used for inference.""")
@@ -872,7 +872,7 @@ def create_processor_job_invoice_processor_config(ctx, from_json, wait_for_state
@processor_job_group.command(name=cli_util.override('ai_document.create_processor_job_general_processor_config.command_name', 'create-processor-job-general-processor-config'), help=u"""Create a processor job for document analysis. \n[Command Reference](createProcessorJob)""")
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--processor-config-features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of document analysis requested.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the processor job.""")
@cli_util.option('--processor-config-document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS", "HEALTH_INSURANCE_ID"]), help=u"""The document type.""")
@@ -944,7 +944,7 @@ def create_processor_job_general_processor_config(ctx, from_json, wait_for_state
@project_group.command(name=cli_util.override('ai_document.create_project.command_name', 'create'), help=u"""Create a new project. \n[Command Reference](createProject)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the project, that can be changed.""")
@cli_util.option('--description', help=u"""An optional description of the project.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1154,7 +1154,7 @@ def get_model(ctx, from_json, model_id):
@model_type_info_group.command(name=cli_util.override('ai_document.get_model_type.command_name', 'get-model-type'), help=u"""Gets model capabilities \n[Command Reference](getModelType)""")
@cli_util.option('--model-type', required=True, help=u"""The type of the Document model.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--model-sub-type', help=u"""The sub type based upon model selected.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1247,7 +1247,7 @@ def get_work_request(ctx, from_json, work_request_id):
@model_group.command(name=cli_util.override('ai_document.list_models.command_name', 'list'), help=u"""Returns a list of models in a compartment. \n[Command Reference](listModels)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--project-id', help=u"""The ID of the project for which to list the objects.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The filter to match models with the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -1312,7 +1312,7 @@ def list_models(ctx, from_json, all_pages, page_size, compartment_id, project_id
@project_group.command(name=cli_util.override('ai_document.list_projects.command_name', 'list'), help=u"""Returns a list of projects. \n[Command Reference](listProjects)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The filter to match projects with the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The filter to find the project with the given identifier.""")
@@ -1488,7 +1488,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('ai_document.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources whose lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/ai_language/src/oci_cli_ai_service_language/generated/aiservicelanguage_cli.py b/services/ai_language/src/oci_cli_ai_service_language/generated/aiservicelanguage_cli.py
index 7119f14f..35317f06 100644
--- a/services/ai_language/src/oci_cli_ai_service_language/generated/aiservicelanguage_cli.py
+++ b/services/ai_language/src/oci_cli_ai_service_language/generated/aiservicelanguage_cli.py
@@ -190,7 +190,7 @@ def batch_detect_language_text_classification_group():
@cli_util.option('--should-ignore-transliteration', type=click.BOOL, help=u"""Specifies whether to consider or ignore transliteration. For example \"hi, aap kaise ho? sab kuch teek hai? I will call you tomorrow.\" would be detected as English when ignore transliteration=true, Hindi when ignoreTransliteration=false.""")
@cli_util.option('--chars-to-consider', type=click.INT, help=u"""default value is None. Specifies maximum number of characters to consider for determining the dominant language. If unspecified, then optimum number characters will be considered. If 0 is specified then all the characters are used to determine the language. If the value is greater than 0, then specified number of characters will be considered from the beginning of the text.""")
@cli_util.option('--endpoint-id', help=u"""The endpoint which have to be used for inferencing. If endpointId and compartmentId is provided, then inference will be served from custom model which is mapped to this Endpoint.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
@json_skeleton_utils.get_cli_json_input_option({'documents': {'module': 'ai_language', 'class': 'list[DominantLanguageDocument]'}})
@cli_util.help_option
@click.pass_context
@@ -281,7 +281,7 @@ def batch_detect_health_entity(ctx, from_json, endpoint_id, documents, alias, li
Limitations: - A batch may have up to 100 records. - A record may be up to 5000 characters long. - The total of characters to process in a request can be up to 20,000 characters. \n[Command Reference](batchDetectLanguageEntities)""")
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Documents for detect entities.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Unique name across user tenancy in a region to identify an endpoint to be used for inferencing.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
@cli_util.option('--endpoint-id', help=u"""The endpoint which have to be used for inferencing. If endpointId and compartmentId is provided, then inference will be served from custom model which is mapped to this Endpoint.""")
@json_skeleton_utils.get_cli_json_input_option({'documents': {'module': 'ai_language', 'class': 'list[TextDocument]'}})
@cli_util.help_option
@@ -319,7 +319,7 @@ def batch_detect_language_entities(ctx, from_json, documents, alias, compartment
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Documents for detect keyPhrases.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Unique name across user tenancy in a region to identify an endpoint to be used for inferencing.""")
@cli_util.option('--endpoint-id', help=u"""The endpoint which have to be used for inferencing. If endpointId and compartmentId is provided, then inference will be served from custom model which is mapped to this Endpoint.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
@json_skeleton_utils.get_cli_json_input_option({'documents': {'module': 'ai_language', 'class': 'list[TextDocument]'}})
@cli_util.help_option
@click.pass_context
@@ -356,7 +356,7 @@ def batch_detect_language_key_phrases(ctx, from_json, documents, alias, endpoint
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of documents to detect personal identification information.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Unique name across user tenancy in a region to identify an endpoint to be used for inferencing.""")
@cli_util.option('--endpoint-id', help=u"""The endpoint which have to be used for inferencing. If endpointId and compartmentId is provided, then inference will be served from custom model which is mapped to this Endpoint.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
@cli_util.option('--masking', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Mask recognized PII entities with different modes.
This option is a JSON dictionary of type dict(str, PiiEntityMasking). For documentation on PiiEntityMasking please see our API reference: https://docs.cloud.oracle.com/api/#/en/aiservicelanguage/20221001/datatypes/PiiEntityMasking.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -409,7 +409,7 @@ def batch_detect_language_pii_entities(ctx, from_json, documents, alias, endpoin
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Documents for detect sentiments.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Unique name across user tenancy in a region to identify an endpoint to be used for inferencing.""")
@cli_util.option('--endpoint-id', help=u"""The endpoint which have to be used for inferencing. If endpointId and compartmentId is provided, then inference will be served from custom model which is mapped to this Endpoint.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
@cli_util.option('--level', type=custom_types.CliCaseInsensitiveChoice(["ASPECT", "SENTENCE"]), multiple=True, help=u"""Set this parameter for sentence and aspect level sentiment analysis. Allowed values are: - ASPECT - SENTENCE""")
@json_skeleton_utils.get_cli_json_input_option({'documents': {'module': 'ai_language', 'class': 'list[TextDocument]'}})
@cli_util.help_option
@@ -452,7 +452,7 @@ def batch_detect_language_sentiments(ctx, from_json, documents, alias, endpoint_
Limitations: - A batch may have up to 100 records. - A record may be up to 5000 characters long. - The total of characters to process in a request can be up to 20,000 characters. \n[Command Reference](batchDetectLanguageTextClassification)""")
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Documents for detect text classification.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Unique name across user tenancy in a region to identify an endpoint to be used for inferencing.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
@cli_util.option('--endpoint-id', help=u"""The endpoint which have to be used for inferencing. If endpointId and compartmentId is provided, then inference will be served from custom model which is mapped to this Endpoint.""")
@json_skeleton_utils.get_cli_json_input_option({'documents': {'module': 'ai_language', 'class': 'list[TextDocument]'}})
@cli_util.help_option
@@ -489,7 +489,7 @@ def batch_detect_language_text_classification(ctx, from_json, documents, alias,
@cli_util.option('--alias', help=u"""Unique name to identify an endpoint to be used for inferencing""")
@cli_util.option('--endpoint-id', help=u"""The endpoint that has to be used for inferencing.""")
@cli_util.option('--no-translate', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of words not to be translated""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that calls the API, inference will be served from pre trained model""")
@cli_util.option('--target-language-code', help=u"""Language code supported Arabic - ar Brazilian Portuguese - pt-BR Canadian French - fr-CA Croatian - hr Czech - cs Danish - da Dutch - nl English - en Finnish - fi French - fr German - de Greek - el Hebrew - he Hungarian - hu Italian - it Japanese - ja Korean - ko Norwegian - no Polish - pl Portuguese - pt Romanian - ro Russian - ru Simplified Chinese - zh-CN Slovak - sk Slovenian - sl Spanish - es Swedish - sv Thai - th Traditional Chinese - zh-TW Turkish - tr Vietnamese - vi""")
@json_skeleton_utils.get_cli_json_input_option({'no-translate': {'module': 'ai_language', 'class': 'list[string]'}, 'documents': {'module': 'ai_language', 'class': 'list[TextDocument]'}})
@cli_util.help_option
@@ -554,7 +554,7 @@ def cancel_job(ctx, from_json, job_id, if_match):
@endpoint_group.command(name=cli_util.override('ai.change_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a Endpoint into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeEndpointCompartment)""")
@cli_util.option('--endpoint-id', required=True, help=u"""The OCID of the endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -585,7 +585,7 @@ def change_endpoint_compartment(ctx, from_json, endpoint_id, compartment_id, if_
@job_group.command(name=cli_util.override('ai.change_job_compartment.command_name', 'change-compartment'), help=u"""Moves a Job into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeJobCompartment)""")
@cli_util.option('--job-id', required=True, help=u"""unique job OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -616,7 +616,7 @@ def change_job_compartment(ctx, from_json, job_id, compartment_id, if_match):
@model_group.command(name=cli_util.override('ai.change_model_compartment.command_name', 'change-compartment'), help=u"""Moves a Model into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeModelCompartment)""")
@cli_util.option('--model-id', required=True, help=u"""unique model OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -647,7 +647,7 @@ def change_model_compartment(ctx, from_json, model_id, compartment_id, if_match)
@project_group.command(name=cli_util.override('ai.change_project_compartment.command_name', 'change-compartment'), help=u"""Moves a Project into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeProjectCompartment)""")
@cli_util.option('--project-id', required=True, help=u"""The OCID of the project.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -677,7 +677,7 @@ def change_project_compartment(ctx, from_json, project_id, compartment_id, if_ma
@endpoint_group.command(name=cli_util.override('ai.create_endpoint.command_name', 'create'), help=u"""Creates a new endpoint and deploy the trained model \n[Command Reference](createEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] compartment identifier for the endpoint""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] compartment identifier for the endpoint""")
@cli_util.option('--model-id', required=True, help=u"""The [OCID] of the model to associate with the endpoint.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It should be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--alias', help=u"""Unique name across user tenancy in a region to identify an endpoint to be used for inferencing.""")
@@ -756,7 +756,7 @@ def create_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@job_group.command(name=cli_util.override('ai.create_job.command_name', 'create'), help=u"""Creates a new language service async job. \n[Command Reference](createJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--model-metadata-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""training model details For this release only one model is allowed to be input here. One of the three modelType, ModelId, endpointId should be given other wise error will be thrown from API""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -827,7 +827,7 @@ def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@job_group.command(name=cli_util.override('ai.create_job_object_storage_prefix_location.command_name', 'create-job-object-storage-prefix-location'), help=u"""Creates a new language service async job. \n[Command Reference](createJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--model-metadata-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""training model details For this release only one model is allowed to be input here. One of the three modelType, ModelId, endpointId should be given other wise error will be thrown from API""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-namespace-name', required=True, help=u"""Object Storage namespace name.""")
@@ -907,7 +907,7 @@ def create_job_object_storage_prefix_location(ctx, from_json, wait_for_state, ma
@job_group.command(name=cli_util.override('ai.create_job_object_storage_file_name_location.command_name', 'create-job-object-storage-file-name-location'), help=u"""Creates a new language service async job. \n[Command Reference](createJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--model-metadata-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""training model details For this release only one model is allowed to be input here. One of the three modelType, ModelId, endpointId should be given other wise error will be thrown from API""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-namespace-name', required=True, help=u"""Object Storage namespace name.""")
@@ -985,7 +985,7 @@ def create_job_object_storage_file_name_location(ctx, from_json, wait_for_state,
@model_group.command(name=cli_util.override('ai.create_model.command_name', 'create'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--model-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@@ -1066,7 +1066,7 @@ def create_model(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_key_phrase_extraction_model_details.command_name', 'create-model-pre-trained-key-phrase-extraction-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1156,7 +1156,7 @@ def create_model_pre_trained_key_phrase_extraction_model_details(ctx, from_json,
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_translation_model_details.command_name', 'create-model-pre-trained-translation-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1246,7 +1246,7 @@ def create_model_pre_trained_translation_model_details(ctx, from_json, wait_for_
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_health_nlu_model_details.command_name', 'create-model-pre-trained-health-nlu-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1336,7 +1336,7 @@ def create_model_pre_trained_health_nlu_model_details(ctx, from_json, wait_for_s
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_universal_model.command_name', 'create-model-pre-trained-universal-model'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1426,7 +1426,7 @@ def create_model_pre_trained_universal_model(ctx, from_json, wait_for_state, max
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_language_detection_model_details.command_name', 'create-model-pre-trained-language-detection-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1516,7 +1516,7 @@ def create_model_pre_trained_language_detection_model_details(ctx, from_json, wa
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_sentiment_analysis_model_details.command_name', 'create-model-pre-trained-sentiment-analysis-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1606,7 +1606,7 @@ def create_model_pre_trained_sentiment_analysis_model_details(ctx, from_json, wa
@model_group.command(name=cli_util.override('ai.create_model_text_classification_model_details.command_name', 'create-model-text-classification-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1696,7 +1696,7 @@ def create_model_text_classification_model_details(ctx, from_json, wait_for_stat
@model_group.command(name=cli_util.override('ai.create_model_health_nlu_model_details.command_name', 'create-model-health-nlu-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1786,7 +1786,7 @@ def create_model_health_nlu_model_details(ctx, from_json, wait_for_state, max_wa
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_summarization.command_name', 'create-model-pre-trained-summarization'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1876,7 +1876,7 @@ def create_model_pre_trained_summarization(ctx, from_json, wait_for_state, max_w
@model_group.command(name=cli_util.override('ai.create_model_named_entity_recognition_model_details.command_name', 'create-model-named-entity-recognition-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -1966,7 +1966,7 @@ def create_model_named_entity_recognition_model_details(ctx, from_json, wait_for
@model_group.command(name=cli_util.override('ai.create_model_pii_model_details.command_name', 'create-model-pii-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -2056,7 +2056,7 @@ def create_model_pii_model_details(ctx, from_json, wait_for_state, max_wait_seco
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_named_entity_recognition_model_details.command_name', 'create-model-pre-trained-named-entity-recognition-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -2146,7 +2146,7 @@ def create_model_pre_trained_named_entity_recognition_model_details(ctx, from_js
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_text_classification_model_details.command_name', 'create-model-pre-trained-text-classification-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -2236,7 +2236,7 @@ def create_model_pre_trained_text_classification_model_details(ctx, from_json, w
@model_group.command(name=cli_util.override('ai.create_model_pre_trained_pii_model_details.command_name', 'create-model-pre-trained-pii-model-details'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the a model.""")
@@ -2326,7 +2326,7 @@ def create_model_pre_trained_pii_model_details(ctx, from_json, wait_for_state, m
@model_group.command(name=cli_util.override('ai.create_model_data_science_labeling_dataset.command_name', 'create-model-data-science-labeling-dataset'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--model-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--training-dataset-dataset-id', required=True, help=u"""Data Science Labelling Service OCID""")
@@ -2408,7 +2408,7 @@ def create_model_data_science_labeling_dataset(ctx, from_json, wait_for_state, m
@model_group.command(name=cli_util.override('ai.create_model_object_storage_dataset.command_name', 'create-model-object-storage-dataset'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--model-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--training-dataset-location-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2490,7 +2490,7 @@ def create_model_object_storage_dataset(ctx, from_json, wait_for_state, max_wait
@model_group.command(name=cli_util.override('ai.create_model_test_and_validation_dataset_strategy.command_name', 'create-model-test-and-validation-dataset-strategy'), help=u"""Creates a new model for training and train the model with date provided. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the models compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the models compartment.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--model-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--test-strategy-testing-dataset', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2576,7 +2576,7 @@ def create_model_test_and_validation_dataset_strategy(ctx, from_json, wait_for_s
@project_group.command(name=cli_util.override('ai.create_project.command_name', 'create'), help=u"""Creates a new Project. \n[Command Reference](createProject)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the project's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the project's compartment.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the project.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3150,7 +3150,7 @@ def get_work_request(ctx, from_json, work_request_id):
@endpoint_group.command(name=cli_util.override('ai.list_endpoints.command_name', 'list'), help=u"""Returns a list of Endpoints. \n[Command Reference](listEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--endpoint-id', help=u"""The OCID of the endpoint.""")
@cli_util.option('--project-id', help=u"""The ID of the project for which to list the objects.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -3270,7 +3270,7 @@ def list_evaluation_results(ctx, from_json, all_pages, page_size, model_id, limi
@job_group.command(name=cli_util.override('ai.list_jobs.command_name', 'list'), help=u"""Returns a list of language service async Jobs. \n[Command Reference](listJobs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "CANCELING", "CANCELED", "DELETING", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique identifier(OCID).""")
@@ -3333,7 +3333,7 @@ def list_jobs(ctx, from_json, all_pages, page_size, compartment_id, lifecycle_st
@model_group.command(name=cli_util.override('ai.list_models.command_name', 'list'), help=u"""Returns a list of models. \n[Command Reference](listModels)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--model-id', help=u"""unique model OCID.""")
@cli_util.option('--project-id', help=u"""The ID of the project for which to list the objects.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["DELETING", "DELETED", "FAILED", "CREATING", "ACTIVE", "UPDATING"]), help=u"""Filter results by the specified lifecycle state. Must be a valid state for the resource type.""")
@@ -3399,7 +3399,7 @@ def list_models(ctx, from_json, all_pages, page_size, compartment_id, model_id,
@project_group.command(name=cli_util.override('ai.list_projects.command_name', 'list'), help=u"""Returns a list of Projects. \n[Command Reference](listProjects)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["DELETING", "DELETED", "FAILED", "CREATING", "ACTIVE", "UPDATING"]), help=u"""Filter results by the specified lifecycle state. Must be a valid state for the resource type.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -3576,7 +3576,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('ai.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/ai_speech/src/oci_cli_ai_service_speech/generated/aiservicespeech_cli.py b/services/ai_speech/src/oci_cli_ai_service_speech/generated/aiservicespeech_cli.py
index 88c3e239..93281a32 100644
--- a/services/ai_speech/src/oci_cli_ai_service_speech/generated/aiservicespeech_cli.py
+++ b/services/ai_speech/src/oci_cli_ai_service_speech/generated/aiservicespeech_cli.py
@@ -123,7 +123,7 @@ def cancel_transcription_task(ctx, from_json, transcription_job_id, transcriptio
@customization_group.command(name=cli_util.override('speech.change_customization_compartment.command_name', 'change-compartment'), help=u"""Moves a Customization resource into a different compartment. \n[Command Reference](changeCustomizationCompartment)""")
@cli_util.option('--customization-id', required=True, help=u"""Unique Customization training Job identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -154,7 +154,7 @@ def change_customization_compartment(ctx, from_json, customization_id, compartme
@transcription_job_group.command(name=cli_util.override('speech.change_transcription_job_compartment.command_name', 'change-compartment'), help=u"""Moves a transcription Job resource into a different compartment. \n[Command Reference](changeTranscriptionJobCompartment)""")
@cli_util.option('--transcription-job-id', required=True, help=u"""Unique Transcription Job identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -184,7 +184,7 @@ def change_transcription_job_compartment(ctx, from_json, transcription_job_id, c
@customization_group.command(name=cli_util.override('speech.create_customization.command_name', 'create'), help=u"""Creates a new Customization. \n[Command Reference](createCustomization)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--model-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--training-dataset', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Customization Details Alias""")
@@ -257,7 +257,7 @@ def create_customization(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@customization_group.command(name=cli_util.override('speech.create_customization_object_storage_dataset.command_name', 'create-customization-object-storage-dataset'), help=u"""Creates a new Customization. \n[Command Reference](createCustomization)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--model-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--training-dataset-location-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Customization Details Alias""")
@@ -337,7 +337,7 @@ def create_customization_object_storage_dataset(ctx, from_json, wait_for_state,
@customization_group.command(name=cli_util.override('speech.create_customization_entity_list_dataset.command_name', 'create-customization-entity-list-dataset'), help=u"""Creates a new Customization. \n[Command Reference](createCustomization)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--model-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--alias', help=u"""Customization Details Alias""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the job.""")
@@ -421,7 +421,7 @@ def create_customization_entity_list_dataset(ctx, from_json, wait_for_state, max
@realtime_session_token_group.command(name=cli_util.override('speech.create_realtime_session_token.command_name', 'create'), help=u"""Returns an authentication token to the user. \n[Command Reference](createRealtimeSessionToken)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace-1\": {\"bar-key-1\": \"value-1\", \"bar-key-2\": \"value-2\"}, \"foo-namespace-2\": {\"bar-key-1\": \"value-1\", \"bar-key-2\": \"value-2\"}}`.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'freeform-tags': {'module': 'ai_speech', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'ai_speech', 'class': 'dict(str, dict(str, object))'}})
@@ -452,7 +452,7 @@ def create_realtime_session_token(ctx, from_json, compartment_id, freeform_tags,
@transcription_job_group.command(name=cli_util.override('speech.create_transcription_job.command_name', 'create'), help=u"""Creates a new Transcription Job. \n[Command Reference](createTranscriptionJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the job.""")
@@ -533,7 +533,7 @@ def create_transcription_job(ctx, from_json, wait_for_state, max_wait_seconds, w
@transcription_job_group.command(name=cli_util.override('speech.create_transcription_job_object_list_file_input_location.command_name', 'create-transcription-job-object-list-file-input-location'), help=u"""Creates a new Transcription Job. \n[Command Reference](createTranscriptionJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-object-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the job.""")
@@ -617,7 +617,7 @@ def create_transcription_job_object_list_file_input_location(ctx, from_json, wai
@transcription_job_group.command(name=cli_util.override('speech.create_transcription_job_object_list_inline_input_location.command_name', 'create-transcription-job-object-list-inline-input-location'), help=u"""Creates a new Transcription Job. \n[Command Reference](createTranscriptionJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-object-locations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of ObjectLocations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the job.""")
@@ -900,7 +900,7 @@ def get_transcription_task(ctx, from_json, transcription_job_id, transcription_t
@customization_group.command(name=cli_util.override('speech.list_customizations.command_name', 'list'), help=u"""Returns a list of Customizations. \n[Command Reference](listCustomizations)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["DELETING", "DELETED", "FAILED", "UPDATING", "ACTIVE", "CREATING"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique identifier(OCID).""")
@@ -962,7 +962,7 @@ def list_customizations(ctx, from_json, all_pages, page_size, compartment_id, li
@transcription_job_group.command(name=cli_util.override('speech.list_transcription_jobs.command_name', 'list'), help=u"""Returns a list of Transcription Jobs. \n[Command Reference](listTranscriptionJobs)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique identifier(OCID).""")
@@ -1090,7 +1090,7 @@ def list_transcription_tasks(ctx, from_json, all_pages, page_size, transcription
@voice_group.command(name=cli_util.override('speech.list_voices.command_name', 'list'), help=u"""Returns a list of speakers available to the user to choose from based on language code and voice type provided. \n[Command Reference](listVoices)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--model-name', type=custom_types.CliCaseInsensitiveChoice(["TTS_1_STANDARD", "TTS_2_NATURAL"]), help=u"""The model name to filter voices for given model name.""")
@cli_util.option('--language-code', help=u"""The Code or Id of the language to filter voices for given language code.""")
@cli_util.option('--display-name', help=u"""The name of the speaker voice in which the user wants tts inference to be.""")
@@ -1123,7 +1123,7 @@ def list_voices(ctx, from_json, all_pages, compartment_id, model_name, language_
@cli_util.option('--text', required=True, help=u"""The text input to get the inference audio from TTS Service.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@cli_util.option('--is-stream-enabled', type=click.BOOL, help=u"""If set to true, response will be sent in the chunked transfer-encoding and audio chunks are sent back as and when they are ready. If set to false, response will be sent only once the entire audio is generated.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where the user has access to call `SpeechSynthesize` api. But default user access will be checked at tenancy level.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the user has access to call `SpeechSynthesize` api. But default user access will be checked at tenancy level.""")
@cli_util.option('--configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--audio-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'configuration': {'module': 'ai_speech', 'class': 'TtsConfiguration'}, 'audio-config': {'module': 'ai_speech', 'class': 'TtsAudioConfig'}})
@@ -1185,7 +1185,7 @@ def synthesize_speech(ctx, from_json, file, text, is_stream_enabled, compartment
@cli_util.option('--text', required=True, help=u"""The text input to get the inference audio from TTS Service.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@cli_util.option('--is-stream-enabled', type=click.BOOL, help=u"""If set to true, response will be sent in the chunked transfer-encoding and audio chunks are sent back as and when they are ready. If set to false, response will be sent only once the entire audio is generated.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where the user has access to call `SpeechSynthesize` api. But default user access will be checked at tenancy level.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the user has access to call `SpeechSynthesize` api. But default user access will be checked at tenancy level.""")
@cli_util.option('--audio-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--configuration-model-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--configuration-speech-settings', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1255,7 +1255,7 @@ def synthesize_speech_tts_oracle_configuration(ctx, from_json, file, text, is_st
@cli_util.option('--audio-config-save-path', required=True, help=u"""Specify the path where you want to save the audio response.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@cli_util.option('--is-stream-enabled', type=click.BOOL, help=u"""If set to true, response will be sent in the chunked transfer-encoding and audio chunks are sent back as and when they are ready. If set to false, response will be sent only once the entire audio is generated.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where the user has access to call `SpeechSynthesize` api. But default user access will be checked at tenancy level.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the user has access to call `SpeechSynthesize` api. But default user access will be checked at tenancy level.""")
@cli_util.option('--configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'configuration': {'module': 'ai_speech', 'class': 'TtsConfiguration'}})
@cli_util.help_option
diff --git a/services/ai_vision/src/oci_cli_ai_service_vision/generated/aiservicevision_cli.py b/services/ai_vision/src/oci_cli_ai_service_vision/generated/aiservicevision_cli.py
index bab55ef2..82f20b60 100644
--- a/services/ai_vision/src/oci_cli_ai_service_vision/generated/aiservicevision_cli.py
+++ b/services/ai_vision/src/oci_cli_ai_service_vision/generated/aiservicevision_cli.py
@@ -167,7 +167,7 @@ def vision_private_endpoint_collection_group():
@analyze_document_result_group.command(name=cli_util.override('ai_vision.analyze_document.command_name', 'analyze-document'), help=u"""Perform different types of image analysis. \n[Command Reference](analyzeDocument)""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of document analysis requested.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--document', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that calls the API.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that calls the API.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', type=custom_types.CliCaseInsensitiveChoice(["ENG", "CES", "DAN", "NLD", "FIN", "FRA", "DEU", "ELL", "HUN", "ITA", "NOR", "POL", "POR", "RON", "RUS", "SLK", "SPA", "SWE", "TUR", "ARA", "CHI_SIM", "HIN", "JPN", "KOR", "OTHERS"]), help=u"""The document language, abbreviated according to ISO 639-2.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""")
@@ -210,7 +210,7 @@ def analyze_document(ctx, from_json, features, document, compartment_id, output_
@cli_util.option('--document-namespace-name', required=True, help=u"""The Object Storage namespace.""")
@cli_util.option('--document-bucket-name', required=True, help=u"""The Object Storage bucket name.""")
@cli_util.option('--document-object-name', required=True, help=u"""The Object Storage object name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that calls the API.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that calls the API.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', type=custom_types.CliCaseInsensitiveChoice(["ENG", "CES", "DAN", "NLD", "FIN", "FRA", "DEU", "ELL", "HUN", "ITA", "NOR", "POL", "POR", "RON", "RUS", "SLK", "SPA", "SWE", "TUR", "ARA", "CHI_SIM", "HIN", "JPN", "KOR", "OTHERS"]), help=u"""The document language, abbreviated according to ISO 639-2.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""")
@@ -256,7 +256,7 @@ def analyze_document_object_storage_document_details(ctx, from_json, features, d
@analyze_document_result_group.command(name=cli_util.override('ai_vision.analyze_document_inline_document_details.command_name', 'analyze-document-inline-document-details'), help=u"""Perform different types of image analysis. \n[Command Reference](analyzeDocument)""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of document analysis requested.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--document-data', required=True, help=u"""Raw document data.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that calls the API.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that calls the API.""")
@cli_util.option('--output-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language', type=custom_types.CliCaseInsensitiveChoice(["ENG", "CES", "DAN", "NLD", "FIN", "FRA", "DEU", "ELL", "HUN", "ITA", "NOR", "POL", "POR", "RON", "RUS", "SLK", "SPA", "SWE", "TUR", "ARA", "CHI_SIM", "HIN", "JPN", "KOR", "OTHERS"]), help=u"""The document language, abbreviated according to ISO 639-2.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The document type.""")
@@ -300,7 +300,7 @@ def analyze_document_inline_document_details(ctx, from_json, features, document_
@analyze_image_result_group.command(name=cli_util.override('ai_vision.analyze_image.command_name', 'analyze-image'), help=u"""Perform different types of image analysis. \n[Command Reference](analyzeImage)""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of image analysis.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--image', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that calls the API.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that calls the API.""")
@json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_vision', 'class': 'list[ImageFeature]'}, 'image': {'module': 'ai_vision', 'class': 'ImageDetails'}})
@cli_util.help_option
@click.pass_context
@@ -331,7 +331,7 @@ def analyze_image(ctx, from_json, features, image, compartment_id):
@cli_util.option('--image-namespace-name', required=True, help=u"""The Object Storage namespace.""")
@cli_util.option('--image-bucket-name', required=True, help=u"""The Object Storage bucket name.""")
@cli_util.option('--image-object-name', required=True, help=u"""The Object Storage object name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that calls the API.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that calls the API.""")
@json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_vision', 'class': 'list[ImageFeature]'}})
@cli_util.help_option
@click.pass_context
@@ -365,7 +365,7 @@ def analyze_image_object_storage_image_details(ctx, from_json, features, image_n
@analyze_image_result_group.command(name=cli_util.override('ai_vision.analyze_image_inline_image_details.command_name', 'analyze-image-inline-image-details'), help=u"""Perform different types of image analysis. \n[Command Reference](analyzeImage)""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The types of image analysis.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--image-data', required=True, help=u"""Raw image data.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that calls the API.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that calls the API.""")
@json_skeleton_utils.get_cli_json_input_option({'features': {'module': 'ai_vision', 'class': 'list[ImageFeature]'}})
@cli_util.help_option
@click.pass_context
@@ -497,7 +497,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@model_group.command(name=cli_util.override('ai_vision.change_model_compartment.command_name', 'change-compartment'), help=u"""Moves a model from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeModelCompartment)""")
@cli_util.option('--model-id', required=True, help=u"""A unique model identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the model should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the model should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -528,7 +528,7 @@ def change_model_compartment(ctx, from_json, model_id, compartment_id, if_match)
@project_group.command(name=cli_util.override('ai_vision.change_project_compartment.command_name', 'change-compartment'), help=u"""Move a project from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeProjectCompartment)""")
@cli_util.option('--project-id', required=True, help=u"""A unique project identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the project should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the project should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -559,7 +559,7 @@ def change_project_compartment(ctx, from_json, project_id, compartment_id, if_ma
@stream_group_group.command(name=cli_util.override('ai_vision.change_stream_group_compartment.command_name', 'change-compartment'), help=u"""Move a streamGroup from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeStreamGroupCompartment)""")
@cli_util.option('--stream-group-id', required=True, help=u"""StreamGroup Id.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the streamGroup should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the streamGroup should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -620,7 +620,7 @@ def change_stream_group_compartment(ctx, from_json, wait_for_state, max_wait_sec
@stream_job_group.command(name=cli_util.override('ai_vision.change_stream_job_compartment.command_name', 'change-compartment'), help=u"""Move a streamJob from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeStreamJobCompartment)""")
@cli_util.option('--stream-job-id', required=True, help=u"""Stream job id.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the streamJob should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the streamJob should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -681,7 +681,7 @@ def change_stream_job_compartment(ctx, from_json, wait_for_state, max_wait_secon
@stream_source_group.command(name=cli_util.override('ai_vision.change_stream_source_compartment.command_name', 'change-compartment'), help=u"""Move a streamSource from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeStreamSourceCompartment)""")
@cli_util.option('--stream-source-id', required=True, help=u"""StreamSource Id.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the streamSource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the streamSource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -742,7 +742,7 @@ def change_stream_source_compartment(ctx, from_json, wait_for_state, max_wait_se
@vision_private_endpoint_group.command(name=cli_util.override('ai_vision.change_vision_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Move a visionPrivateEndpoint from one compartment to another. When provided, If-Match is checked against the ETag values of the resource. \n[Command Reference](changeVisionPrivateEndpointCompartment)""")
@cli_util.option('--vision-private-endpoint-id', required=True, help=u"""Vision private endpoint Id.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the visionPrivateEndpoint should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the visionPrivateEndpoint should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -775,7 +775,7 @@ def change_vision_private_endpoint_compartment(ctx, from_json, vision_private_en
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of requested document analysis types.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The compartment identifier from the requester.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment identifier from the requester.""")
@cli_util.option('--display-name', help=u"""The document job display name.""")
@cli_util.option('--language', type=custom_types.CliCaseInsensitiveChoice(["ENG", "CES", "DAN", "NLD", "FIN", "FRA", "DEU", "ELL", "HUN", "ITA", "NOR", "POL", "POR", "RON", "RUS", "SLK", "SPA", "SWE", "TUR", "ARA", "CHI_SIM", "HIN", "JPN", "KOR", "OTHERS"]), help=u"""The language of the document, abbreviated according to ISO 639-2.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The type of documents.""")
@@ -848,7 +848,7 @@ def create_document_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of requested document analysis types.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-object-locations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of ObjectLocations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The compartment identifier from the requester.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment identifier from the requester.""")
@cli_util.option('--display-name', help=u"""The document job display name.""")
@cli_util.option('--language', type=custom_types.CliCaseInsensitiveChoice(["ENG", "CES", "DAN", "NLD", "FIN", "FRA", "DEU", "ELL", "HUN", "ITA", "NOR", "POL", "POR", "RON", "RUS", "SLK", "SPA", "SWE", "TUR", "ARA", "CHI_SIM", "HIN", "JPN", "KOR", "OTHERS"]), help=u"""The language of the document, abbreviated according to ISO 639-2.""")
@cli_util.option('--document-type', type=custom_types.CliCaseInsensitiveChoice(["INVOICE", "RECEIPT", "RESUME", "TAX_FORM", "DRIVER_LICENSE", "PASSPORT", "BANK_STATEMENT", "CHECK", "PAYSLIP", "OTHERS"]), help=u"""The type of documents.""")
@@ -924,7 +924,7 @@ def create_document_job_object_list_inline_input_location(ctx, from_json, wait_f
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of requested image analysis types.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The compartment identifier from the requester.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment identifier from the requester.""")
@cli_util.option('--display-name', help=u"""The image job display name.""")
@cli_util.option('--is-zip-output-enabled', type=click.BOOL, help=u"""Whether or not to generate a ZIP file containing the results.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["SUCCEEDED", "FAILED", "ACCEPTED", "CANCELED", "IN_PROGRESS", "CANCELING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -989,7 +989,7 @@ def create_image_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of requested image analysis types.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-object-locations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of ObjectLocations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The compartment identifier from the requester.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment identifier from the requester.""")
@cli_util.option('--display-name', help=u"""The image job display name.""")
@cli_util.option('--is-zip-output-enabled', type=click.BOOL, help=u"""Whether or not to generate a ZIP file containing the results.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["SUCCEEDED", "FAILED", "ACCEPTED", "CANCELED", "IN_PROGRESS", "CANCELING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -1055,7 +1055,7 @@ def create_image_job_object_list_inline_input_location(ctx, from_json, wait_for_
@model_group.command(name=cli_util.override('ai_vision.create_model.command_name', 'create'), help=u"""Create a new model. \n[Command Reference](createModel)""")
@cli_util.option('--model-type', required=True, help=u"""Which type of Vision model this is.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--training-dataset', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project that contains the model.""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the model, which can be changed.""")
@@ -1149,7 +1149,7 @@ def create_model(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@project_group.command(name=cli_util.override('ai_vision.create_project.command_name', 'create'), help=u"""Create a new project. \n[Command Reference](createProject)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the project, that can be changed.""")
@cli_util.option('--description', help=u"""An optional description of the project.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1218,7 +1218,7 @@ def create_project(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@stream_group_group.command(name=cli_util.override('ai_vision.create_stream_group.command_name', 'create'), help=u"""Registration of new streamGroup \n[Command Reference](createStreamGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""[OCID] of compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""[OCID] of compartment""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the streamGroup.""")
@cli_util.option('--is-enabled', type=click.BOOL, help=u"""Stream""")
@cli_util.option('--stream-source-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of streamSource OCIDs associated with the stream group""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1300,7 +1300,7 @@ def create_stream_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@cli_util.option('--stream-source-id', required=True, help=u"""[OCID] of streamSource.""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""a list of stream analysis features.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--stream-output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""[OCID] of the compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""[OCID] of the compartment""")
@cli_util.option('--display-name', help=u"""Stream job display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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 example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1370,7 +1370,7 @@ def create_stream_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@stream_job_group.command(name=cli_util.override('ai_vision.create_stream_job_object_storage_output_location.command_name', 'create-stream-job-object-storage-output-location'), help=u"""Create a stream analysis job with given inputs and features. \n[Command Reference](createStreamJob)""")
@cli_util.option('--stream-source-id', required=True, help=u"""[OCID] of streamSource.""")
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""a list of stream analysis features.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""[OCID] of the compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""[OCID] of the compartment""")
@cli_util.option('--stream-output-location-namespace-name', required=True, help=u"""The Object Storage namespace.""")
@cli_util.option('--stream-output-location-bucket-name', required=True, help=u"""The Object Storage bucket name.""")
@cli_util.option('--stream-output-location-prefix', required=True, help=u"""The Object Storage folder name.""")
@@ -1447,7 +1447,7 @@ def create_stream_job_object_storage_output_location(ctx, from_json, wait_for_st
@stream_source_group.command(name=cli_util.override('ai_vision.create_stream_source.command_name', 'create'), help=u"""Registration of new streamSource \n[Command Reference](createStreamSource)""")
@cli_util.option('--stream-source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""[OCID] of compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""[OCID] of compartment""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the streamSource.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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 example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1513,7 +1513,7 @@ def create_stream_source(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@stream_source_group.command(name=cli_util.override('ai_vision.create_stream_source_rtsp_source_details.command_name', 'create-stream-source-rtsp-source-details'), help=u"""Registration of new streamSource \n[Command Reference](createStreamSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""[OCID] of compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""[OCID] of compartment""")
@cli_util.option('--stream-source-details-stream-network-access-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--stream-source-details-camera-url', required=True, help=u"""url of camera""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the streamSource.""")
@@ -1592,7 +1592,7 @@ def create_stream_source_rtsp_source_details(ctx, from_json, wait_for_state, max
@cli_util.option('--input-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""a list of video analysis features.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""Compartment identifier from the requester.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment identifier from the requester.""")
@cli_util.option('--display-name', help=u"""Video job display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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 example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1661,7 +1661,7 @@ def create_video_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@cli_util.option('--features', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""a list of video analysis features.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--output-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--input-location-object-locations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of ObjectLocations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""Compartment identifier from the requester.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment identifier from the requester.""")
@cli_util.option('--display-name', help=u"""Video job display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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 example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1730,8 +1730,8 @@ def create_video_job_object_list_inline_input_location(ctx, from_json, wait_for_
@vision_private_endpoint_group.command(name=cli_util.override('ai_vision.create_vision_private_endpoint.command_name', 'create'), help=u"""Create a new visionPrivateEndpoint. \n[Command Reference](createVisionPrivateEndpoint)""")
-@cli_util.option('--subnet-id', required=True, help=u"""[OCID] of subnet""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment identifier.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""[OCID] of subnet""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment identifier.""")
@cli_util.option('--display-name', help=u"""A human-friendly name for the visionPrivateEndpoint, that can be changed.""")
@cli_util.option('--description', help=u"""An optional description of the visionPrivateEndpoint.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2357,7 +2357,7 @@ def get_work_request(ctx, from_json, work_request_id):
@model_collection_group.command(name=cli_util.override('ai_vision.list_models.command_name', 'list-models'), help=u"""Returns a list of models in a compartment. \n[Command Reference](listModels)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--project-id', help=u"""The ID of the project for which to list the objects.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The filter to match models with the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -2422,7 +2422,7 @@ def list_models(ctx, from_json, all_pages, page_size, compartment_id, project_id
@project_collection_group.command(name=cli_util.override('ai_vision.list_projects.command_name', 'list-projects'), help=u"""Returns a list of projects. \n[Command Reference](listProjects)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The filter to match projects with the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The filter to find the project with the given identifier.""")
@@ -2484,7 +2484,7 @@ def list_projects(ctx, from_json, all_pages, page_size, compartment_id, lifecycl
@stream_group_collection_group.command(name=cli_util.override('ai_vision.list_stream_groups.command_name', 'list-stream-groups'), help=u"""Gets a list of the streamGroups in the specified compartment. \n[Command Reference](listStreamGroups)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The filter to find the device with the given identifier.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -2543,7 +2543,7 @@ def list_stream_groups(ctx, from_json, all_pages, page_size, compartment_id, id,
@stream_job_collection_group.command(name=cli_util.override('ai_vision.list_stream_jobs.command_name', 'list-stream-jobs'), help=u"""Get list of stream jobs \n[Command Reference](listStreamJobs)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "INACTIVE", "NEEDS_ATTENTION"]), help=u"""The filter to match projects with the given lifecycleState.""")
@cli_util.option('--id', help=u"""The filter to find the streamjob with the given identifier.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -2605,7 +2605,7 @@ def list_stream_jobs(ctx, from_json, all_pages, page_size, compartment_id, lifec
@stream_source_collection_group.command(name=cli_util.override('ai_vision.list_stream_sources.command_name', 'list-stream-sources'), help=u"""Gets a list of the streamSources in the specified compartment. \n[Command Reference](listStreamSources)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The filter to match projects with the given lifecycleState.""")
@cli_util.option('--id', help=u"""The filter to find the device with the given identifier.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -2667,7 +2667,7 @@ def list_stream_sources(ctx, from_json, all_pages, page_size, compartment_id, li
@vision_private_endpoint_collection_group.command(name=cli_util.override('ai_vision.list_vision_private_endpoints.command_name', 'list-vision-private-endpoints'), help=u"""Returns a list of visionPrivateEndpoints. \n[Command Reference](listVisionPrivateEndpoints)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The filter to match projects with the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The filter to find the device with the given identifier.""")
@@ -2843,7 +2843,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('ai_vision.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources whose lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/analytics/src/oci_cli_analytics/generated/analytics_cli.py b/services/analytics/src/oci_cli_analytics/generated/analytics_cli.py
index c7c03ec9..cdc7a036 100644
--- a/services/analytics/src/oci_cli_analytics/generated/analytics_cli.py
+++ b/services/analytics/src/oci_cli_analytics/generated/analytics_cli.py
@@ -54,7 +54,7 @@ def work_request_group():
@analytics_instance_group.command(name=cli_util.override('analytics.change_analytics_instance_compartment.command_name', 'change-compartment'), help=u"""Change the compartment of an Analytics instance. The operation is long-running and creates a new WorkRequest. \n[Command Reference](changeAnalyticsInstanceCompartment)""")
@cli_util.option('--analytics-instance-id', required=True, help=u"""The OCID of the AnalyticsInstance.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the new compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -322,7 +322,7 @@ def change_analytics_instance_network_endpoint_public_endpoint_details(ctx, from
@analytics_instance_group.command(name=cli_util.override('analytics.create_analytics_instance.command_name', 'create'), help=u"""Create a new AnalyticsInstance in the specified compartment. The operation is long-running and creates a new WorkRequest. \n[Command Reference](createAnalyticsInstance)""")
@cli_util.option('--name', required=True, help=u"""The name of the Analytics instance. This name must be unique in the tenancy and cannot be changed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--feature-set', required=True, type=custom_types.CliCaseInsensitiveChoice(["SELF_SERVICE_ANALYTICS", "ENTERPRISE_ANALYTICS"]), help=u"""Analytics feature set.""")
@cli_util.option('--capacity', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--license-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]), help=u"""The license used for the service.""")
@@ -431,7 +431,7 @@ def create_analytics_instance(ctx, from_json, wait_for_state, max_wait_seconds,
@analytics_instance_group.command(name=cli_util.override('analytics.create_analytics_instance_private_endpoint_details.command_name', 'create-analytics-instance-private-endpoint-details'), help=u"""Create a new AnalyticsInstance in the specified compartment. The operation is long-running and creates a new WorkRequest. \n[Command Reference](createAnalyticsInstance)""")
@cli_util.option('--name', required=True, help=u"""The name of the Analytics instance. This name must be unique in the tenancy and cannot be changed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--feature-set', required=True, type=custom_types.CliCaseInsensitiveChoice(["SELF_SERVICE_ANALYTICS", "ENTERPRISE_ANALYTICS"]), help=u"""Analytics feature set.""")
@cli_util.option('--capacity', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--license-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]), help=u"""The license used for the service.""")
@@ -547,7 +547,7 @@ def create_analytics_instance_private_endpoint_details(ctx, from_json, wait_for_
@analytics_instance_group.command(name=cli_util.override('analytics.create_analytics_instance_public_endpoint_details.command_name', 'create-analytics-instance-public-endpoint-details'), help=u"""Create a new AnalyticsInstance in the specified compartment. The operation is long-running and creates a new WorkRequest. \n[Command Reference](createAnalyticsInstance)""")
@cli_util.option('--name', required=True, help=u"""The name of the Analytics instance. This name must be unique in the tenancy and cannot be changed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--feature-set', required=True, type=custom_types.CliCaseInsensitiveChoice(["SELF_SERVICE_ANALYTICS", "ENTERPRISE_ANALYTICS"]), help=u"""Analytics feature set.""")
@cli_util.option('--capacity', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--license-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]), help=u"""The license used for the service.""")
@@ -670,8 +670,8 @@ def create_analytics_instance_public_endpoint_details(ctx, from_json, wait_for_s
@analytics_instance_group.command(name=cli_util.override('analytics.create_private_access_channel.command_name', 'create-private-access-channel'), help=u"""Create an Private access Channel for the Analytics instance. The operation is long-running and creates a new WorkRequest. \n[Command Reference](createPrivateAccessChannel)""")
@cli_util.option('--analytics-instance-id', required=True, help=u"""The OCID of the AnalyticsInstance.""")
@cli_util.option('--display-name', required=True, help=u"""Display Name of the Private Access Channel.""")
-@cli_util.option('--vcn-id', required=True, help=u"""OCID of the customer VCN peered with private access channel.""")
-@cli_util.option('--subnet-id', required=True, help=u"""OCID of the customer subnet connected to private access channel.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the customer VCN peered with private access channel.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the customer subnet connected to private access channel.""")
@cli_util.option('--private-source-dns-zones', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Private Source DNS zones registered with Private Access Channel, where datasource hostnames from these dns zones / domains will be resolved in the peered VCN for access from Analytics Instance. Min of 1 is required and Max of 30 Private Source DNS zones can be registered.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--private-source-scan-hosts', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Private Source DB SCAN hosts registered with Private Access Channel for access from Analytics Instance.
@@ -1089,7 +1089,7 @@ def get_work_request(ctx, from_json, work_request_id):
@analytics_instance_group.command(name=cli_util.override('analytics.list_analytics_instances.command_name', 'list'), help=u"""List Analytics instances. \n[Command Reference](listAnalyticsInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the given name exactly.""")
@cli_util.option('--capacity-type', type=custom_types.CliCaseInsensitiveChoice(["OLPU_COUNT", "USER_COUNT"]), help=u"""A filter to only return resources matching the capacity type enum. Values are case-insensitive.""")
@cli_util.option('--feature-set', type=custom_types.CliCaseInsensitiveChoice(["SELF_SERVICE_ANALYTICS", "ENTERPRISE_ANALYTICS"]), help=u"""A filter to only return resources matching the feature set. Values are case-insensitive.""")
@@ -1263,7 +1263,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('analytics.list_work_requests.command_name', 'list'), help=u"""List all work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--resource-id', help=u"""The OCID of the resource associated with a work request.""")
@cli_util.option('--resource-type', type=custom_types.CliCaseInsensitiveChoice(["ANALYTICS_INSTANCE"]), help=u"""Type of the resource associated with a work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help=u"""One or more work request status values to filter on.""")
@@ -1714,8 +1714,8 @@ def update_analytics_instance(ctx, from_json, force, wait_for_state, max_wait_se
@cli_util.option('--private-access-channel-key', required=True, help=u"""The unique identifier key of the Private Access Channel.""")
@cli_util.option('--analytics-instance-id', required=True, help=u"""The OCID of the AnalyticsInstance.""")
@cli_util.option('--display-name', help=u"""Display Name of the Private Access Channel.""")
-@cli_util.option('--vcn-id', help=u"""OCID of the customer VCN peered with private access channel.""")
-@cli_util.option('--subnet-id', help=u"""OCID of the customer subnet connected to private access channel.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""OCID of the customer VCN peered with private access channel.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""OCID of the customer subnet connected to private access channel.""")
@cli_util.option('--private-source-dns-zones', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Private Source DNS zones registered with Private Access Channel, where datasource hostnames from these dns zones / domains will be resolved in the peered VCN for access from Analytics Instance. Min of 1 is required and Max of 30 Private Source DNS zones can be registered.
This option is a JSON list with items of type PrivateSourceDnsZone. For documentation on PrivateSourceDnsZone please see our API reference: https://docs.cloud.oracle.com/api/#/en/analytics/20190331/datatypes/PrivateSourceDnsZone.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/announcements_service/src/oci_cli_announcement/generated/announcement_cli.py b/services/announcements_service/src/oci_cli_announcement/generated/announcement_cli.py
index 4d31c3ca..9805fdd2 100644
--- a/services/announcements_service/src/oci_cli_announcement/generated/announcement_cli.py
+++ b/services/announcements_service/src/oci_cli_announcement/generated/announcement_cli.py
@@ -126,7 +126,7 @@ def get_announcement_user_status(ctx, from_json, announcement_id):
@announcements_collection_group.command(name=cli_util.override('announcement.list_announcements.command_name', 'list-announcements'), help=u"""Gets a list of announcements for the current tenancy.
This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy. \n[Command Reference](listAnnouncements)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--announcement-type', help=u"""The type of announcement.""")
@@ -217,7 +217,7 @@ def list_announcements(ctx, from_json, all_pages, page_size, compartment_id, lim
This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy. \n[Command Reference](updateAnnouncementUserStatus)""")
@cli_util.option('--announcement-id', required=True, help=u"""The OCID of the announcement.""")
@cli_util.option('--user-status-announcement-id', required=True, help=u"""The OCID of the announcement that this status is associated with.""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user that this status is associated with.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user that this status is associated with.""")
@cli_util.option('--time-acknowledged', type=custom_types.CLI_DATETIME, help=u"""The date and time the announcement was acknowledged, expressed in [RFC 3339] timestamp format. Example: `2019-01-01T17:43:01.389+0000`""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--if-match', help=u"""The locking version, used for optimistic concurrency control.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/announcements_service/src/oci_cli_announcement_subscription/announcementsubscription_cli_extended.py b/services/announcements_service/src/oci_cli_announcement_subscription/announcementsubscription_cli_extended.py
index da3c4090..dc24822e 100644
--- a/services/announcements_service/src/oci_cli_announcement_subscription/announcementsubscription_cli_extended.py
+++ b/services/announcements_service/src/oci_cli_announcement_subscription/announcementsubscription_cli_extended.py
@@ -33,7 +33,7 @@
@cli_util.copy_params_from_generated_command(announcementsubscription_cli.change_announcement_subscription_compartment, params_to_exclude=['announcement_subscription_id'])
@announcementsubscription_cli.announcement_subscription_group.command(name=announcementsubscription_cli.change_announcement_subscription_compartment.name, help=announcementsubscription_cli.change_announcement_subscription_compartment.help)
-@cli_util.option('--subscription-id', required=True, help=u"""The OCID of the announcement subscription. [required]""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the announcement subscription. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
@cli_util.wrap_exceptions
@@ -47,7 +47,7 @@ def change_announcement_subscription_compartment_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(announcementsubscription_cli.create_filter_group, params_to_exclude=['announcement_subscription_id'])
@announcementsubscription_cli.announcement_subscription_group.command(name=announcementsubscription_cli.create_filter_group.name, help=announcementsubscription_cli.create_filter_group.help)
-@cli_util.option('--subscription-id', required=True, help=u"""The OCID of the announcement subscription. [required]""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the announcement subscription. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'filters': {'module': 'announcements_service', 'class': 'list[Filter]'}}, output_type={'module': 'announcements_service', 'class': 'FilterGroup'})
@cli_util.wrap_exceptions
@@ -61,7 +61,7 @@ def create_filter_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(announcementsubscription_cli.delete_announcement_subscription, params_to_exclude=['announcement_subscription_id'])
@announcementsubscription_cli.announcement_subscription_group.command(name=announcementsubscription_cli.delete_announcement_subscription.name, help=announcementsubscription_cli.delete_announcement_subscription.help)
-@cli_util.option('--subscription-id', required=True, help=u"""The OCID of the announcement subscription. [required]""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the announcement subscription. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
@cli_util.wrap_exceptions
@@ -75,7 +75,7 @@ def delete_announcement_subscription_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(announcementsubscription_cli.delete_filter_group, params_to_exclude=['announcement_subscription_id'])
@announcementsubscription_cli.announcement_subscription_group.command(name=announcementsubscription_cli.delete_filter_group.name, help=announcementsubscription_cli.delete_filter_group.help)
-@cli_util.option('--subscription-id', required=True, help=u"""The OCID of the announcement subscription. [required]""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the announcement subscription. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
@cli_util.wrap_exceptions
@@ -89,7 +89,7 @@ def delete_filter_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(announcementsubscription_cli.get_announcement_subscription, params_to_exclude=['announcement_subscription_id'])
@announcementsubscription_cli.announcement_subscription_group.command(name=announcementsubscription_cli.get_announcement_subscription.name, help=announcementsubscription_cli.get_announcement_subscription.help)
-@cli_util.option('--subscription-id', required=True, help=u"""The OCID of the announcement subscription. [required]""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the announcement subscription. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'announcements_service', 'class': 'AnnouncementSubscription'})
@cli_util.wrap_exceptions
@@ -103,7 +103,7 @@ def get_announcement_subscription_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(announcementsubscription_cli.update_announcement_subscription, params_to_exclude=['announcement_subscription_id'])
@announcementsubscription_cli.announcement_subscription_group.command(name=announcementsubscription_cli.update_announcement_subscription.name, help=announcementsubscription_cli.update_announcement_subscription.help)
-@cli_util.option('--subscription-id', required=True, help=u"""The OCID of the announcement subscription. [required]""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the announcement subscription. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'announcements_service', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'announcements_service', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'announcements_service', 'class': 'AnnouncementSubscription'})
@cli_util.wrap_exceptions
@@ -117,7 +117,7 @@ def update_announcement_subscription_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(announcementsubscription_cli.update_filter_group, params_to_exclude=['announcement_subscription_id'])
@announcementsubscription_cli.announcement_subscription_group.command(name=announcementsubscription_cli.update_filter_group.name, help=announcementsubscription_cli.update_filter_group.help)
-@cli_util.option('--subscription-id', required=True, help=u"""The OCID of the announcement subscription. [required]""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the announcement subscription. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'filters': {'module': 'announcements_service', 'class': 'list[Filter]'}}, output_type={'module': 'announcements_service', 'class': 'FilterGroup'})
@cli_util.wrap_exceptions
diff --git a/services/announcements_service/src/oci_cli_announcement_subscription/generated/announcementsubscription_cli.py b/services/announcements_service/src/oci_cli_announcement_subscription/generated/announcementsubscription_cli.py
index 0c3767a5..9a03520f 100644
--- a/services/announcements_service/src/oci_cli_announcement_subscription/generated/announcementsubscription_cli.py
+++ b/services/announcements_service/src/oci_cli_announcement_subscription/generated/announcementsubscription_cli.py
@@ -43,7 +43,7 @@ def announcement_subscription_collection_group():
This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy. \n[Command Reference](changeAnnouncementSubscriptionCompartment)""")
@cli_util.option('--announcement-subscription-id', required=True, help=u"""The OCID of the announcement subscription.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which you want to move the announcement subscription.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which you want to move the announcement subscription.""")
@cli_util.option('--if-match', help=u"""The locking version, used for optimistic concurrency control.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -76,7 +76,7 @@ def change_announcement_subscription_compartment(ctx, from_json, announcement_su
This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy. \n[Command Reference](createAnnouncementSubscription)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the announcement subscription. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the announcement subscription.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the announcement subscription.""")
@cli_util.option('--ons-topic-id', required=True, help=u"""The OCID of the Notifications service topic that is the target for publishing announcements that match the configured announcement subscription. The caller of the operation needs the ONS_TOPIC_PUBLISH permission for the targeted Notifications service topic. For more information about Notifications permissions, see [Details for Notifications].""")
@cli_util.option('--description', help=u"""A description of the announcement subscription. Avoid entering confidential information.""")
@cli_util.option('--filter-groups', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of filter groups for the announcement subscription. A filter group combines one or more filters that the Announcements service applies to announcements for matching purposes.
@@ -314,7 +314,7 @@ def get_announcement_subscription(ctx, from_json, announcement_subscription_id):
@announcement_subscription_collection_group.command(name=cli_util.override('announcement_subscription.list_announcement_subscriptions.command_name', 'list-announcement-subscriptions'), help=u"""Gets a list of all announcement subscriptions in the specified compartment.
This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy. \n[Command Reference](listAnnouncementSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED", "FAILED"]), help=u"""A filter to return only announcement subscriptions that match the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The OCID of the announcement subscription.""")
diff --git a/services/announcements_service/src/oci_cli_announcements_preferences/generated/announcementspreferences_cli.py b/services/announcements_service/src/oci_cli_announcements_preferences/generated/announcementspreferences_cli.py
index 1976d4b4..aeda4dbc 100644
--- a/services/announcements_service/src/oci_cli_announcements_preferences/generated/announcementspreferences_cli.py
+++ b/services/announcements_service/src/oci_cli_announcements_preferences/generated/announcementspreferences_cli.py
@@ -38,7 +38,7 @@ def announcements_preferences_group():
@cli_util.option('--type', required=True, help=u"""The entity type, which specifies a model that either creates new announcement email preferences or updates existing preferences.""")
@cli_util.option('--preference-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["OPT_IN_TENANT_ANNOUNCEMENTS", "OPT_IN_TENANT_AND_INFORMATIONAL_ANNOUNCEMENTS", "OPT_OUT_ALL_ANNOUNCEMENTS"]), help=u"""The string representing the user's preference, whether to opt in to only required announcements, to opt in to all announcements, including informational announcements, or to opt out of all announcements.""")
@cli_util.option('--is-unsubscribed', type=click.BOOL, help=u"""A Boolean value to indicate whether the specified compartment chooses to not to receive informational announcements by email. (Manage preferences for receiving announcements by email by specifying the `preferenceType` attribute instead.)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment for which you want to manage announcement email preferences. (Specify the tenancy by providing the root compartment OCID.)""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for which you want to manage announcement email preferences. (Specify the tenancy by providing the root compartment OCID.)""")
@cli_util.option('--preferred-time-zone', help=u"""The time zone in which the user prefers to receive announcements. Specify the preference with a value that uses the IANA Time Zone Database format (x-obmcs-time-zone). For example - America/Los_Angeles""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -100,7 +100,7 @@ def get_announcements_preference(ctx, from_json, preference_id):
@announcements_preferences_group.command(name=cli_util.override('announcements_preferences.list_announcements_preferences.command_name', 'list'), help=u"""Gets the current preferences of the tenancy regarding receiving announcements by email.
This call is subject to an Announcements limit that applies to the total number of requests across all read or write operations. Announcements might throttle this call to reject an otherwise valid request when the total rate of operations exceeds 20 requests per second for a given user. The service might also throttle this call to reject an otherwise valid request when the total rate of operations exceeds 100 requests per second for a given tenancy. \n[Command Reference](listAnnouncementsPreferences)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@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.""")
@@ -154,7 +154,7 @@ def list_announcements_preferences(ctx, from_json, all_pages, page_size, compart
@cli_util.option('--type', required=True, help=u"""The entity type, which specifies a model that either creates new announcement email preferences or updates existing preferences.""")
@cli_util.option('--preference-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["OPT_IN_TENANT_ANNOUNCEMENTS", "OPT_IN_TENANT_AND_INFORMATIONAL_ANNOUNCEMENTS", "OPT_OUT_ALL_ANNOUNCEMENTS"]), help=u"""The string representing the user's preference, whether to opt in to only required announcements, to opt in to all announcements, including informational announcements, or to opt out of all announcements.""")
@cli_util.option('--is-unsubscribed', type=click.BOOL, help=u"""A Boolean value to indicate whether the specified compartment chooses to not to receive informational announcements by email. (Manage preferences for receiving announcements by email by specifying the `preferenceType` attribute instead.)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment for which you want to manage announcement email preferences. (Specify the tenancy by providing the root compartment OCID.)""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for which you want to manage announcement email preferences. (Specify the tenancy by providing the root compartment OCID.)""")
@cli_util.option('--preferred-time-zone', help=u"""The time zone in which the user prefers to receive announcements. Specify the preference with a value that uses the IANA Time Zone Database format (x-obmcs-time-zone). For example - America/Los_Angeles""")
@cli_util.option('--if-match', help=u"""The locking version, used for optimistic concurrency control.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/announcements_service/src/oci_cli_service/generated/service_cli.py b/services/announcements_service/src/oci_cli_service/generated/service_cli.py
index d77c46f7..a9a51935 100644
--- a/services/announcements_service/src/oci_cli_service/generated/service_cli.py
+++ b/services/announcements_service/src/oci_cli_service/generated/service_cli.py
@@ -33,7 +33,7 @@ def service_group():
@service_group.command(name=cli_util.override('service.list_services.command_name', 'list'), help=u"""List all active services \n[Command Reference](listServices)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--platform-type', type=custom_types.CliCaseInsensitiveChoice(["IAAS", "SAAS", "PAAS"]), help=u"""A filter to return only announcements affecting a specific platform.""")
@cli_util.option('--comms-manager-name', type=custom_types.CliCaseInsensitiveChoice(["CN", "FUSION", "AS", "ERF"]), help=u"""Filter by comms manager name""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
diff --git a/services/api_platform/src/oci_cli_api_platform/generated/apiplatform_cli.py b/services/api_platform/src/oci_cli_api_platform/generated/apiplatform_cli.py
index 0b754a18..f612abd8 100644
--- a/services/api_platform/src/oci_cli_api_platform/generated/apiplatform_cli.py
+++ b/services/api_platform/src/oci_cli_api_platform/generated/apiplatform_cli.py
@@ -61,7 +61,7 @@ def work_request_group():
@api_platform_instance_group.command(name=cli_util.override('api_platform.change_api_platform_instance_compartment.command_name', 'change-compartment'), help=u"""Moves an API Platform Instance 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](changeApiPlatformInstanceCompartment)""")
@cli_util.option('--api-platform-instance-id', required=True, help=u"""The [OCID] of the instance""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the instance to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the instance to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -92,7 +92,7 @@ def change_api_platform_instance_compartment(ctx, from_json, api_platform_instan
@api_platform_instance_group.command(name=cli_util.override('api_platform.create_api_platform_instance.command_name', 'create'), help=u"""Creates an API Platform Instance \n[Command Reference](createApiPlatformInstance)""")
@cli_util.option('--name', required=True, help=u"""A regionally unique, non-changeable instance name provided by the user during creation""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the instance in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the instance in.""")
@cli_util.option('--description', help=u"""User-provided changeable and non-unique description of the instance""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -258,7 +258,7 @@ def get_work_request(ctx, from_json, work_request_id):
@api_platform_instance_collection_group.command(name=cli_util.override('api_platform.list_api_platform_instances.command_name', 'list-api-platform-instances'), help=u"""Gets a list of API Platform Instances \n[Command Reference](listApiPlatformInstances)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the given name exactly""")
@cli_util.option('--id', help=u"""The [OCID] of the instance""")
@@ -434,7 +434,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('api_platform.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/apiaccesscontrol/src/oci_cli_api_metadata/generated/apimetadata_cli.py b/services/apiaccesscontrol/src/oci_cli_api_metadata/generated/apimetadata_cli.py
index 98d32087..60bc2522 100644
--- a/services/apiaccesscontrol/src/oci_cli_api_metadata/generated/apimetadata_cli.py
+++ b/services/apiaccesscontrol/src/oci_cli_api_metadata/generated/apimetadata_cli.py
@@ -62,7 +62,7 @@ def get_api_metadata(ctx, from_json, api_metadata_id):
@api_metadata_group.command(name=cli_util.override('api_metadata.list_api_metadata.command_name', 'list'), help=u"""Gets a list of ApiMetadata. \n[Command Reference](listApiMetadata)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--resource-type', help=u"""A filter to return only lists of resources that match the entire given service type.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -124,7 +124,7 @@ def list_api_metadata(ctx, from_json, all_pages, page_size, compartment_id, life
@api_metadata_group.command(name=cli_util.override('api_metadata.list_api_metadata_by_entity_types.command_name', 'list-api-metadata-by-entity-types'), help=u"""Gets a list of ApiMetadata Grouped By Entity Types. \n[Command Reference](listApiMetadataByEntityTypes)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--resource-type', help=u"""A filter to return only lists of resources that match the entire given service type.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
diff --git a/services/apiaccesscontrol/src/oci_cli_privileged_api_control/generated/privilegedapicontrol_cli.py b/services/apiaccesscontrol/src/oci_cli_privileged_api_control/generated/privilegedapicontrol_cli.py
index d3dcf209..f881cfca 100644
--- a/services/apiaccesscontrol/src/oci_cli_privileged_api_control/generated/privilegedapicontrol_cli.py
+++ b/services/apiaccesscontrol/src/oci_cli_privileged_api_control/generated/privilegedapicontrol_cli.py
@@ -48,7 +48,7 @@ def privileged_api_control_collection_group():
@privileged_api_control_group.command(name=cli_util.override('privileged_api_control.change_privileged_api_control_compartment.command_name', 'change-compartment'), help=u"""Moves a PrivilegedApiControl 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](changePrivilegedApiControlCompartment)""")
@cli_util.option('--privileged-api-control-id', required=True, help=u"""The [OCID] of the PrivilegedApiControl.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the PrivilegedApiControl to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the PrivilegedApiControl to.""")
@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.""")
@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.""")
@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.""")
@@ -108,7 +108,7 @@ def change_privileged_api_control_compartment(ctx, from_json, wait_for_state, ma
@privileged_api_control_group.command(name=cli_util.override('privileged_api_control.create_privileged_api_control.command_name', 'create'), help=u"""Creates a PrivilegedApiControl. \n[Command Reference](createPrivilegedApiControl)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the PrivilegedApiControl in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the PrivilegedApiControl in.""")
@cli_util.option('--notification-topic-id', required=True, help=u"""The OCID of the OCI Notification topic to publish messages related to this Delegation Control.""")
@cli_util.option('--approver-group-id-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of user IAM group ids who can approve an privilegedApi request associated with a resource governed by this operator control.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--privileged-operation-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of privileged operator operations. If Privileged API Managment is enabled for a resource it will be validated whether the operation done by the operator is a part of privileged operation.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -276,7 +276,7 @@ def get_privileged_api_control(ctx, from_json, privileged_api_control_id):
@privileged_api_control_collection_group.command(name=cli_util.override('privileged_api_control.list_privileged_api_controls.command_name', 'list-privileged-api-controls'), help=u"""Gets a list of PrivilegedApiControls. \n[Command Reference](listPrivilegedApiControls)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The [OCID] of the PrivilegedApiControl.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
diff --git a/services/apiaccesscontrol/src/oci_cli_privileged_api_requests/generated/privilegedapirequests_cli.py b/services/apiaccesscontrol/src/oci_cli_privileged_api_requests/generated/privilegedapirequests_cli.py
index 38f65b00..f3791719 100644
--- a/services/apiaccesscontrol/src/oci_cli_privileged_api_requests/generated/privilegedapirequests_cli.py
+++ b/services/apiaccesscontrol/src/oci_cli_privileged_api_requests/generated/privilegedapirequests_cli.py
@@ -180,7 +180,7 @@ def close_privileged_api_request(ctx, from_json, wait_for_state, max_wait_second
@cli_util.option('--reason-summary', required=True, help=u"""Summary comment by the operator creating the access request.""")
@cli_util.option('--resource-id', required=True, help=u"""The OCID of the target resource associated with the access request. The operator raises an access request to get approval to access the target resource.""")
@cli_util.option('--privileged-operation-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of api names, attributes for which approval is sought by the user.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sub-resource-name-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The subresource names requested for approval.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--notification-topic-id', help=u"""The OCID of the OCI Notification topic to publish messages related to this Privileged Api Request.""")
@cli_util.option('--reason-detail', help=u"""Reason in detail for which the operator is requesting access on the target resource.""")
@@ -300,7 +300,7 @@ def get_privileged_api_request(ctx, from_json, privileged_api_request_id):
@privileged_api_request_collection_group.command(name=cli_util.override('privileged_api_requests.list_privileged_api_requests.command_name', 'list-privileged-api-requests'), help=u"""Lists all privilegedApi requests in the compartment. \n[Command Reference](listPrivilegedApiRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The [OCID] of the PrivilegedApiRequest.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource .""")
diff --git a/services/apiaccesscontrol/src/oci_cli_privileged_api_work_request/generated/privilegedapiworkrequest_cli.py b/services/apiaccesscontrol/src/oci_cli_privileged_api_work_request/generated/privilegedapiworkrequest_cli.py
index 259cdfe7..241e9387 100644
--- a/services/apiaccesscontrol/src/oci_cli_privileged_api_work_request/generated/privilegedapiworkrequest_cli.py
+++ b/services/apiaccesscontrol/src/oci_cli_privileged_api_work_request/generated/privilegedapiworkrequest_cli.py
@@ -214,7 +214,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('privileged_api_work_request.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/apigateway/src/oci_cli_api_gateway/generated/apigateway_cli.py b/services/apigateway/src/oci_cli_api_gateway/generated/apigateway_cli.py
index 1f60c127..59e51dc4 100644
--- a/services/apigateway/src/oci_cli_api_gateway/generated/apigateway_cli.py
+++ b/services/apigateway/src/oci_cli_api_gateway/generated/apigateway_cli.py
@@ -139,7 +139,7 @@ def add_api_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@certificate_group.command(name=cli_util.override('api_gateway.add_certificate_lock.command_name', 'add'), help=u"""Adds a lock to a Certificate resource. \n[Command Reference](addCertificateLock)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The ocid of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the certificate.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@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.""")
@@ -262,7 +262,7 @@ def add_sdk_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@api_group.command(name=cli_util.override('api_gateway.change_api_compartment.command_name', 'change-compartment'), help=u"""Changes the API compartment. \n[Command Reference](changeApiCompartment)""")
@cli_util.option('--api-id', required=True, help=u"""The ocid of the API.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -327,8 +327,8 @@ def change_api_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wai
@certificate_group.command(name=cli_util.override('api_gateway.change_certificate_compartment.command_name', 'change-compartment'), help=u"""Changes the certificate compartment. \n[Command Reference](changeCertificateCompartment)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The ocid of the certificate.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the certificate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -361,7 +361,7 @@ def change_certificate_compartment(ctx, from_json, certificate_id, compartment_i
@api_group.command(name=cli_util.override('api_gateway.create_api.command_name', 'create'), help=u"""Creates a new API. \n[Command Reference](createApi)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.
Example: `My new resource`""")
@@ -444,7 +444,7 @@ def create_api(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@certificate_group.command(name=cli_util.override('api_gateway.create_certificate.command_name', 'create'), help=u"""Creates a new Certificate. \n[Command Reference](createCertificate)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@cli_util.option('--private-key', required=True, help=u"""The private key associated with the certificate in pem format.""")
@cli_util.option('--certificate', required=True, help=u"""The data of the leaf certificate in pem format.""")
@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.
@@ -679,7 +679,7 @@ def delete_api(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@certificate_group.command(name=cli_util.override('api_gateway.delete_certificate.command_name', 'delete'), help=u"""Deletes the certificate with the given identifier. \n[Command Reference](deleteCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The ocid of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the certificate.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.confirm_delete_option
@@ -924,7 +924,7 @@ def get_api_validations(ctx, from_json, api_id, if_match):
@certificate_group.command(name=cli_util.override('api_gateway.get_certificate.command_name', 'get'), help=u"""Gets a certificate by identifier. \n[Command Reference](getCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The ocid of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the certificate.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -968,7 +968,7 @@ def get_sdk(ctx, from_json, sdk_id):
@api_group.command(name=cli_util.override('api_gateway.list_apis.command_name', 'list'), help=u"""Returns a list of APIs. \n[Command Reference](listApis)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
@@ -1032,7 +1032,7 @@ def list_apis(ctx, from_json, all_pages, page_size, compartment_id, display_name
@certificate_group.command(name=cli_util.override('api_gateway.list_certificates.command_name', 'list'), help=u"""Returns a list of certificates. \n[Command Reference](listCertificates)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
@@ -1096,7 +1096,7 @@ def list_certificates(ctx, from_json, all_pages, page_size, compartment_id, disp
@sdk_language_type_summary_group.command(name=cli_util.override('api_gateway.list_sdk_language_types.command_name', 'list-sdk-language-types'), help=u"""Lists programming languages in which SDK can be generated. \n[Command Reference](listSdkLanguageTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
@@ -1278,7 +1278,7 @@ def remove_api_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@certificate_group.command(name=cli_util.override('api_gateway.remove_certificate_lock.command_name', 'remove'), help=u"""Removes a lock from a Certificate resource. \n[Command Reference](removeCertificateLock)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The ocid of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the certificate.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -1483,7 +1483,7 @@ def update_api(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_int
@certificate_group.command(name=cli_util.override('api_gateway.update_certificate.command_name', 'update'), help=u"""Updates a certificate with the given identifier \n[Command Reference](updateCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The ocid of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the certificate.""")
@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.
Example: `My new resource`""")
diff --git a/services/apigateway/src/oci_cli_deployment/generated/deployment_cli.py b/services/apigateway/src/oci_cli_deployment/generated/deployment_cli.py
index 97cd609c..fd6341df 100644
--- a/services/apigateway/src/oci_cli_deployment/generated/deployment_cli.py
+++ b/services/apigateway/src/oci_cli_deployment/generated/deployment_cli.py
@@ -104,7 +104,7 @@ def add_deployment_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@deployment_group.command(name=cli_util.override('deployment.change_deployment_compartment.command_name', 'change-compartment'), help=u"""Changes the deployment compartment. \n[Command Reference](changeDeploymentCompartment)""")
@cli_util.option('--deployment-id', required=True, help=u"""The ocid of the deployment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -170,7 +170,7 @@ def change_deployment_compartment(ctx, from_json, wait_for_state, max_wait_secon
@deployment_group.command(name=cli_util.override('deployment.create_deployment.command_name', 'create'), help=u"""Creates a new deployment. \n[Command Reference](createDeployment)""")
@cli_util.option('--gateway-id', required=True, help=u"""The [OCID] of the resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@cli_util.option('--path-prefix', required=True, help=u"""A path on which to deploy all routes contained in the API deployment specification. For more information, see [Deploying an API on an API Gateway by Creating an API Deployment].""")
@cli_util.option('--specification', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.
@@ -337,7 +337,7 @@ def get_deployment(ctx, from_json, deployment_id):
@deployment_summary_group.command(name=cli_util.override('deployment.list_deployments.command_name', 'list-deployments'), help=u"""Returns a list of deployments. \n[Command Reference](listDeployments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
@cli_util.option('--gateway-id', help=u"""Filter deployments by the gateway ocid.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
diff --git a/services/apigateway/src/oci_cli_gateway/generated/gateway_cli.py b/services/apigateway/src/oci_cli_gateway/generated/gateway_cli.py
index 58880050..e52e8b78 100644
--- a/services/apigateway/src/oci_cli_gateway/generated/gateway_cli.py
+++ b/services/apigateway/src/oci_cli_gateway/generated/gateway_cli.py
@@ -104,7 +104,7 @@ def add_gateway_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@gateway_group.command(name=cli_util.override('gateway.change_gateway_compartment.command_name', 'change-compartment'), help=u"""Changes the gateway compartment. \n[Command Reference](changeGatewayCompartment)""")
@cli_util.option('--gateway-id', required=True, help=u"""The ocid of the gateway.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -169,16 +169,16 @@ def change_gateway_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@gateway_group.command(name=cli_util.override('gateway.create_gateway.command_name', 'create'), help=u"""Creates a new gateway. \n[Command Reference](createGateway)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@cli_util.option('--endpoint-type', required=True, help=u"""Gateway endpoint type. `PUBLIC` will have a public ip address assigned to it, while `PRIVATE` will only be accessible on a private IP address on the subnet.
Example: `PUBLIC` or `PRIVATE`""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet in which related resources are created.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet in which related resources are created.""")
@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.
Example: `My new resource`""")
@cli_util.option('--network-security-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Groups OCIDs associated with this API Gateway.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the resource which can be empty string.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the resource which can be empty string.""")
@cli_util.option('--response-cache-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
@@ -284,11 +284,11 @@ def create_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@gateway_group.command(name=cli_util.override('gateway.create_gateway_external_resp_cache.command_name', 'create-gateway-external-resp-cache'), help=u"""Creates a new gateway. \n[Command Reference](createGateway)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@cli_util.option('--endpoint-type', required=True, help=u"""Gateway endpoint type. `PUBLIC` will have a public ip address assigned to it, while `PRIVATE` will only be accessible on a private IP address on the subnet.
Example: `PUBLIC` or `PRIVATE`""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet in which related resources are created.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet in which related resources are created.""")
@cli_util.option('--response-cache-details-servers', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The set of cache store members to connect to. At present only a single server is supported.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--response-cache-details-authentication-secret-id', required=True, help=u"""The [OCID] of the Oracle Vault Service secret resource.""")
@cli_util.option('--response-cache-details-authentication-secret-version-number', required=True, type=click.INT, help=u"""The version number of the authentication secret to use.""")
@@ -296,7 +296,7 @@ def create_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
Example: `My new resource`""")
@cli_util.option('--network-security-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Groups OCIDs associated with this API Gateway.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the resource which can be empty string.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the resource which can be empty string.""")
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/gateway/20190501/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -424,16 +424,16 @@ def create_gateway_external_resp_cache(ctx, from_json, wait_for_state, max_wait_
@gateway_group.command(name=cli_util.override('gateway.create_gateway_no_cache.command_name', 'create-gateway-no-cache'), help=u"""Creates a new gateway. \n[Command Reference](createGateway)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@cli_util.option('--endpoint-type', required=True, help=u"""Gateway endpoint type. `PUBLIC` will have a public ip address assigned to it, while `PRIVATE` will only be accessible on a private IP address on the subnet.
Example: `PUBLIC` or `PRIVATE`""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet in which related resources are created.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet in which related resources are created.""")
@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.
Example: `My new resource`""")
@cli_util.option('--network-security-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Groups OCIDs associated with this API Gateway.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the resource which can be empty string.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the resource which can be empty string.""")
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/gateway/20190501/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -621,8 +621,8 @@ def get_gateway(ctx, from_json, gateway_id):
@gateway_summary_group.command(name=cli_util.override('gateway.list_gateways.command_name', 'list-gateways'), help=u"""Returns a list of gateways. \n[Command Reference](listGateways)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
-@cli_util.option('--certificate-id', help=u"""Filter gateways by the certificate ocid.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""Filter gateways by the certificate ocid.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
@@ -750,7 +750,7 @@ def remove_gateway_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
Example: `My new resource`""")
@cli_util.option('--network-security-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Groups OCIDs associated with this API Gateway.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the resource which can be empty string.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the resource which can be empty string.""")
@cli_util.option('--response-cache-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -858,7 +858,7 @@ def update_gateway(ctx, from_json, force, wait_for_state, max_wait_seconds, wait
Example: `My new resource`""")
@cli_util.option('--network-security-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Groups OCIDs associated with this API Gateway.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the resource which can be empty string.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the resource which can be empty string.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -985,7 +985,7 @@ def update_gateway_external_resp_cache(ctx, from_json, force, wait_for_state, ma
Example: `My new resource`""")
@cli_util.option('--network-security-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Groups OCIDs associated with this API Gateway.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the resource which can be empty string.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the resource which can be empty string.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/apigateway/src/oci_cli_subscribers/generated/subscribers_cli.py b/services/apigateway/src/oci_cli_subscribers/generated/subscribers_cli.py
index f6605692..90bfd6b2 100644
--- a/services/apigateway/src/oci_cli_subscribers/generated/subscribers_cli.py
+++ b/services/apigateway/src/oci_cli_subscribers/generated/subscribers_cli.py
@@ -97,7 +97,7 @@ def add_subscriber_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@subscriber_group.command(name=cli_util.override('subscribers.change_subscriber_compartment.command_name', 'change-compartment'), help=u"""Changes the subscriber compartment. \n[Command Reference](changeSubscriberCompartment)""")
@cli_util.option('--subscriber-id', required=True, help=u"""The ocid of the subscriber.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -162,7 +162,7 @@ def change_subscriber_compartment(ctx, from_json, wait_for_state, max_wait_secon
@subscriber_group.command(name=cli_util.override('subscribers.create_subscriber.command_name', 'create'), help=u"""Creates a new subscriber. \n[Command Reference](createSubscriber)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@cli_util.option('--clients', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The clients belonging to this subscriber.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--usage-plans', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of [OCID]s of usage plan resources.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.
@@ -328,7 +328,7 @@ def get_subscriber(ctx, from_json, subscriber_id):
@subscriber_group.command(name=cli_util.override('subscribers.list_subscribers.command_name', 'list'), help=u"""Returns a list of subscribers. \n[Command Reference](listSubscribers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
diff --git a/services/apigateway/src/oci_cli_usage_plans/generated/usageplans_cli.py b/services/apigateway/src/oci_cli_usage_plans/generated/usageplans_cli.py
index 374878c7..e4045db0 100644
--- a/services/apigateway/src/oci_cli_usage_plans/generated/usageplans_cli.py
+++ b/services/apigateway/src/oci_cli_usage_plans/generated/usageplans_cli.py
@@ -97,7 +97,7 @@ def add_usage_plan_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@usage_plan_group.command(name=cli_util.override('usage_plans.change_usage_plan_compartment.command_name', 'change-compartment'), help=u"""Changes the usage plan compartment. \n[Command Reference](changeUsagePlanCompartment)""")
@cli_util.option('--usage-plan-id', required=True, help=u"""The ocid of the usage plan.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -163,7 +163,7 @@ def change_usage_plan_compartment(ctx, from_json, wait_for_state, max_wait_secon
@usage_plan_group.command(name=cli_util.override('usage_plans.create_usage_plan.command_name', 'create'), help=u"""Creates a new usage plan. \n[Command Reference](createUsagePlan)""")
@cli_util.option('--entitlements', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A collection of entitlements to assign to the newly created usage plan.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the resource is created.""")
@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.
Example: `My new resource`""")
@@ -326,7 +326,7 @@ def get_usage_plan(ctx, from_json, usage_plan_id):
@usage_plan_group.command(name=cli_util.override('usage_plans.list_usage_plans.command_name', 'list'), help=u"""Returns a list of usage plans. \n[Command Reference](listUsagePlans)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
diff --git a/services/apigateway/src/oci_cli_work_requests/generated/workrequests_cli.py b/services/apigateway/src/oci_cli_work_requests/generated/workrequests_cli.py
index d7ef11b5..5252f490 100644
--- a/services/apigateway/src/oci_cli_work_requests/generated/workrequests_cli.py
+++ b/services/apigateway/src/oci_cli_work_requests/generated/workrequests_cli.py
@@ -218,7 +218,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_summary_group.command(name=cli_util.override('work_requests.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment in which to list resources.""")
@cli_util.option('--resource-id', help=u"""Filter work requests by the resource ocid.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/apm_control_plane/src/oci_cli_apm_domain/generated/apmdomain_cli.py b/services/apm_control_plane/src/oci_cli_apm_domain/generated/apmdomain_cli.py
index aa40089f..4845ff8d 100644
--- a/services/apm_control_plane/src/oci_cli_apm_domain/generated/apmdomain_cli.py
+++ b/services/apm_control_plane/src/oci_cli_apm_domain/generated/apmdomain_cli.py
@@ -62,7 +62,7 @@ def data_key_group():
@apm_domain_group.command(name=cli_util.override('apm_control_plane.change_apm_domain_compartment.command_name', 'change-compartment'), help=u"""Moves an APM domain into a different compartment. When provided, If-Match is checked against ETag values of the APM domain. \n[Command Reference](changeApmDomainCompartment)""")
@cli_util.option('--apm-domain-id', required=True, help=u"""The OCID of the APM domain.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the destination compartment for the APM domain.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the destination compartment for the APM domain.""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -123,7 +123,7 @@ def change_apm_domain_compartment(ctx, from_json, wait_for_state, max_wait_secon
@apm_domain_group.command(name=cli_util.override('apm_control_plane.create_apm_domain.command_name', 'create'), help=u"""Creates a new APM domain. \n[Command Reference](createApmDomain)""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the APM domain.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment corresponding to the APM domain.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment corresponding to the APM domain.""")
@cli_util.option('--description', help=u"""Description of the APM domain.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -401,7 +401,7 @@ def list_apm_domain_work_requests(ctx, from_json, all_pages, page_size, apm_doma
@apm_domain_group.command(name=cli_util.override('apm_control_plane.list_apm_domains.command_name', 'list'), help=u"""Lists all APM domains for the specified tenant compartment. \n[Command Reference](listApmDomains)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@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 life-cycle state.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -589,7 +589,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('apm_control_plane.list_work_requests.command_name', 'list'), help=u"""Returns a (paginated) list of work requests in a given compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
diff --git a/services/appmgmt_control/src/oci_cli_appmgmt_control/generated/appmgmtcontrol_cli.py b/services/appmgmt_control/src/oci_cli_appmgmt_control/generated/appmgmtcontrol_cli.py
index e83fa99b..60bb5be3 100644
--- a/services/appmgmt_control/src/oci_cli_appmgmt_control/generated/appmgmtcontrol_cli.py
+++ b/services/appmgmt_control/src/oci_cli_appmgmt_control/generated/appmgmtcontrol_cli.py
@@ -159,7 +159,7 @@ def get_work_request(ctx, from_json, work_request_id):
@monitored_instance_collection_group.command(name=cli_util.override('appmgmt_control.list_monitored_instances.command_name', 'list-monitored-instances'), help=u"""Returns a list of monitored instances. \n[Command Reference](listMonitoredInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -318,7 +318,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('appmgmt_control.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/artifacts/src/oci_cli_artifacts/artifacts_cli_extended.py b/services/artifacts/src/oci_cli_artifacts/artifacts_cli_extended.py
index 3eaed31b..e97e3c93 100644
--- a/services/artifacts/src/oci_cli_artifacts/artifacts_cli_extended.py
+++ b/services/artifacts/src/oci_cli_artifacts/artifacts_cli_extended.py
@@ -555,8 +555,8 @@ def list_container_images_extended(ctx, from_json, all_pages, page_size, compart
@cli_util.option('--kms-key-id', required=True, help=u"""The [OCID] of the kmsKeyId used to sign the container image.""")
@cli_util.option('--kms-key-version-id', required=True, help=u"""The [OCID] of the kmsKeyVersionId used to sign the container image.""")
@cli_util.option('--signing-algorithm', required=True, type=custom_types.CliCaseInsensitiveChoice(["SHA_224_RSA_PKCS_PSS", "SHA_256_RSA_PKCS_PSS", "SHA_384_RSA_PKCS_PSS", "SHA_512_RSA_PKCS_PSS"]), help=u"""The algorithm to be used for signing. These are the only supported signing algorithms for container images.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the container repository exists.""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the container image.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the container repository exists.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container image.""")
@cli_util.option('--description', help="""The optional text of your choice to describe the image. The description is included as part of the signature, and is shown in the Console. For example, --description "Image for UAT testing" """)
@cli_util.option('--metadata', help="""The optional information of your choice about the image, in a valid JSON format (alphanumeric characters only, with no whitespace or escape characters). For example, --metadata "{\"buildNumber\":\"123\"}" """)
@json_skeleton_utils.get_cli_json_input_option({})
@@ -644,7 +644,7 @@ def sign_and_upload_container_image_signature_metadata(ctx, from_json, kms_key_i
@artifacts_cli.container_image_signature_group.command(name='get-verify', help=u"""Fetch a container image signature metadata and verity the signature. \n[Command Reference](GetAndVerifyImageSignatureMetadata)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the container repository exists.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the container repository exists.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed""")
@cli_util.option('--repo-name', required=True, help=u"""The repository name in which the container image exists eg) busybox""")
@cli_util.option('--image-digest', required=True, help=u"""The digest of the container image.""")
diff --git a/services/artifacts/src/oci_cli_artifacts/generated/artifacts_cli.py b/services/artifacts/src/oci_cli_artifacts/generated/artifacts_cli.py
index 3e2215ad..f9ec8421 100644
--- a/services/artifacts/src/oci_cli_artifacts/generated/artifacts_cli.py
+++ b/services/artifacts/src/oci_cli_artifacts/generated/artifacts_cli.py
@@ -90,7 +90,7 @@ def container_image_signature_group():
@cli_util.option('--repository-id', required=True, help=u"""The [OCID] of the container repository.
Example: `ocid1.containerrepo.oc1..exampleuniqueID`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which to move the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which to move the resource.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -123,7 +123,7 @@ def change_container_repository_compartment(ctx, from_json, repository_id, compa
@cli_util.option('--repository-id', required=True, help=u"""The [OCID] of the repository.
Example: `ocid1.artifactrepository.oc1..exampleuniqueID`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the repository should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the repository should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -153,8 +153,8 @@ def change_repository_compartment(ctx, from_json, repository_id, compartment_id,
@container_image_signature_group.command(name=cli_util.override('artifacts.create_container_image_signature.command_name', 'create'), help=u"""Upload a signature to an image. \n[Command Reference](createContainerImageSignature)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the container repository exists.""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the container image.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the container repository exists.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container image.
Example: `ocid1.containerimage.oc1..exampleuniqueID`""")
@cli_util.option('--kms-key-id', required=True, help=u"""The [OCID] of the kmsKeyId used to sign the container image.
@@ -235,7 +235,7 @@ def create_container_image_signature(ctx, from_json, wait_for_state, max_wait_se
@container_repository_group.command(name=cli_util.override('artifacts.create_container_repository.command_name', 'create'), help=u"""Create a new empty container repository. Avoid entering confidential information. \n[Command Reference](createContainerRepository)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to create the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to create the resource.""")
@cli_util.option('--display-name', required=True, help=u"""The container repository name.""")
@cli_util.option('--is-immutable', type=click.BOOL, help=u"""Whether the repository is immutable. Images cannot be overwritten in an immutable repository.""")
@cli_util.option('--is-public', type=click.BOOL, help=u"""Whether the repository is public. A public repository allows unauthenticated access.""")
@@ -310,7 +310,7 @@ def create_container_repository(ctx, from_json, wait_for_state, max_wait_seconds
@repository_group.command(name=cli_util.override('artifacts.create_repository.command_name', 'create'), help=u"""Creates a new repository for storing artifacts. \n[Command Reference](createRepository)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the repository's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the repository's compartment.""")
@cli_util.option('--repository-type', required=True, help=u"""The repository's supported artifact type.""")
@cli_util.option('--is-immutable', required=True, type=click.BOOL, help=u"""Whether to make the repository immutable. The artifacts of an immutable repository cannot be overwritten.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the repository. If not present, will be auto-generated. It can be modified later. Avoid entering confidential information.""")
@@ -383,7 +383,7 @@ def create_repository(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@repository_group.command(name=cli_util.override('artifacts.create_repository_create_generic_repository_details.command_name', 'create-repository-create-generic-repository-details'), help=u"""Creates a new repository for storing artifacts. \n[Command Reference](createRepository)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the repository's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the repository's compartment.""")
@cli_util.option('--is-immutable', required=True, type=click.BOOL, help=u"""Whether to make the repository immutable. The artifacts of an immutable repository cannot be overwritten.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the repository. If not present, will be auto-generated. It can be modified later. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the repository. It can be updated later.""")
@@ -456,7 +456,7 @@ def create_repository_create_generic_repository_details(ctx, from_json, wait_for
@container_image_group.command(name=cli_util.override('artifacts.delete_container_image.command_name', 'delete'), help=u"""Delete a container image. \n[Command Reference](deleteContainerImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the container image.
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container image.
Example: `ocid1.containerimage.oc1..exampleuniqueID`""")
@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.""")
@@ -828,7 +828,7 @@ def delete_repository(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@container_configuration_group.command(name=cli_util.override('artifacts.get_container_configuration.command_name', 'get'), help=u"""Get container configuration. \n[Command Reference](getContainerConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -847,7 +847,7 @@ def get_container_configuration(ctx, from_json, compartment_id):
@container_image_group.command(name=cli_util.override('artifacts.get_container_image.command_name', 'get'), help=u"""Get container image metadata. \n[Command Reference](getContainerImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the container image.
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container image.
Example: `ocid1.containerimage.oc1..exampleuniqueID`""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1005,9 +1005,9 @@ def get_repository(ctx, from_json, repository_id):
@container_image_signature_summary_group.command(name=cli_util.override('artifacts.list_container_image_signatures.command_name', 'list-container-image-signatures'), help=u"""List container image signatures in an image. \n[Command Reference](listContainerImageSignatures)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are inspected depending on the the setting of `accessLevel`. Default is false. Can only be set to true when calling the API on the tenancy (root compartment).""")
-@cli_util.option('--image-id', help=u"""A filter to return a container image summary only for the specified container image OCID.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""A filter to return a container image summary only for the specified container image OCID.""")
@cli_util.option('--repository-id', help=u"""A filter to return container images only for the specified container repository OCID.""")
@cli_util.option('--repository-name', help=u"""A filter to return container images or container image signatures that match the repository name.
@@ -1098,10 +1098,10 @@ def list_container_image_signatures(ctx, from_json, all_pages, page_size, compar
@container_image_summary_group.command(name=cli_util.override('artifacts.list_container_images.command_name', 'list-container-images'), help=u"""List container images in a compartment. \n[Command Reference](listContainerImages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are inspected depending on the the setting of `accessLevel`. Default is false. Can only be set to true when calling the API on the tenancy (root compartment).""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
-@cli_util.option('--image-id', help=u"""A filter to return a container image summary only for the specified container image OCID.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""A filter to return a container image summary only for the specified container image OCID.""")
@cli_util.option('--is-versioned', type=click.BOOL, help=u"""A filter to return container images based on whether there are any associated versions.""")
@cli_util.option('--repository-id', help=u"""A filter to return container images only for the specified container repository OCID.""")
@cli_util.option('--repository-name', help=u"""A filter to return container images or container image signatures that match the repository name.
@@ -1189,7 +1189,7 @@ def list_container_images(ctx, from_json, all_pages, page_size, compartment_id,
@container_repository_group.command(name=cli_util.override('artifacts.list_container_repositories.command_name', 'list'), help=u"""List container repositories in a compartment. \n[Command Reference](listContainerRepositories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are inspected depending on the the setting of `accessLevel`. Default is false. Can only be set to true when calling the API on the tenancy (root compartment).""")
@cli_util.option('--repository-id', help=u"""A filter to return container images only for the specified container repository OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -1262,7 +1262,7 @@ def list_container_repositories(ctx, from_json, all_pages, page_size, compartmen
@generic_artifact_group.command(name=cli_util.override('artifacts.list_generic_artifacts.command_name', 'list'), help=u"""Lists artifacts in the specified repository. \n[Command Reference](listGenericArtifacts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--repository-id', required=True, help=u"""A filter to return the artifacts only for the specified repository OCID.""")
@cli_util.option('--id', help=u"""A filter to return the resources for the specified OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -1342,7 +1342,7 @@ def list_generic_artifacts(ctx, from_json, all_pages, page_size, compartment_id,
@repository_group.command(name=cli_util.override('artifacts.list_repositories.command_name', 'list'), help=u"""Lists repositories in the specified compartment. \n[Command Reference](listRepositories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""A filter to return the resources for the specified OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--is-immutable', type=click.BOOL, help=u"""A filter to return resources that match the isImmutable value.""")
@@ -1435,7 +1435,7 @@ def lookup_container_image_by_uri(ctx, from_json, image_uri):
@container_image_group.command(name=cli_util.override('artifacts.remove_container_version.command_name', 'remove'), help=u"""Remove version from container image. \n[Command Reference](removeContainerVersion)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the container image.
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container image.
Example: `ocid1.containerimage.oc1..exampleuniqueID`""")
@cli_util.option('--version-parameterconflict', required=True, help=u"""The version to remove.""")
@@ -1494,7 +1494,7 @@ def remove_container_version(ctx, from_json, wait_for_state, max_wait_seconds, w
@container_image_group.command(name=cli_util.override('artifacts.restore_container_image.command_name', 'restore'), help=u"""Restore a container image. \n[Command Reference](restoreContainerImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the container image.
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container image.
Example: `ocid1.containerimage.oc1..exampleuniqueID`""")
@cli_util.option('--version-parameterconflict', help=u"""Optional version to associate with image.""")
@@ -1555,7 +1555,7 @@ def restore_container_image(ctx, from_json, wait_for_state, max_wait_seconds, wa
@container_configuration_group.command(name=cli_util.override('artifacts.update_container_configuration.command_name', 'update'), help=u"""Update container configuration. \n[Command Reference](updateContainerConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--is-repository-created-on-first-push', type=click.BOOL, help=u"""Whether to create a new container repository when a container is pushed to a new repository path. Repositories created in this way belong to the root compartment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1585,7 +1585,7 @@ def update_container_configuration(ctx, from_json, compartment_id, is_repository
@container_image_group.command(name=cli_util.override('artifacts.update_container_image.command_name', 'update'), help=u"""Modify the properties of a container image. Avoid entering confidential information. \n[Command Reference](updateContainerImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the container image.
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container image.
Example: `ocid1.containerimage.oc1..exampleuniqueID`""")
@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].
diff --git a/services/audit/src/oci_cli_audit/generated/audit_cli.py b/services/audit/src/oci_cli_audit/generated/audit_cli.py
index eea3eddd..fb81eae9 100644
--- a/services/audit/src/oci_cli_audit/generated/audit_cli.py
+++ b/services/audit/src/oci_cli_audit/generated/audit_cli.py
@@ -42,7 +42,7 @@ def configuration_group():
@configuration_group.command(name=cli_util.override('audit.get_configuration.command_name', 'get'), help=u"""Get the configuration \n[Command Reference](getConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""ID of the root compartment (tenancy)""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the root compartment (tenancy)""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -60,7 +60,7 @@ def get_configuration(ctx, from_json, compartment_id):
@audit_event_group.command(name=cli_util.override('audit.list_events.command_name', 'list-events'), help=u"""Returns all the audit events processed for the specified compartment within the specified time range. \n[Command Reference](listEvents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--start-time', required=True, type=custom_types.CLI_DATETIME, help=u"""Returns events that were processed at or after this start date and time, expressed in [RFC 3339] timestamp format.
For example, a start value of `2017-01-15T11:30:00Z` will retrieve a list of all events processed since 30 minutes after the 11th hour of January 15, 2017, in Coordinated Universal Time (UTC). You can specify a value with granularity to the minute. Seconds (and milliseconds, if included) must be set to `0`.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -100,7 +100,7 @@ def list_events(ctx, from_json, all_pages, compartment_id, start_time, end_time,
@configuration_group.command(name=cli_util.override('audit.update_configuration.command_name', 'update'), help=u"""Update the configuration \n[Command Reference](updateConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""ID of the root compartment (tenancy)""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the root compartment (tenancy)""")
@cli_util.option('--retention-period-days', required=True, type=click.INT, help=u"""The retention period setting, specified in days. The minimum is 90, the maximum 365.
Example: `90`""")
diff --git a/services/autoscaling/src/oci_cli_auto_scaling/generated/autoscaling_cli.py b/services/autoscaling/src/oci_cli_auto_scaling/generated/autoscaling_cli.py
index 72d0d423..10a87893 100644
--- a/services/autoscaling/src/oci_cli_auto_scaling/generated/autoscaling_cli.py
+++ b/services/autoscaling/src/oci_cli_auto_scaling/generated/autoscaling_cli.py
@@ -57,7 +57,7 @@ def auto_scaling_policy_group():
When you move an autoscaling configuration to a different compartment, associated resources such as instance pools are not moved. \n[Command Reference](changeAutoScalingConfigurationCompartment)""")
@cli_util.option('--auto-scaling-configuration-id', required=True, help=u"""The [OCID] of the autoscaling configuration.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the autoscaling configuration to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the autoscaling configuration to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -87,7 +87,7 @@ def change_auto_scaling_configuration_compartment(ctx, from_json, auto_scaling_c
@auto_scaling_configuration_group.command(name=cli_util.override('autoscaling.create_auto_scaling_configuration.command_name', 'create'), help=u"""Creates an autoscaling configuration. \n[Command Reference](createAutoScalingConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the autoscaling configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the autoscaling configuration.""")
@cli_util.option('--policies', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--resource', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -140,7 +140,7 @@ def create_auto_scaling_configuration(ctx, from_json, compartment_id, policies,
@auto_scaling_configuration_group.command(name=cli_util.override('autoscaling.create_auto_scaling_configuration_instance_pool_resource.command_name', 'create-auto-scaling-configuration-instance-pool-resource'), help=u"""Creates an autoscaling configuration. \n[Command Reference](createAutoScalingConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the autoscaling configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the autoscaling configuration.""")
@cli_util.option('--policies', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--resource-id', required=True, help=u"""The [OCID] of the resource that is managed by the autoscaling configuration.""")
@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].
@@ -448,7 +448,7 @@ def get_auto_scaling_policy(ctx, from_json, auto_scaling_configuration_id, auto_
@auto_scaling_configuration_group.command(name=cli_util.override('autoscaling.list_auto_scaling_configurations.command_name', 'list'), help=u"""Lists autoscaling configurations in the specifed compartment. \n[Command Reference](listAutoScalingConfigurations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the resource. Use tenancyId to search in the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the resource. Use tenancyId to search in the root compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return in a paginated \"List\" call. For important details about how pagination works, see [List Pagination].""")
@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].""")
diff --git a/services/bastion/src/oci_cli_bastion/generated/bastion_cli.py b/services/bastion/src/oci_cli_bastion/generated/bastion_cli.py
index 730dd1a8..7a352e2a 100644
--- a/services/bastion/src/oci_cli_bastion/generated/bastion_cli.py
+++ b/services/bastion/src/oci_cli_bastion/generated/bastion_cli.py
@@ -61,7 +61,7 @@ def work_request_group():
@bastion_group.command(name=cli_util.override('bastion.change_bastion_compartment.command_name', 'change-compartment'), help=u"""Moves a bastion into a different compartment. \n[Command Reference](changeBastionCompartment)""")
@cli_util.option('--bastion-id', required=True, help=u"""The unique identifier (OCID) of the bastion.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment that the bastion should move to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment that the bastion should move to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -92,7 +92,7 @@ def change_bastion_compartment(ctx, from_json, bastion_id, compartment_id, if_ma
@bastion_group.command(name=cli_util.override('bastion.create_bastion.command_name', 'create'), help=u"""Creates a new bastion. A bastion provides secured, public access to target resources in the cloud that you cannot otherwise reach from the internet. A bastion resides in a public subnet and establishes the network infrastructure needed to connect a user to a target resource in a private subnet. \n[Command Reference](createBastion)""")
@cli_util.option('--bastion-type', required=True, help=u"""The type of bastion. Use `standard`.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment where the bastion is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment where the bastion is located.""")
@cli_util.option('--target-subnet-id', required=True, help=u"""The unique identifier (OCID) of the subnet that the bastion connects to.""")
@cli_util.option('--name', help=u"""The name of the bastion, which can't be changed after creation.""")
@cli_util.option('--phone-book-entry', help=u"""The phonebook entry of the customer's team, which can't be changed after creation. Not applicable to `standard` bastions.""")
@@ -669,7 +669,7 @@ def get_work_request(ctx, from_json, work_request_id):
@bastion_group.command(name=cli_util.override('bastion.list_bastions.command_name', 'list'), help=u"""Retrieves a list of BastionSummary objects in a compartment. Bastions provide secured, public access to target resources in the cloud that you cannot otherwise reach from the internet. \n[Command Reference](listBastions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment in which to list resources.""")
@cli_util.option('--bastion-lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--bastion-id', help=u"""The unique identifier (OCID) of the bastion in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@@ -897,7 +897,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('bastion.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
diff --git a/services/batch/src/oci_cli_batch_computing/generated/batchcomputing_cli.py b/services/batch/src/oci_cli_batch_computing/generated/batchcomputing_cli.py
index 27b50513..9164d364 100644
--- a/services/batch/src/oci_cli_batch_computing/generated/batchcomputing_cli.py
+++ b/services/batch/src/oci_cli_batch_computing/generated/batchcomputing_cli.py
@@ -204,7 +204,7 @@ def cancel_batch_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@batch_context_group.command(name=cli_util.override('batch.change_batch_context_compartment.command_name', 'change-compartment'), help=u"""Moves a batch context 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](changeBatchContextCompartment)""")
@cli_util.option('--batch-context-id', required=True, help=u"""The [OCID] of the batch context.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the batch context to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the batch context to.""")
@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.""")
@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.""")
@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.""")
@@ -265,7 +265,7 @@ def change_batch_context_compartment(ctx, from_json, wait_for_state, max_wait_se
@batch_job_group.command(name=cli_util.override('batch.change_batch_job_compartment.command_name', 'change-compartment'), help=u"""Moves a batch job 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](changeBatchJobCompartment)""")
@cli_util.option('--batch-job-id', required=True, help=u"""The [OCID] of the batch job.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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.""")
@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.""")
@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.""")
@@ -326,7 +326,7 @@ def change_batch_job_compartment(ctx, from_json, wait_for_state, max_wait_second
@batch_job_pool_group.command(name=cli_util.override('batch.change_batch_job_pool_compartment.command_name', 'change-compartment'), help=u"""Moves a batch job pool 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](changeBatchJobPoolCompartment)""")
@cli_util.option('--batch-job-pool-id', required=True, help=u"""The [OCID] of the batch job pool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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.""")
@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.""")
@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.""")
@@ -387,7 +387,7 @@ def change_batch_job_pool_compartment(ctx, from_json, wait_for_state, max_wait_s
@batch_task_environment_group.command(name=cli_util.override('batch.change_batch_task_environment_compartment.command_name', 'change-compartment'), help=u"""Moves a batch task environment 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](changeBatchTaskEnvironmentCompartment)""")
@cli_util.option('--batch-task-environment-id', required=True, help=u"""The [OCID] of the batch task environment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the batch task environment to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the batch task environment to.""")
@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.""")
@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.""")
@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.""")
@@ -448,7 +448,7 @@ def change_batch_task_environment_compartment(ctx, from_json, wait_for_state, ma
@batch_task_profile_group.command(name=cli_util.override('batch.change_batch_task_profile_compartment.command_name', 'change-compartment'), help=u"""Moves a batch task profile 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](changeBatchTaskProfileCompartment)""")
@cli_util.option('--batch-task-profile-id', required=True, help=u"""The [OCID] of the batch task profile.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the batch task profile to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the batch task profile to.""")
@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.""")
@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.""")
@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.""")
@@ -508,7 +508,7 @@ def change_batch_task_profile_compartment(ctx, from_json, wait_for_state, max_wa
@batch_context_group.command(name=cli_util.override('batch.create_batch_context.command_name', 'create'), help=u"""Creates a batch context. \n[Command Reference](createBatchContext)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--network', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--fleets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of fleet configurations related to the batch context.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. If not specified or provided as null or empty string, it will be generated as \"\", where timeCreated corresponds with the resource creation time in ISO 8601 basic format, i.e. omitting separating punctuation, at second-level precision and no UTC offset. Example: batchcontext20250914115623.""")
@@ -599,7 +599,7 @@ def create_batch_context(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@batch_context_group.command(name=cli_util.override('batch.create_batch_context_oci_logging_configuration.command_name', 'create-batch-context-oci-logging-configuration'), help=u"""Creates a batch context. \n[Command Reference](createBatchContext)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--network', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--fleets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of fleet configurations related to the batch context.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--logging-configuration-log-group-id', required=True, help=u"""The [OCID] of the log group.""")
@@ -693,7 +693,7 @@ def create_batch_context_oci_logging_configuration(ctx, from_json, wait_for_stat
@batch_job_group.command(name=cli_util.override('batch.create_batch_job.command_name', 'create'), help=u"""Creates a batch job. \n[Command Reference](createBatchJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--batch-job-pool-id', required=True, help=u"""The [OCID] of the parent batch job pool.""")
@cli_util.option('--tasks', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of tasks to be executed within this job. Maximum number of tasks a job can have in total, across all nested levels, is 1000.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. If not specified or provided as null or empty string, it will be generated as \"\", where timeCreated corresponds with the resource creation time in ISO 8601 basic format, i.e. omitting separating punctuation, at second-level precision and no UTC offset. Example: batchjob20250914115623.""")
@@ -776,7 +776,7 @@ def create_batch_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@batch_job_pool_group.command(name=cli_util.override('batch.create_batch_job_pool.command_name', 'create'), help=u"""Creates a batch job pool. \n[Command Reference](createBatchJobPool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--batch-context-id', required=True, help=u"""The OCID of batch context.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. If not specified or provided as null or empty string, it be generated as \"\", where timeCreated corresponds with the resource creation time in ISO 8601 basic format, i.e. omitting separating punctuation, at second-level precision and no UTC offset. Example: batchjobpool20250914115623.""")
@cli_util.option('--description', help=u"""Summarized information about the batch job pool.""")
@@ -847,7 +847,7 @@ def create_batch_job_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait
@batch_task_environment_group.command(name=cli_util.override('batch.create_batch_task_environment.command_name', 'create'), help=u"""Creates a batch task environment. \n[Command Reference](createBatchTaskEnvironment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--image-url', required=True, help=u"""The URL of the ocir image.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. If not specified or provided as null or empty string, it be generated as \"\", where timeCreated corresponds with the resource creation time in ISO 8601 basic format, i.e. omitting separating punctuation, at second-level precision and no UTC offset. Example: batchtaskenvironment20250914115623.""")
@cli_util.option('--description', help=u"""The batch task environment description.""")
@@ -932,7 +932,7 @@ def create_batch_task_environment(ctx, from_json, wait_for_state, max_wait_secon
@batch_task_profile_group.command(name=cli_util.override('batch.create_batch_task_profile.command_name', 'create'), help=u"""Creates a batch task profile. \n[Command Reference](createBatchTaskProfile)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--min-ocpus', required=True, type=click.INT, help=u"""The minimum required OCPUs.""")
@cli_util.option('--min-memory-in-gbs', required=True, type=click.INT, help=u"""The minimum required memory.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. If not specified or provided as null or empty string, it be generated as \"\", where timeCreated corresponds with the resource creation time in ISO 8601 basic format, i.e. omitting separating punctuation, at second-level precision and no UTC offset. Example: batchtaskprofile20250914115623.""")
@@ -1412,7 +1412,7 @@ def get_work_request(ctx, from_json, work_request_id):
@batch_context_shape_collection_group.command(name=cli_util.override('batch.list_batch_context_shapes.command_name', 'list-batch-context-shapes'), help=u"""Lists the shapes allowed to be specified during batch context creation. Ordered by the shape name. \n[Command Reference](listBatchContextShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.""")
@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].""")
@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].""")
@@ -1463,7 +1463,7 @@ def list_batch_context_shapes(ctx, from_json, all_pages, page_size, compartment_
@batch_context_collection_group.command(name=cli_util.override('batch.list_batch_contexts.command_name', 'list-batch-contexts'), help=u"""Lists the batch contexts by compartment or context [OCID]. You can filter and sort them by various properties like lifecycle state, name and also ocid. All properties require an exact match. List operation only provides a summary information, use GetBatchContext to get the full details on a specific context \n[Command Reference](listBatchContexts)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the batch context.""")
@@ -1525,7 +1525,7 @@ def list_batch_contexts(ctx, from_json, all_pages, page_size, compartment_id, li
@batch_job_pool_collection_group.command(name=cli_util.override('batch.list_batch_job_pools.command_name', 'list-batch-job-pools'), help=u"""Lists the batch job pools by compartment or job pool [OCID]. You can filter and sort them by various properties like lifecycle state, display name and also ocid. All properties require an exact match. List operation only provides a summary information, use GetBatchJobPool to get the full details on a specific context \n[Command Reference](listBatchJobPools)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "UPDATING", "NEEDS_ATTENTION", "DELETED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the batch job pool.""")
@@ -1653,7 +1653,7 @@ def list_batch_job_tasks(ctx, from_json, all_pages, page_size, batch_job_id, lif
@batch_job_collection_group.command(name=cli_util.override('batch.list_batch_jobs.command_name', 'list-batch-jobs'), help=u"""Lists the batch jobs by compartment or job [OCID]. You can filter and sort them by various properties like lifecycle state, display name and also ocid. All properties require an exact match. List operation only provides a summary information, use GetBatchJob to get the full details on a specific context \n[Command Reference](listBatchJobs)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "WAITING", "IN_PROGRESS", "SUCCEEDED", "NEEDS_ATTENTION", "FAILED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the batch job.""")
@@ -1718,7 +1718,7 @@ def list_batch_jobs(ctx, from_json, all_pages, page_size, compartment_id, lifecy
@batch_task_environment_collection_group.command(name=cli_util.override('batch.list_batch_task_environments.command_name', 'list-batch-task-environments'), help=u"""Lists the task environments by compartment or environment [OCID]. You can filter and sort them by various properties like lifecycle state, display name and also ocid. All properties require an exact match. List operation only provides a summary information, use GetBatchTaskEnvironment to get the full details on a specific context \n[Command Reference](listBatchTaskEnvironments)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the batch task environment.""")
@@ -1780,7 +1780,7 @@ def list_batch_task_environments(ctx, from_json, all_pages, page_size, compartme
@batch_task_profile_collection_group.command(name=cli_util.override('batch.list_batch_task_profiles.command_name', 'list-batch-task-profiles'), help=u"""Lists the task profiles by compartment or profile [OCID]. You can filter and sort them by various properties like lifecycle state, name and also ocid. All properties require an exact match. List operation only provides a summary information, use GetBatchTaskProfile to get the full details on a specific context \n[Command Reference](listBatchTaskProfiles)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the batch task profile.""")
@@ -1842,7 +1842,7 @@ def list_batch_task_profiles(ctx, from_json, all_pages, page_size, compartment_i
@batch_task_collection_group.command(name=cli_util.override('batch.list_batch_tasks.command_name', 'list-batch-tasks'), help=u"""Lists the batch tasks associated with batch jobs. \n[Command Reference](listBatchTasks)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--batch-job-id', help=u"""The [OCID] of the batch job.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "WAITING", "IN_PROGRESS", "SUCCEEDED", "FAILED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--name', help=u"""The name of the task.""")
@@ -2018,7 +2018,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('batch.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/bds/src/oci_cli_bds/generated/bds_cli.py b/services/bds/src/oci_cli_bds/generated/bds_cli.py
index b3e40601..3e000c55 100644
--- a/services/bds/src/oci_cli_bds/generated/bds_cli.py
+++ b/services/bds/src/oci_cli_bds/generated/bds_cli.py
@@ -259,7 +259,7 @@ def activate_iam_user_sync_configuration(ctx, from_json, wait_for_state, max_wai
@cli_util.option('--bds-instance-id', required=True, help=u"""The OCID of the cluster.""")
@cli_util.option('--identity-configuration-id', required=True, help=u"""The OCID of the identity configuration""")
@cli_util.option('--cluster-admin-password', required=True, help=u"""Base-64 encoded password for the cluster admin user.""")
-@cli_util.option('--vault-id', required=True, help=u"""OCID of the vault to store token exchange service principal keyta, required for creating UPST configb""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the vault to store token exchange service principal keyta, required for creating UPST configb""")
@cli_util.option('--master-encryption-key-id', required=True, help=u"""OCID of the master encryption key in vault for encrypting token exchange service principal keytab, required for creating UPST config""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -1412,7 +1412,7 @@ def certificate_service_info(ctx, from_json, bds_instance_id, services, if_match
@bds_instance_group.command(name=cli_util.override('bds.change_bds_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a Big Data Service cluster into a different compartment. \n[Command Reference](changeBdsInstanceCompartment)""")
@cli_util.option('--bds-instance-id', required=True, help=u"""The OCID of the cluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1536,7 +1536,7 @@ def change_shape(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@bds_api_key_group.command(name=cli_util.override('bds.create_bds_api_key.command_name', 'create'), help=u"""Create an API key on behalf of the specified user. \n[Command Reference](createBdsApiKey)""")
@cli_util.option('--bds-instance-id', required=True, help=u"""The OCID of the cluster.""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user for whom this new generated API key pair will be created.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user for whom this new generated API key pair will be created.""")
@cli_util.option('--passphrase', required=True, help=u"""Base64 passphrase used to secure the private key which will be created on user behalf.""")
@cli_util.option('--key-alias', required=True, help=u"""User friendly identifier used to uniquely differentiate between different API keys associated with this Big Data Service cluster. Only ASCII alphanumeric characters with no spaces allowed.""")
@cli_util.option('--default-region', help=u"""The name of the region to establish the Object Storage endpoint. See https://docs.oracle.com/en-us/iaas/api/#/en/identity/20160918/Region/ for additional information.""")
@@ -1605,7 +1605,7 @@ def create_bds_api_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@bds_capacity_report_group.command(name=cli_util.override('bds.create_bds_capacity_report.command_name', 'create'), help=u"""Create a detailed capacity report for BDS service \n[Command Reference](createBdsCapacityReport)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment. This should always be the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment. This should always be the root compartment.""")
@cli_util.option('--shape-availabilities', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Information about the shapes in the capacity report.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'shape-availabilities': {'module': 'bds', 'class': 'list[CreateCapacityReportShapeAvailabilityDetails]'}})
@cli_util.help_option
@@ -1630,7 +1630,7 @@ def create_bds_capacity_report(ctx, from_json, compartment_id, shape_availabilit
@bds_instance_group.command(name=cli_util.override('bds.create_bds_instance.command_name', 'create'), help=u"""Creates a Big Data Service cluster. \n[Command Reference](createBdsInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""Name of the Big Data Service cluster.""")
@cli_util.option('--cluster-version', required=True, help=u"""Version of the Hadoop distribution.""")
@cli_util.option('--cluster-public-key', required=True, help=u"""The SSH public key used to authenticate the cluster connection.""")
@@ -4101,7 +4101,7 @@ def install_software_updates(ctx, from_json, wait_for_state, max_wait_seconds, w
@bds_instance_group.command(name=cli_util.override('bds.list_auto_scaling_configurations.command_name', 'list-auto-scaling-configurations'), help=u"""Returns information about the autoscaling configurations for a cluster. \n[Command Reference](listAutoScalingConfigurations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--bds-instance-id', required=True, help=u"""The OCID of the cluster.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -4170,7 +4170,7 @@ def list_auto_scaling_configurations(ctx, from_json, all_pages, page_size, compa
@bds_api_key_group.command(name=cli_util.override('bds.list_bds_api_keys.command_name', 'list'), help=u"""Returns a list of all API keys associated with this Big Data Service cluster. \n[Command Reference](listBdsApiKeys)""")
@cli_util.option('--bds-instance-id', required=True, help=u"""The OCID of the cluster.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The state of the API key.""")
-@cli_util.option('--user-id', help=u"""The OCID of the user for whom the API key belongs.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The OCID of the user for whom the API key belongs.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified timeCreated is default.""")
@@ -4284,7 +4284,7 @@ def list_bds_cluster_versions(ctx, from_json, all_pages, page_size, page, limit,
@bds_instance_group.command(name=cli_util.override('bds.list_bds_instances.command_name', 'list'), help=u"""Returns a list of all Big Data Service clusters in a compartment. \n[Command Reference](listBdsInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "SUSPENDING", "SUSPENDED", "RESUMING", "DELETING", "DELETED", "FAILED", "INACTIVE"]), help=u"""The state of the cluster.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -4417,7 +4417,7 @@ def list_bds_metastore_configurations(ctx, from_json, all_pages, page_size, bds_
@identity_configuration_group.command(name=cli_util.override('bds.list_identity_configurations.command_name', 'list'), help=u"""Returns a list of all identity configurations associated with this Big Data Service cluster. \n[Command Reference](listIdentityConfigurations)""")
@cli_util.option('--bds-instance-id', required=True, help=u"""The OCID of the cluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending. If no value is specified timeCreated is default.""")
@@ -5089,7 +5089,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('bds.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--resource-id', help=u"""The OCID of the resource.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/blockchain/src/oci_cli_blockchain_platform/generated/blockchainplatform_cli.py b/services/blockchain/src/oci_cli_blockchain_platform/generated/blockchainplatform_cli.py
index c303ff7e..e04fb3e8 100644
--- a/services/blockchain/src/oci_cli_blockchain_platform/generated/blockchainplatform_cli.py
+++ b/services/blockchain/src/oci_cli_blockchain_platform/generated/blockchainplatform_cli.py
@@ -68,7 +68,7 @@ def work_request_group():
@blockchain_platform_group.command(name=cli_util.override('blockchain.change_blockchain_platform_compartment.command_name', 'change-compartment'), help=u"""Change Blockchain Platform Compartment \n[Command Reference](changeBlockchainPlatformCompartment)""")
@cli_util.option('--blockchain-platform-id', required=True, help=u"""Unique service identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the new compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -129,7 +129,7 @@ def change_blockchain_platform_compartment(ctx, from_json, wait_for_state, max_w
@blockchain_platform_group.command(name=cli_util.override('blockchain.create_blockchain_platform.command_name', 'create'), help=u"""Creates a new Blockchain Platform. \n[Command Reference](createBlockchainPlatform)""")
@cli_util.option('--display-name', required=True, help=u"""Platform Instance Display name, can be renamed""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--platform-role', required=True, help=u"""Role of platform - founder or participant""")
@cli_util.option('--compute-shape', required=True, help=u"""Compute shape - STANDARD or ENTERPRISE_SMALL or ENTERPRISE_MEDIUM or ENTERPRISE_LARGE or ENTERPRISE_EXTRA_LARGE""")
@cli_util.option('--idcs-access-token', required=True, help=u"""IDCS access token with Identity Domain Administrator role""")
@@ -731,7 +731,7 @@ def list_blockchain_platform_patches(ctx, from_json, all_pages, page_size, block
@blockchain_platform_group.command(name=cli_util.override('blockchain.list_blockchain_platforms.command_name', 'list'), help=u"""Returns a list Blockchain Platform Instances in a compartment \n[Command Reference](listBlockchainPlatforms)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Example: `My new resource`""")
@cli_util.option('--page', help=u"""The page at which to start retrieving results.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1013,7 +1013,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('blockchain.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--blockchain-platform-id', required=True, help=u"""Unique service identifier.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeStarted", "workRequestId"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for TIMESTARTED is descending. Default order for WORKREQUESTID is ascending. If no value is specified TIMESTARTED is default.""")
diff --git a/services/budget/src/oci_cli_budget/generated/budget_cli.py b/services/budget/src/oci_cli_budget/generated/budget_cli.py
index 79bef40d..f0aefbef 100644
--- a/services/budget/src/oci_cli_budget/generated/budget_cli.py
+++ b/services/budget/src/oci_cli_budget/generated/budget_cli.py
@@ -40,7 +40,7 @@ def budget_group():
@alert_rule_group.command(name=cli_util.override('budget.create_alert_rule.command_name', 'create'), help=u"""Creates a new Alert Rule. \n[Command Reference](createAlertRule)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACTUAL", "FORECAST"]), help=u"""The type of the alert. Valid values are ACTUAL (the alert triggers based on actual usage), or FORECAST (the alert triggers based on predicted usage).""")
@cli_util.option('--threshold', required=True, type=click.FLOAT, help=u"""The threshold for triggering the alert, expressed as a whole number or decimal value. If the thresholdType is ABSOLUTE, the threshold can have at most 12 digits before the decimal point, and up to two digits after the decimal point. If the thresholdType is PERCENTAGE, the maximum value is 10000 and can have up to two digits after the decimal point.""")
@cli_util.option('--threshold-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["PERCENTAGE", "ABSOLUTE"]), help=u"""The type of threshold.""")
@@ -126,7 +126,7 @@ def create_alert_rule(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@budget_group.command(name=cli_util.override('budget.create_budget.command_name', 'create'), help=u"""Creates a new budget. \n[Command Reference](createBudget)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--amount', required=True, type=click.FLOAT, help=u"""The amount of the budget expressed as a whole number in the currency of the customer's rate card.""")
@cli_util.option('--reset-period', required=True, type=custom_types.CliCaseInsensitiveChoice(["MONTHLY"]), help=u"""The reset period for the budget.""")
@cli_util.option('--target-compartment-id', help=u"""This is DEPRECATED. Set the target compartment ID in targets instead.""")
@@ -231,7 +231,7 @@ def create_budget(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@alert_rule_group.command(name=cli_util.override('budget.delete_alert_rule.command_name', 'delete'), help=u"""Deletes a specified Alert Rule resource. \n[Command Reference](deleteAlertRule)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@cli_util.option('--alert-rule-id', required=True, help=u"""The unique Alert Rule OCID.""")
@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.""")
@cli_util.confirm_delete_option
@@ -262,7 +262,7 @@ def delete_alert_rule(ctx, from_json, budget_id, alert_rule_id, if_match):
@budget_group.command(name=cli_util.override('budget.delete_budget.command_name', 'delete'), help=u"""Deletes a specified budget resource. \n[Command Reference](deleteBudget)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -326,7 +326,7 @@ def delete_budget(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@alert_rule_group.command(name=cli_util.override('budget.get_alert_rule.command_name', 'get'), help=u"""Gets an Alert Rule for a specified budget. \n[Command Reference](getAlertRule)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@cli_util.option('--alert-rule-id', required=True, help=u"""The unique Alert Rule OCID.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -353,7 +353,7 @@ def get_alert_rule(ctx, from_json, budget_id, alert_rule_id):
@budget_group.command(name=cli_util.override('budget.get_budget.command_name', 'get'), help=u"""Gets a budget by the identifier. \n[Command Reference](getBudget)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -375,7 +375,7 @@ def get_budget(ctx, from_json, budget_id):
@alert_rule_group.command(name=cli_util.override('budget.list_alert_rules.command_name', 'list'), help=u"""Returns a list of Alert Rules for a specified budget. \n[Command Reference](listAlertRules)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -446,7 +446,7 @@ def list_alert_rules(ctx, from_json, all_pages, page_size, budget_id, limit, pag
To list all budgets, set the targetType query parameter to ALL (for example: 'targetType=ALL').
Clients should ignore new targetTypes, or upgrade to the latest version of the client SDK to handle new targetTypes. \n[Command Reference](listBudgets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -511,7 +511,7 @@ def list_budgets(ctx, from_json, all_pages, page_size, compartment_id, limit, pa
@alert_rule_group.command(name=cli_util.override('budget.update_alert_rule.command_name', 'update'), help=u"""Update an Alert Rule for the budget identified by the OCID. \n[Command Reference](updateAlertRule)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@cli_util.option('--alert-rule-id', required=True, help=u"""The unique Alert Rule OCID.""")
@cli_util.option('--display-name', help=u"""The name of the alert rule. Avoid entering confidential information.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["ACTUAL", "FORECAST"]), help=u"""The type of the alert. Valid values are ACTUAL (the alert triggers based on actual usage), or FORECAST (the alert triggers based on predicted usage).""")
@@ -616,7 +616,7 @@ def update_alert_rule(ctx, from_json, force, wait_for_state, max_wait_seconds, w
@budget_group.command(name=cli_util.override('budget.update_budget.command_name', 'update'), help=u"""Update a budget identified by the OCID. \n[Command Reference](updateBudget)""")
-@cli_util.option('--budget-id', required=True, help=u"""The unique budget OCID.""")
+@cli_util.option('--budget-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique budget OCID.""")
@cli_util.option('--display-name', help=u"""The displayName of the budget. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""The description of the budget.""")
@cli_util.option('--amount', type=click.FLOAT, help=u"""The amount of the budget expressed as a whole number in the currency of the customer's rate card.""")
diff --git a/services/budget/src/oci_cli_cost_ad/generated/costad_cli.py b/services/budget/src/oci_cli_cost_ad/generated/costad_cli.py
index 194c62e0..ef80bfaa 100644
--- a/services/budget/src/oci_cli_cost_ad/generated/costad_cli.py
+++ b/services/budget/src/oci_cli_cost_ad/generated/costad_cli.py
@@ -68,7 +68,7 @@ def cost_anomaly_event_collection_group():
@cost_alert_subscription_group.command(name=cli_util.override('cost_ad.create_cost_alert_subscription.command_name', 'create'), help=u"""Creates a new CostAlert Subscription. \n[Command Reference](createCostAlertSubscription)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--name', required=True, help=u"""The name of the cost alert subscription. Avoid entering confidential information.""")
@cli_util.option('--channels', required=True, help=u"""The notification channels string.""")
@cli_util.option('--description', help=u"""The description of the cost alert subscription.""")
@@ -137,7 +137,7 @@ def create_cost_alert_subscription(ctx, from_json, wait_for_state, max_wait_seco
@cost_anomaly_monitor_group.command(name=cli_util.override('cost_ad.create_cost_anomaly_monitor.command_name', 'create'), help=u"""Creates a new costAnomaly Monitor. \n[Command Reference](createCostAnomalyMonitor)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--name', required=True, help=u"""The name of the cost anomaly monitor. Avoid entering confidential information.""")
@cli_util.option('--target-resource-filter', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""The description of the cost anomaly monitor.""")
@@ -210,7 +210,7 @@ def create_cost_anomaly_monitor(ctx, from_json, wait_for_state, max_wait_seconds
@cost_alert_subscription_group.command(name=cli_util.override('cost_ad.delete_cost_alert_subscription.command_name', 'delete'), help=u"""Deletes a specified CostAlertSubscription resource. \n[Command Reference](deleteCostAlertSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The unique costAlertSubscription OCID.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique costAlertSubscription OCID.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -440,7 +440,7 @@ def enable_cost_anomaly_monitor(ctx, from_json, wait_for_state, max_wait_seconds
@cost_alert_subscription_group.command(name=cli_util.override('cost_ad.get_cost_alert_subscription.command_name', 'get'), help=u"""Gets a CostAlertSubscription by the identifier. \n[Command Reference](getCostAlertSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The unique costAlertSubscription OCID.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique costAlertSubscription OCID.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -506,7 +506,7 @@ def get_cost_anomaly_monitor(ctx, from_json, cost_anomaly_monitor_id):
@cost_alert_subscription_collection_group.command(name=cli_util.override('cost_ad.list_cost_alert_subscriptions.command_name', 'list-subs'), help=u"""Gets a list of Cost Alert Subscription in a compartment. \n[Command Reference](listCostAlertSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -566,7 +566,7 @@ def list_cost_alert_subscriptions(ctx, from_json, all_pages, page_size, compartm
@cost_anomaly_event_collection_group.command(name=cli_util.override('cost_ad.list_cost_anomaly_events.command_name', 'list-events'), help=u"""Gets a list of Cost Anomaly Event in a compartment. \n[Command Reference](listCostAnomalyEvents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -644,7 +644,7 @@ def list_cost_anomaly_events(ctx, from_json, all_pages, page_size, compartment_i
@cost_anomaly_monitor_collection_group.command(name=cli_util.override('cost_ad.list_cost_anomaly_monitors.command_name', 'list-monitors'), help=u"""Gets a list of Cost Anomaly Monitors in a compartment. \n[Command Reference](listCostAnomalyMonitors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -710,7 +710,7 @@ def list_cost_anomaly_monitors(ctx, from_json, all_pages, page_size, compartment
@cost_anomaly_event_group.command(name=cli_util.override('cost_ad.summarize_cost_anomaly_event_analytics.command_name', 'anomaly-events-stats'), help=u"""Gets a list of Cost Anomaly Events analytics summary - aggregated metrics for a given time period. \n[Command Reference](summarizeCostAnomalyEventAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -765,7 +765,7 @@ def summarize_cost_anomaly_event_analytics(ctx, from_json, compartment_id, limit
@cost_alert_subscription_group.command(name=cli_util.override('cost_ad.update_cost_alert_subscription.command_name', 'update'), help=u"""Update a CostAlertSubscription identified by the OCID. \n[Command Reference](updateCostAlertSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The unique costAlertSubscription OCID.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique costAlertSubscription OCID.""")
@cli_util.option('--description', help=u"""The description of the cost alert subscription.""")
@cli_util.option('--channels', help=u"""The notification channels string.""")
@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].
diff --git a/services/capacity_management/src/oci_cli_capacity_management/generated/capacitymanagement_cli.py b/services/capacity_management/src/oci_cli_capacity_management/generated/capacitymanagement_cli.py
index 2f956a38..3f87167c 100644
--- a/services/capacity_management/src/oci_cli_capacity_management/generated/capacitymanagement_cli.py
+++ b/services/capacity_management/src/oci_cli_capacity_management/generated/capacitymanagement_cli.py
@@ -118,7 +118,7 @@ def occ_availability_collection_group():
@occ_availability_catalog_group.command(name=cli_util.override('capacity_management.create_occ_availability_catalog.command_name', 'create'), help=u"""Create availability catalog \n[Command Reference](createOccAvailabilityCatalog)""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The OCID of the customer group.""")
@cli_util.option('--namespace', required=True, type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The name of the OCI service in consideration. For example, Compute, Exadata, and so on.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Since all resources are at tenancy level hence this will be the ocid of the tenancy where operation is to be performed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Since all resources are at tenancy level hence this will be the ocid of the tenancy where operation is to be performed.""")
@cli_util.option('--base64-encoded-catalog-details', required=True, help=u"""The base 64 encoded string corresponding to the catalog file contents.""")
@cli_util.option('--display-name', required=True, help=u"""The display name of the availability catalog.""")
@cli_util.option('--metadata-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -189,7 +189,7 @@ def create_occ_availability_catalog(ctx, from_json, wait_for_state, max_wait_sec
@occ_capacity_request_group.command(name=cli_util.override('capacity_management.create_occ_capacity_request.command_name', 'create'), help=u"""Create Capacity Request. \n[Command Reference](createOccCapacityRequest)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Since all resources are at tenancy level hence this will be the ocid of the tenancy where operation is to be performed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Since all resources are at tenancy level hence this will be the ocid of the tenancy where operation is to be performed.""")
@cli_util.option('--namespace', required=True, type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The name of the OCI service in consideration. For example, Compute, Exadata, and so on.""")
@cli_util.option('--region-parameterconflict', required=True, help=u"""The name of the region for which the capacity request is made.""")
@cli_util.option('--display-name', required=True, help=u"""An user-friendly name for the capacity request. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@@ -280,7 +280,7 @@ def create_occ_capacity_request(ctx, from_json, wait_for_state, max_wait_seconds
@occ_customer_group.command(name=cli_util.override('capacity_management.create_occ_customer.command_name', 'create'), help=u"""Create customer. \n[Command Reference](createOccCustomer)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy belonging to the customer.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy belonging to the customer.""")
@cli_util.option('--display-name', required=True, help=u"""The display name for the customer.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The OCID of the customer group.""")
@cli_util.option('--description', help=u"""The description about the customer group.""")
@@ -318,7 +318,7 @@ def create_occ_customer(ctx, from_json, tenancy_id, display_name, occ_customer_g
@occ_customer_group_group.command(name=cli_util.override('capacity_management.create_occ_customer_group.command_name', 'create'), help=u"""Create customer group. \n[Command Reference](createOccCustomerGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Since all resources are at tenancy level hence this will be the ocid of the tenancy where operation is to be performed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Since all resources are at tenancy level hence this will be the ocid of the tenancy where operation is to be performed.""")
@cli_util.option('--display-name', required=True, help=u"""The name of the customer group.""")
@cli_util.option('--description', help=u"""A description about the customer group.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -733,7 +733,7 @@ def get_occ_customer_group(ctx, from_json, occ_customer_group_id):
@occ_overview_collection_group.command(name=cli_util.override('capacity_management.list_internal_namespace_occ_overviews.command_name', 'list-internal-namespace-occ-overviews'), help=u"""Lists an overview of all resources in that namespace in a given time interval. \n[Command Reference](listInternalNamespaceOccOverviews)""")
@cli_util.option('--namespace', required=True, type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace by which we would filter the list.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--workload-type', help=u"""Workload type using the resources in an availability catalog can be filtered.""")
@cli_util.option('---from', type=custom_types.CLI_DATETIME, help=u"""The month corresponding to this date would be considered as the starting point of the time period against which we would like to perform an aggregation.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -864,7 +864,7 @@ def list_internal_occ_handover_resource_block_details(ctx, from_json, all_pages,
@occ_handover_resource_block_collection_group.command(name=cli_util.override('capacity_management.list_internal_occ_handover_resource_blocks.command_name', 'list-internal'), help=u"""List Occ Handover Resource blocks. \n[Command Reference](listInternalOccHandoverResourceBlocks)""")
@cli_util.option('--namespace', required=True, type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace enum value that needs to be passed as a required query parameter.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--handover-resource-name', help=u"""A filter to return only the list of resources that match the name provided in this filter.""")
@cli_util.option('--handover-date-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""This filter helps in fetching all handed over resources for which the recordDate is greater than or equal to the startDate.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -1006,7 +1006,7 @@ def list_occ_availabilities(ctx, from_json, all_pages, page_size, occ_availabili
@occ_availability_catalog_collection_group.command(name=cli_util.override('capacity_management.list_occ_availability_catalogs.command_name', 'list-occ-availability-catalogs'), help=u"""Lists all availability catalogs. \n[Command Reference](listOccAvailabilityCatalogs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--namespace', type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace by which we would filter the list.""")
@cli_util.option('--id', help=u"""The OCID of the availability catalog to filter the list of availability catalogs.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name. The match is not case sensitive.""")
@@ -1072,7 +1072,7 @@ def list_occ_availability_catalogs(ctx, from_json, all_pages, page_size, compart
@occ_availability_catalog_collection_group.command(name=cli_util.override('capacity_management.list_occ_availability_catalogs_internal.command_name', 'list-occ-availability-catalogs-internal'), help=u"""An internal api to list availability catalogs. \n[Command Reference](listOccAvailabilityCatalogsInternal)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--namespace', type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace by which we would filter the list.""")
@cli_util.option('--id', help=u"""The OCID of the availability catalog to filter the list of availability catalogs.""")
@@ -1142,7 +1142,7 @@ def list_occ_availability_catalogs_internal(ctx, from_json, all_pages, page_size
@occ_capacity_request_collection_group.command(name=cli_util.override('capacity_management.list_occ_capacity_requests.command_name', 'list-occ-capacity-requests'), help=u"""Lists all capacity requests. \n[Command Reference](listOccCapacityRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-availability-catalog-id', help=u"""A filter to return the list of capacity requests based on the OCID of the availability catalog against which they were created.""")
@cli_util.option('--namespace', type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace by which we would filter the list.""")
@cli_util.option('--request-type', type=custom_types.CliCaseInsensitiveChoice(["NEW", "TRANSFER"]), help=u"""A filter to return only the resources that match the request type. The match is not case sensitive.""")
@@ -1211,7 +1211,7 @@ def list_occ_capacity_requests(ctx, from_json, all_pages, page_size, compartment
@occ_capacity_request_collection_group.command(name=cli_util.override('capacity_management.list_occ_capacity_requests_internal.command_name', 'list-occ-capacity-requests-internal'), help=u"""An internal api to list all capacity requests. \n[Command Reference](listOccCapacityRequestsInternal)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--occ-availability-catalog-id', help=u"""A filter to return the list of capacity requests based on the OCID of the availability catalog against which they were created.""")
@cli_util.option('--namespace', type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace by which we would filter the list.""")
@@ -1284,7 +1284,7 @@ def list_occ_capacity_requests_internal(ctx, from_json, all_pages, page_size, co
@occ_customer_group_collection_group.command(name=cli_util.override('capacity_management.list_occ_customer_groups.command_name', 'list-occ-customer-groups'), help=u"""Lists all the customer groups. \n[Command Reference](listOccCustomerGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""A query filter to return the list result based on status.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name. The match is not case sensitive.""")
@cli_util.option('--id', help=u"""A query filter to return the list result based on the customer group OCID. This is done for users who have INSPECT permission but do not have READ permission.""")
@@ -1405,7 +1405,7 @@ def list_occ_handover_resource_block_details(ctx, from_json, all_pages, page_siz
@occ_handover_resource_block_collection_group.command(name=cli_util.override('capacity_management.list_occ_handover_resource_blocks.command_name', 'list'), help=u"""List Occ Handover Resource blocks. \n[Command Reference](listOccHandoverResourceBlocks)""")
@cli_util.option('--namespace', type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace by which we would filter the list.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment or tenancy in which resources are to be listed.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment or tenancy in which resources are to be listed.""")
@cli_util.option('--handover-resource-name', help=u"""A filter to return only the list of resources that match the name provided in this filter.""")
@cli_util.option('--handover-date-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""This filter helps in fetching all handed over resources for which the recordDate is greater than or equal to the startDate.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--handover-date-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""This filter helps in fetching all handed over resources for which the recordDate is less than or equal to the endDate.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -1473,7 +1473,7 @@ def list_occ_handover_resource_blocks(ctx, from_json, all_pages, page_size, name
@occ_overview_collection_group.command(name=cli_util.override('capacity_management.list_occ_overviews.command_name', 'list-occ-overviews'), help=u"""Lists an overview of all resources in that namespace in a given time interval. \n[Command Reference](listOccOverviews)""")
@cli_util.option('--namespace', required=True, type=custom_types.CliCaseInsensitiveChoice(["COMPUTE"]), help=u"""The namespace by which we would filter the list.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('---from', type=custom_types.CLI_DATETIME, help=u"""The month corresponding to this date would be considered as the starting point of the time period against which we would like to perform an aggregation.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--to', type=custom_types.CLI_DATETIME, help=u"""The month corresponding to this date would be considered as the ending point of the time period against which we would like to perform an aggregation.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--workload-type', help=u"""Workload type using the resources in an availability catalog can be filtered.""")
diff --git a/services/capacity_management/src/oci_cli_demand_signal/generated/demandsignal_cli.py b/services/capacity_management/src/oci_cli_demand_signal/generated/demandsignal_cli.py
index ae6d816b..4eb4eca7 100644
--- a/services/capacity_management/src/oci_cli_demand_signal/generated/demandsignal_cli.py
+++ b/services/capacity_management/src/oci_cli_demand_signal/generated/demandsignal_cli.py
@@ -79,7 +79,7 @@ def bulk_create_occm_demand_signal_item(ctx, from_json, ds_id, create_items):
@occm_demand_signal_group.command(name=cli_util.override('demand_signal.create_occm_demand_signal.command_name', 'create'), help=u"""This is a post API to create occm demand signal. \n[Command Reference](createOccmDemandSignal)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy where we would like to create a demand signal.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy where we would like to create a demand signal.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name of the demand signal. Does not have to be unique. Avoid entering anything confidential.""")
@cli_util.option('--description', help=u"""A short description of the demand signal.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -142,7 +142,7 @@ def create_occm_demand_signal(ctx, from_json, wait_for_state, max_wait_seconds,
@occm_demand_signal_item_group.command(name=cli_util.override('demand_signal.create_occm_demand_signal_item.command_name', 'create'), help=u"""This API will create a demand signal item representing a resource request. This needs to be grouped under a demand signal. \n[Command Reference](createOccmDemandSignalItem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy from which the demand signal item was created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy from which the demand signal item was created.""")
@cli_util.option('--ds-id', required=True, help=u"""The OCID of the demand signal under which we need to create this item.""")
@cli_util.option('--ds-catalog-resource-id', required=True, help=u"""The OCID of the correponding demand signal catalog resource.""")
@cli_util.option('--request-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["DEMAND"]), help=u"""The type of request (DEMAND or RETURN) that you want to make for this demand signal item.""")
@@ -399,7 +399,7 @@ def get_occm_demand_signal_item(ctx, from_json, ds_item_id):
@occm_demand_signal_catalog_resource_group.command(name=cli_util.override('demand_signal.list_occm_demand_signal_catalog_resources.command_name', 'list'), help=u"""This API will list all the resources across all demand signal catalogs for a given namespace and customer group containing the caller compartment. \n[Command Reference](listOccmDemandSignalCatalogResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--name', help=u"""A query parameter to filter the list of demand signal catalog resource based on the resource name.""")
@cli_util.option('--namespace', type=custom_types.CliCaseInsensitiveChoice(["COMPUTE", "NETWORK", "GPU", "STORAGE"]), help=u"""A query parameter to filter the list of demand signal catalog resources based on the namespace.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -459,7 +459,7 @@ def list_occm_demand_signal_catalog_resources(ctx, from_json, all_pages, page_si
@occm_demand_signal_delivery_collection_group.command(name=cli_util.override('demand_signal.list_occm_demand_signal_deliveries.command_name', 'list'), help=u"""This GET call is used to list all demand signals delivery resources within the compartment passed as a query param. \n[Command Reference](listOccmDemandSignalDeliveries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--id', help=u"""A query parameter to filter the list of demand signals based on it's OCID.""")
@cli_util.option('--ds-item-id', help=u"""A query parameter to filter the list of demand signal items based on it's OCID.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -519,7 +519,7 @@ def list_occm_demand_signal_deliveries(ctx, from_json, all_pages, page_size, com
@occm_demand_signal_item_group.command(name=cli_util.override('demand_signal.list_occm_demand_signal_items.command_name', 'list'), help=u"""This API will list the detailed information about the resources demanded as part of the demand signal. \n[Command Reference](listOccmDemandSignalItems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--ds-id', help=u"""A query parameter to filter the list of demand signal items based on a demand signal id.""")
@cli_util.option('--resource-name', help=u"""A query parameter to filter the list of demand signal details based on the resource name.""")
@cli_util.option('--namespace', type=custom_types.CliCaseInsensitiveChoice(["COMPUTE", "NETWORK", "GPU", "STORAGE"]), help=u"""A query parameter to filter the list of demand signal details based on the namespace.""")
@@ -582,7 +582,7 @@ def list_occm_demand_signal_items(ctx, from_json, all_pages, page_size, compartm
@occm_demand_signal_group.command(name=cli_util.override('demand_signal.list_occm_demand_signals.command_name', 'list'), help=u"""This GET call is used to list all demand signals within the compartment passed as a query parameter. \n[Command Reference](listOccmDemandSignals)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--id', help=u"""A query parameter to filter the list of demand signals based on it's OCID.""")
@cli_util.option('--lifecycle-details', help=u"""A query parameter to filter the list of demand signals based on its state.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name. The match is not case sensitive.""")
diff --git a/services/capacity_management/src/oci_cli_internal_demand_signal/generated/internaldemandsignal_cli.py b/services/capacity_management/src/oci_cli_internal_demand_signal/generated/internaldemandsignal_cli.py
index 445c88d4..f3c3863b 100644
--- a/services/capacity_management/src/oci_cli_internal_demand_signal/generated/internaldemandsignal_cli.py
+++ b/services/capacity_management/src/oci_cli_internal_demand_signal/generated/internaldemandsignal_cli.py
@@ -68,7 +68,7 @@ def internal_occm_demand_signal_catalog_resource_group():
@internal_occm_demand_signal_delivery_group.command(name=cli_util.override('internal_demand_signal.create_internal_occm_demand_signal_delivery.command_name', 'create'), help=u"""This is a post API which is used to create a demand signal delivery resource. operationId: CreateInternalOccmDemandSignalDelivery summary: A post call to create a demand signal delivery. \n[Command Reference](createInternalOccmDemandSignalDelivery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy from which the demand signal delivery resource is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy from which the demand signal delivery resource is created.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The OCID of the corresponding customer group to which this demand signal delivery resource belongs to.""")
@cli_util.option('--ds-id', required=True, help=u"""The OCID of the demand signal under which this delivery will be grouped.""")
@cli_util.option('--ds-item-id', required=True, help=u"""The OCID of the demand signal item corresponding to which this delivery is made.""")
@@ -271,7 +271,7 @@ def get_internal_occm_demand_signal_delivery(ctx, from_json, ds_delivery_id):
@internal_occm_demand_signal_catalog_resource_group.command(name=cli_util.override('internal_demand_signal.list_internal_occm_demand_signal_catalog_resources.command_name', 'list'), help=u"""This API will list all the resources across all demand signal catalogs for a given namespace and customer group. \n[Command Reference](listInternalOccmDemandSignalCatalogResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--ds-catalog-id', required=True, help=u"""The ocid of demand signal catalog id.""")
@cli_util.option('--name', help=u"""A query parameter to filter the list of demand signal catalog resource based on the resource name.""")
@@ -339,7 +339,7 @@ def list_internal_occm_demand_signal_catalog_resources(ctx, from_json, all_pages
@occm_demand_signal_catalog_group.command(name=cli_util.override('internal_demand_signal.list_internal_occm_demand_signal_catalogs.command_name', 'list-internal'), help=u"""This API will list demand signal catalogs for a given customer group. \n[Command Reference](listInternalOccmDemandSignalCatalogs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name. The match is not case sensitive.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -400,7 +400,7 @@ def list_internal_occm_demand_signal_catalogs(ctx, from_json, all_pages, page_si
@internal_occm_demand_signal_delivery_group.command(name=cli_util.override('internal_demand_signal.list_internal_occm_demand_signal_deliveries.command_name', 'list'), help=u"""This GET call is used to list all demand signal delivery resources within the customer group passed as a query parameter. \n[Command Reference](listInternalOccmDemandSignalDeliveries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--id', help=u"""A query parameter to filter the list of demand signals based on it's OCID.""")
@cli_util.option('--ds-item-id', help=u"""A query parameter to filter the list of demand signal items based on it's OCID.""")
@@ -464,7 +464,7 @@ def list_internal_occm_demand_signal_deliveries(ctx, from_json, all_pages, page_
@internal_occm_demand_signal_item_collection_group.command(name=cli_util.override('internal_demand_signal.list_internal_occm_demand_signal_items.command_name', 'list-internal'), help=u"""This internal API will list the detailed information about the resources demanded as part of the demand signal. \n[Command Reference](listInternalOccmDemandSignalItems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--ds-id', help=u"""A query parameter to filter the list of demand signal items based on a demand signal id.""")
@cli_util.option('--resource-name', help=u"""A query parameter to filter the list of demand signal details based on the resource name.""")
@@ -531,7 +531,7 @@ def list_internal_occm_demand_signal_items(ctx, from_json, all_pages, page_size,
@internal_occm_demand_signal_group.command(name=cli_util.override('internal_demand_signal.list_internal_occm_demand_signals.command_name', 'list'), help=u"""This is an internal GET call is used to list all demand signals within the compartment passed as a query parameter. \n[Command Reference](listInternalOccmDemandSignals)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the compartment or tenancy in which resources are to be listed. This will also be used for authorization purposes.""")
@cli_util.option('--occ-customer-group-id', required=True, help=u"""The customer group ocid by which we would filter the list.""")
@cli_util.option('--id', help=u"""A query parameter to filter the list of demand signals based on it's OCID.""")
@cli_util.option('--lifecycle-details', help=u"""A query parameter to filter the list of demand signals based on its state.""")
diff --git a/services/certificates/src/oci_cli_certificates/generated/certificates_cli.py b/services/certificates/src/oci_cli_certificates/generated/certificates_cli.py
index 2bc1c25b..b25d716f 100644
--- a/services/certificates/src/oci_cli_certificates/generated/certificates_cli.py
+++ b/services/certificates/src/oci_cli_certificates/generated/certificates_cli.py
@@ -115,7 +115,7 @@ def get_certificate_authority_bundle(ctx, from_json, certificate_authority_id, v
@certificate_bundle_group.command(name=cli_util.override('certificates.get_certificate_bundle.command_name', 'get'), help=u"""Gets a certificate bundle that matches either the specified `stage`, `versionName`, or `versionNumber` parameter. If none of these parameters are provided, the bundle for the certificate version marked as `CURRENT` is returned.
By default, the private key is not included in the query result, and only the certificate bundle is returned. If you also need the private key, you can use the parameter `CertificateBundleTypeQueryParam` to indicate that you want a certificate bundle along with its private key as a response to your request. \n[Command Reference](getCertificateBundle)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--version-number', type=click.INT, help=u"""The version number of the certificate. The default value is 0, which means that this query parameter is ignored.""")
@cli_util.option('--certificate-version-name', help=u"""The name of the certificate. (This might be referred to as the name of the certificate version, as every certificate consists of at least one version.) Names are unique across versions of a given certificate.""")
@cli_util.option('--stage', type=custom_types.CliCaseInsensitiveChoice(["CURRENT", "PENDING", "LATEST", "PREVIOUS", "DEPRECATED"]), help=u"""The rotation state of the certificate version.""")
@@ -178,7 +178,7 @@ def list_certificate_authority_bundle_versions(ctx, from_json, all_pages, certif
@certificate_bundle_version_summary_group.command(name=cli_util.override('certificates.list_certificate_bundle_versions.command_name', 'list-certificate-bundle-versions'), help=u"""Lists all certificate bundle versions for the specified certificate. \n[Command Reference](listCertificateBundleVersions)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["VERSION_NUMBER"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `VERSION_NUMBER` is ascending.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
diff --git a/services/certificates_management/src/oci_cli_certificates_management/generated/certificatesmanagement_cli.py b/services/certificates_management/src/oci_cli_certificates_management/generated/certificatesmanagement_cli.py
index 3bb0d35a..d1688081 100644
--- a/services/certificates_management/src/oci_cli_certificates_management/generated/certificatesmanagement_cli.py
+++ b/services/certificates_management/src/oci_cli_certificates_management/generated/certificatesmanagement_cli.py
@@ -164,7 +164,7 @@ def cancel_certificate_authority_version_deletion(ctx, from_json, certificate_au
@certificate_group.command(name=cli_util.override('certs_mgmt.cancel_certificate_deletion.command_name', 'cancel-certificate-deletion'), help=u"""Cancels the pending deletion of the specified certificate. Canceling a scheduled deletion restores the certificate's lifecycle state to what it was before you scheduled the certificate for deletion. \n[Command Reference](cancelCertificateDeletion)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -189,7 +189,7 @@ def cancel_certificate_deletion(ctx, from_json, certificate_id, if_match):
@certificate_version_group.command(name=cli_util.override('certs_mgmt.cancel_certificate_version_deletion.command_name', 'cancel-certificate-version-deletion'), help=u"""Cancels the scheduled deletion of the specified certificate version. \n[Command Reference](cancelCertificateVersionDeletion)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--certificate-version-number', required=True, type=click.INT, help=u"""The version number of the certificate.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -222,7 +222,7 @@ def cancel_certificate_version_deletion(ctx, from_json, certificate_id, certific
When provided, if-match is checked against the ETag values of the secret. \n[Command Reference](changeCaBundleCompartment)""")
@cli_util.option('--ca-bundle-id', required=True, help=u"""The OCID of the CA bundle.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the CA bundle should move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the CA bundle should move.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -255,7 +255,7 @@ def change_ca_bundle_compartment(ctx, from_json, ca_bundle_id, compartment_id, i
When provided, If-Match is checked against the ETag values of the source. \n[Command Reference](changeCertificateAuthorityCompartment)""")
@cli_util.option('--certificate-authority-id', required=True, help=u"""The OCID of the certificate authority (CA).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the CA should move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the CA should move.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -287,8 +287,8 @@ def change_certificate_authority_compartment(ctx, from_json, certificate_authori
@certificate_group.command(name=cli_util.override('certs_mgmt.change_certificate_compartment.command_name', 'change-compartment'), help=u"""Moves a certificate to a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
When provided, if-match is checked against the ETag values of the secret. \n[Command Reference](changeCertificateCompartment)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the certificate should move.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the certificate should move.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -319,7 +319,7 @@ def change_certificate_compartment(ctx, from_json, certificate_id, compartment_i
@ca_bundle_group.command(name=cli_util.override('certs_mgmt.create_ca_bundle.command_name', 'create'), help=u"""Creates a new CA bundle according to the details of the request. \n[Command Reference](createCaBundle)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the CA bundle. Names are unique within a compartment. Avoid entering confidential information. Valid characters include uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the CA bundle.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the CA bundle.""")
@cli_util.option('--ca-bundle-pem', required=True, help=u"""Certificates (in PEM format) to include in the CA bundle.""")
@cli_util.option('--description', help=u"""A brief description of the CA bundle.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -384,7 +384,7 @@ def create_ca_bundle(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@certificate_group.command(name=cli_util.override('certs_mgmt.create_certificate.command_name', 'create'), help=u"""Creates a new certificate according to the details of the request. \n[Command Reference](createCertificate)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the certificate. Names are unique within a compartment. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the certificate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the certificate.""")
@cli_util.option('--certificate-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the certificate. Avoid entering confidential information.""")
@cli_util.option('--certificate-rules', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An optional list of rules that control how the certificate is used and managed.
@@ -455,7 +455,7 @@ def create_certificate(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@certificate_group.command(name=cli_util.override('certs_mgmt.create_certificate_create_certificate_managed_externally_issued_by_internal_ca_config_details.command_name', 'create-certificate-create-certificate-managed-externally-issued-by-internal-ca-config-details'), help=u"""Creates a new certificate according to the details of the request. \n[Command Reference](createCertificate)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the certificate. Names are unique within a compartment. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the certificate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the certificate.""")
@cli_util.option('--certificate-config-issuer-certificate-authority-id', required=True, help=u"""The OCID of the private CA.""")
@cli_util.option('--certificate-config-csr-pem', required=True, help=u"""The certificate signing request (in PEM format).""")
@cli_util.option('--description', help=u"""A brief description of the certificate. Avoid entering confidential information.""")
@@ -539,7 +539,7 @@ def create_certificate_create_certificate_managed_externally_issued_by_internal_
@certificate_group.command(name=cli_util.override('certs_mgmt.create_certificate_create_certificate_issued_by_internal_ca_config_details.command_name', 'create-certificate-create-certificate-issued-by-internal-ca-config-details'), help=u"""Creates a new certificate according to the details of the request. \n[Command Reference](createCertificate)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the certificate. Names are unique within a compartment. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the certificate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the certificate.""")
@cli_util.option('--certificate-config-certificate-profile-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["TLS_SERVER_OR_CLIENT", "TLS_SERVER", "TLS_CLIENT", "TLS_CODE_SIGN"]), help=u"""The name of the profile used to create the certificate, which depends on the type of certificate you need.""")
@cli_util.option('--certificate-config-issuer-certificate-authority-id', required=True, help=u"""The OCID of the private CA.""")
@cli_util.option('--certificate-config-subject', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -639,7 +639,7 @@ def create_certificate_create_certificate_issued_by_internal_ca_config_details(c
@certificate_group.command(name=cli_util.override('certs_mgmt.create_certificate_create_certificate_by_importing_config_details.command_name', 'create-certificate-create-certificate-by-importing-config-details'), help=u"""Creates a new certificate according to the details of the request. \n[Command Reference](createCertificate)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the certificate. Names are unique within a compartment. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the certificate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the certificate.""")
@cli_util.option('--certificate-config-cert-chain-pem', required=True, help=u"""The certificate chain (in PEM format) for the imported certificate.""")
@cli_util.option('--certificate-config-private-key-pem', required=True, help=u"""The private key (in PEM format) for the imported certificate.""")
@cli_util.option('--certificate-config-certificate-pem', required=True, help=u"""The certificate (in PEM format) for the imported certificate.""")
@@ -725,7 +725,7 @@ def create_certificate_create_certificate_by_importing_config_details(ctx, from_
@certificate_authority_group.command(name=cli_util.override('certs_mgmt.create_certificate_authority.command_name', 'create'), help=u"""Creates a new certificate authority (CA) according to the details of the request. \n[Command Reference](createCertificateAuthority)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the CA. Names are unique within a compartment. Avoid entering confidential information. Valid characters include uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment in which you want to create the CA.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment in which you want to create the CA.""")
@cli_util.option('--certificate-authority-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the CA.""")
@cli_util.option('--certificate-authority-rules', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of rules that control how the CA is used and managed.
@@ -808,7 +808,8 @@ def create_certificate_authority(ctx, from_json, wait_for_state, max_wait_second
@certificate_authority_group.command(name=cli_util.override('certs_mgmt.create_certificate_authority_create_root_ca_by_generating_internally_config_details.command_name', 'create-certificate-authority-create-root-ca-by-generating-internally-config-details'), help=u"""Creates a new certificate authority (CA) according to the details of the request. \n[Command Reference](createCertificateAuthority)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the CA. Names are unique within a compartment. Avoid entering confidential information. Valid characters include uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment in which you want to create the CA.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment in which you want to create the CA.""")
+@cli_util.option('--kms-key-id', required=True, help=u"""The OCID of the Oracle Cloud Infrastructure Vault key used to encrypt the CA.""")
@cli_util.option('--certificate-authority-config-subject', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the CA.""")
@cli_util.option('--certificate-authority-rules', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of rules that control how the CA is used and managed.
@@ -906,7 +907,7 @@ def create_certificate_authority_create_root_ca_by_generating_internally_config_
@certificate_authority_group.command(name=cli_util.override('certs_mgmt.create_certificate_authority_create_subordinate_ca_issued_by_internal_ca_config_details.command_name', 'create-certificate-authority-create-subordinate-ca-issued-by-internal-ca-config-details'), help=u"""Creates a new certificate authority (CA) according to the details of the request. \n[Command Reference](createCertificateAuthority)""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the CA. Names are unique within a compartment. Avoid entering confidential information. Valid characters include uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment in which you want to create the CA.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment in which you want to create the CA.""")
@cli_util.option('--certificate-authority-config-issuer-certificate-authority-id', required=True, help=u"""The OCID of the private CA.""")
@cli_util.option('--certificate-authority-config-subject', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the CA.""")
@@ -914,7 +915,7 @@ def create_certificate_authority_create_root_ca_by_generating_internally_config_
This option is a JSON list with items of type CertificateAuthorityRule. For documentation on CertificateAuthorityRule please see our API reference: https://docs.cloud.oracle.com/api/#/en/certificatesmanagement/20210224/datatypes/CertificateAuthorityRule.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--certificate-revocation-list-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--kms-key-id', help=u"""The OCID of the Oracle Cloud Infrastructure Vault key used to encrypt the CA.""")
+@cli_util.option('--kms-key-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Oracle Cloud Infrastructure Vault key used to encrypt the CA.""")
@cli_util.option('--external-key-description', help=u"""For externally managed CAs, a description of the externally managed private key. Avoid entering confidential information.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1299,7 +1300,7 @@ def get_ca_bundle(ctx, from_json, ca_bundle_id):
@certificate_group.command(name=cli_util.override('certs_mgmt.get_certificate.command_name', 'get'), help=u"""Gets details about the specified certificate. \n[Command Reference](getCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1370,7 +1371,7 @@ def get_certificate_authority_version(ctx, from_json, certificate_authority_id,
@certificate_version_group.command(name=cli_util.override('certs_mgmt.get_certificate_version.command_name', 'get'), help=u"""Gets details about the specified version of a certificate. \n[Command Reference](getCertificateVersion)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--certificate-version-number', required=True, type=click.INT, help=u"""The version number of the certificate.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1397,7 +1398,7 @@ def get_certificate_version(ctx, from_json, certificate_id, certificate_version_
@association_summary_group.command(name=cli_util.override('certs_mgmt.list_associations.command_name', 'list-associations'), help=u"""Lists all associations that match the query parameters. Optionally, you can use the parameter `FilterByAssociationIdQueryParam` to limit the result set to a single item that matches the specified association. \n[Command Reference](listAssociations)""")
-@cli_util.option('--compartment-id', help=u"""A filter that returns only resources that match the given compartment OCID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter that returns only resources that match the given compartment OCID.""")
@cli_util.option('--certificates-resource-id', help=u"""A filter that returns only resources that match the given OCID of a certificate-related resource.""")
@cli_util.option('--associated-resource-id', help=u"""A filter that returns only resources that match the given OCID of an associated Oracle Cloud Infrastructure resource.""")
@cli_util.option('--association-id', help=u"""The OCID of the association. If the parameter is set to null, the service lists all associations.""")
@@ -1465,7 +1466,7 @@ def list_associations(ctx, from_json, all_pages, page_size, compartment_id, cert
@ca_bundle_summary_group.command(name=cli_util.override('certs_mgmt.list_ca_bundles.command_name', 'list-ca-bundles'), help=u"""Lists all CA bundles that match the query parameters. Optionally, you can use the parameter `FilterByCaBundleIdQueryParam` to limit the result set to a single item that matches the specified CA bundle. \n[Command Reference](listCaBundles)""")
-@cli_util.option('--compartment-id', help=u"""A filter that returns only resources that match the given compartment OCID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter that returns only resources that match the given compartment OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter that returns only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--name', help=u"""A filter that returns only resources that match the specified name.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["NAME", "TIMECREATED"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `TIMECREATED` is descending. The default order for `NAME` is ascending.""")
@@ -1527,7 +1528,7 @@ def list_ca_bundles(ctx, from_json, all_pages, page_size, compartment_id, lifecy
@certificate_authority_summary_group.command(name=cli_util.override('certs_mgmt.list_certificate_authorities.command_name', 'list-certificate-authorities'), help=u"""Lists all certificate authorities (CAs) in the specified compartment. Optionally, you can use the parameter `FilterByCertificateAuthorityIdQueryParam` to limit the results to a single item that matches the specified CA. \n[Command Reference](listCertificateAuthorities)""")
-@cli_util.option('--compartment-id', help=u"""A filter that returns only resources that match the given compartment OCID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter that returns only resources that match the given compartment OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "SCHEDULING_DELETION", "PENDING_DELETION", "CANCELLING_DELETION", "FAILED", "PENDING_ACTIVATION"]), help=u"""A filter that returns only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--name', help=u"""A filter that returns only resources that match the specified name.""")
@cli_util.option('--issuer-certificate-authority-id', help=u"""The OCID of the certificate authority (CA). If the parameter is set to null, the service lists all CAs.""")
@@ -1652,7 +1653,7 @@ def list_certificate_authority_versions(ctx, from_json, all_pages, page_size, ce
@certificate_version_summary_group.command(name=cli_util.override('certs_mgmt.list_certificate_versions.command_name', 'list-certificate-versions'), help=u"""Lists all certificate versions for the specified certificate. Optionally, you can use the parameter `FilterByVersionNumberQueryParam` to limit the result set to a single item that matches the specified version number. \n[Command Reference](listCertificateVersions)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--version-number', type=click.INT, help=u"""A filter that returns only resources that match the specified version number. The default value is 0, which means that this filter is not applied.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@@ -1712,7 +1713,7 @@ def list_certificate_versions(ctx, from_json, all_pages, page_size, certificate_
@certificate_summary_group.command(name=cli_util.override('certs_mgmt.list_certificates.command_name', 'list-certificates'), help=u"""Lists all certificates that match the query parameters. Optionally, you can use the parameter `FilterByCertificateIdQueryParam` to limit the result set to a single item that matches the specified certificate. \n[Command Reference](listCertificates)""")
-@cli_util.option('--compartment-id', help=u"""A filter that returns only resources that match the given compartment OCID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter that returns only resources that match the given compartment OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "SCHEDULING_DELETION", "PENDING_DELETION", "CANCELLING_DELETION", "FAILED"]), help=u"""A filter that returns only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--name', help=u"""A filter that returns only resources that match the specified name.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["NAME", "EXPIRATIONDATE", "TIMECREATED"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `EXPIRATIONDATE` and 'TIMECREATED' is descending. The default order for `NAME` is ascending.""")
@@ -1720,7 +1721,7 @@ def list_certificate_versions(ctx, from_json, all_pages, page_size, certificate_
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--issuer-certificate-authority-id', help=u"""The OCID of the certificate authority (CA). If the parameter is set to null, the service lists all CAs.""")
-@cli_util.option('--certificate-id', help=u"""The OCID of the certificate. If the parameter is set to null, the service lists all certificates.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The OCID of the certificate. If the parameter is set to null, the service lists all certificates.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1815,7 +1816,7 @@ def revoke_certificate_authority_version(ctx, from_json, certificate_authority_i
@certificate_version_group.command(name=cli_util.override('certs_mgmt.revoke_certificate_version.command_name', 'revoke'), help=u"""Revokes the specified certificate version. \n[Command Reference](revokeCertificateVersion)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--certificate-version-number', required=True, type=click.INT, help=u"""The version number of the certificate.""")
@cli_util.option('--revocation-reason', type=custom_types.CliCaseInsensitiveChoice(["UNSPECIFIED", "KEY_COMPROMISE", "CA_COMPROMISE", "AFFILIATION_CHANGED", "SUPERSEDED", "CESSATION_OF_OPERATION", "PRIVILEGE_WITHDRAWN", "AA_COMPROMISE"]), help=u"""The reason that the certificate or certificate authority was revoked.""")
@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.""")
@@ -1924,7 +1925,7 @@ def schedule_certificate_authority_version_deletion(ctx, from_json, certificate_
@certificate_group.command(name=cli_util.override('certs_mgmt.schedule_certificate_deletion.command_name', 'schedule-certificate-deletion'), help=u"""Schedules the deletion of the specified certificate. This sets the lifecycle state of the certificate to `PENDING_DELETION` and then deletes it after the specified retention period ends. You can subsequently use `GetCertificate` to determine the current deletion status. \n[Command Reference](scheduleCertificateDeletion)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--time-of-deletion', type=custom_types.CLI_DATETIME, help=u"""An optional property indicating when to delete the certificate version, expressed in [RFC 3339] timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1959,7 +1960,7 @@ def schedule_certificate_deletion(ctx, from_json, certificate_id, time_of_deleti
@certificate_version_group.command(name=cli_util.override('certs_mgmt.schedule_certificate_version_deletion.command_name', 'schedule-certificate-version-deletion'), help=u"""Schedules the deletion of the specified certificate version. This sets the lifecycle state of the certificate version to `PENDING_DELETION` and then deletes it after the specified retention period ends. You can only delete a certificate version if the certificate version rotation state is marked as `DEPRECATED`.
You can subsequently use `GetCertificateVersion` to determine the current certificate version deletion status. \n[Command Reference](scheduleCertificateVersionDeletion)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--certificate-version-number', required=True, type=click.INT, help=u"""The version number of the certificate.""")
@cli_util.option('--time-of-deletion', type=custom_types.CLI_DATETIME, help=u"""An optional property that indicates when to delete the certificate version, expressed in [RFC 3339] timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@@ -2073,7 +2074,7 @@ def update_ca_bundle(ctx, from_json, force, wait_for_state, max_wait_seconds, wa
@certificate_group.command(name=cli_util.override('certs_mgmt.update_certificate.command_name', 'update'), help=u"""Updates the properties of a certificate. \n[Command Reference](updateCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--description', help=u"""A brief description of the certificate. Avoid entering confidential information.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Makes this version the current version. This property cannot be updated in combination with any other properties.""")
@cli_util.option('--certificate-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2159,7 +2160,7 @@ def update_certificate(ctx, from_json, force, wait_for_state, max_wait_seconds,
@certificate_group.command(name=cli_util.override('certs_mgmt.update_certificate_update_certificate_by_importing_config_details.command_name', 'update-certificate-update-certificate-by-importing-config-details'), help=u"""Updates the properties of a certificate. \n[Command Reference](updateCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--certificate-config-cert-chain-pem', required=True, help=u"""The certificate chain (in PEM format) for the imported certificate.""")
@cli_util.option('--certificate-config-private-key-pem', required=True, help=u"""The private key (in PEM format) for the imported certificate.""")
@cli_util.option('--certificate-config-certificate-pem', required=True, help=u"""The certificate (in PEM format) for the imported certificate.""")
@@ -2262,7 +2263,7 @@ def update_certificate_update_certificate_by_importing_config_details(ctx, from_
@certificate_group.command(name=cli_util.override('certs_mgmt.update_certificate_update_certificate_issued_by_internal_ca_config_details.command_name', 'update-certificate-update-certificate-issued-by-internal-ca-config-details'), help=u"""Updates the properties of a certificate. \n[Command Reference](updateCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--description', help=u"""A brief description of the certificate. Avoid entering confidential information.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Makes this version the current version. This property cannot be updated in combination with any other properties.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2359,7 +2360,7 @@ def update_certificate_update_certificate_issued_by_internal_ca_config_details(c
@certificate_group.command(name=cli_util.override('certs_mgmt.update_certificate_update_certificate_managed_externally_issued_by_internal_ca_config_details.command_name', 'update-certificate-update-certificate-managed-externally-issued-by-internal-ca-config-details'), help=u"""Updates the properties of a certificate. \n[Command Reference](updateCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The OCID of the certificate.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the certificate.""")
@cli_util.option('--certificate-config-csr-pem', required=True, help=u"""The certificate signing request (in PEM format).""")
@cli_util.option('--description', help=u"""A brief description of the certificate. Avoid entering confidential information.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Makes this version the current version. This property cannot be updated in combination with any other properties.""")
diff --git a/services/cims/src/oci_cli_incident/generated/incident_cli.py b/services/cims/src/oci_cli_incident/generated/incident_cli.py
index 50091a9a..91a324ac 100644
--- a/services/cims/src/oci_cli_incident/generated/incident_cli.py
+++ b/services/cims/src/oci_cli_incident/generated/incident_cli.py
@@ -57,7 +57,7 @@ def incident_group():
@incident_group.command(name=cli_util.override('support.create_incident.command_name', 'create'), help=u"""Creates a support request in the specified tenancy. For more information, see [Creating Support Requests]. \n[Command Reference](createIncident)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@cli_util.option('--ticket', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--problem-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["LIMIT", "LEGACY_LIMIT", "TECH", "ACCOUNT", "TAXONOMY"]), help=u"""The kind of support request (type of support request). For information about `ACCOUNT` support requests, see [Creating a Billing Support Request]. For information about `LIMIT` support requests, see [Creating a Service Limit Increase Request]. For information about `TECH` support requests, see [Creating a Technical Support Request].""")
@cli_util.option('--csi', help=u"""Deprecated. The Customer Support Identifier (CSI) number associated with the support account. The CSI is optional for all support request types.""")
@@ -121,7 +121,7 @@ def create_incident(ctx, from_json, compartment_id, ticket, problem_type, csi, u
@incident_group.command(name=cli_util.override('support.get_incident.command_name', 'get'), help=u"""Gets the specified support request. For more information, see [Getting Details for a Support Request]. \n[Command Reference](getIncident)""")
@cli_util.option('--incident-key', required=True, help=u"""Unique identifier for the support request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@cli_util.option('--csi', help=u"""The Customer Support Identifier (CSI) number associated with the support account. The CSI is optional for all support request types.""")
@cli_util.option('--ocid', help=u"""User OCID for Oracle Identity Cloud Service (IDCS) users who also have a federated Oracle Cloud Infrastructure account. User OCID is mandatory for OCI Users and optional for Multicloud users.""")
@cli_util.option('--homeregion', help=u"""The region of the tenancy.""")
@@ -169,7 +169,7 @@ def get_incident(ctx, from_json, incident_key, compartment_id, csi, ocid, homere
@incident_resource_type_group.command(name=cli_util.override('support.list_incident_resource_types.command_name', 'list'), help=u"""Depending on the selected `productType`, either lists available products (service groups, services, service categories, and subcategories) for technical support requests or lists limits and current usage for limit increase tickets. This operation is called during creation of technical support and limit increase tickets. For more information about listing products, see [Listing Products for Support Requests]. For more information about listing limits, see [Listing Limits for Service Limit Increase Requests]. \n[Command Reference](listIncidentResourceTypes)""")
@cli_util.option('--problem-type', required=True, help=u"""The kind of support request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@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].""")
@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].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["dateUpdated", "severity"]), help=u"""The key to use to sort the returned items.""")
@@ -241,7 +241,7 @@ def list_incident_resource_types(ctx, from_json, all_pages, page_size, problem_t
@incident_group.command(name=cli_util.override('support.list_incidents.command_name', 'list'), help=u"""Lists support requests for the specified tenancy. For more information, see [Listing Support Requests]. \n[Command Reference](listIncidents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@cli_util.option('--csi', help=u"""The Customer Support Identifier (CSI) number associated with the support account. The CSI is optional for all support request types.""")
@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].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["dateUpdated", "severity"]), help=u"""The key to use to sort the returned items.""")
@@ -325,7 +325,7 @@ def list_incidents(ctx, from_json, all_pages, page_size, compartment_id, csi, li
@cli_util.option('--put-attachment-details', required=True, help=u"""File to be uploaded as attachment to the Service Request.""")
@cli_util.option('--incident-key', required=True, help=u"""Unique identifier for the support request.""")
@cli_util.option('--attachment-name', required=True, help=u"""The name of the file to attach to the support request. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@cli_util.option('--is-restricted-flag', required=True, type=click.BOOL, help=u"""Set to `true` when the attachment contains personal information (PI) or protected health information (PHI).""")
@cli_util.option('--csi', help=u"""The Customer Support Identifier (CSI) number associated with the support account. The CSI is optional for all support request types.""")
@cli_util.option('--ocid', help=u"""User OCID for Oracle Identity Cloud Service (IDCS) users who also have a federated Oracle Cloud Infrastructure account. User OCID is mandatory for OCI Users and optional for Multicloud users.""")
@@ -385,7 +385,7 @@ def put_attachment(ctx, from_json, put_attachment_details, incident_key, attachm
@update_incident_group.command(name=cli_util.override('support.update_incident.command_name', 'update-incident'), help=u"""Updates the specified support request. For more information, see [Updating Support Requests]. \n[Command Reference](updateIncident)""")
@cli_util.option('--incident-key', required=True, help=u"""Unique identifier for the support request.""")
@cli_util.option('--ticket', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@cli_util.option('--problem-type', type=custom_types.CliCaseInsensitiveChoice(["LIMIT", "LEGACY_LIMIT", "TECH", "ACCOUNT", "TAXONOMY"]), help=u"""The kind of support request (type of support request). For information about `ACCOUNT` support requests, see [Creating a Billing Support Request]. For information about `LIMIT` support requests, see [Creating a Service Limit Increase Request]. For information about `TECH` support requests, see [Creating a Technical Support Request].""")
@cli_util.option('--csi', help=u"""The Customer Support Identifier (CSI) number associated with the support account. The CSI is optional for all support request types.""")
@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.""")
diff --git a/services/cloud_bridge/src/oci_cli_common/generated/common_cli.py b/services/cloud_bridge/src/oci_cli_common/generated/common_cli.py
index 1a1c9df9..e546b005 100644
--- a/services/cloud_bridge/src/oci_cli_common/generated/common_cli.py
+++ b/services/cloud_bridge/src/oci_cli_common/generated/common_cli.py
@@ -209,7 +209,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('common.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources for which the lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/cloud_bridge/src/oci_cli_discovery/generated/discovery_cli.py b/services/cloud_bridge/src/oci_cli_discovery/generated/discovery_cli.py
index 0465c65e..8d40ef0a 100644
--- a/services/cloud_bridge/src/oci_cli_discovery/generated/discovery_cli.py
+++ b/services/cloud_bridge/src/oci_cli_discovery/generated/discovery_cli.py
@@ -48,7 +48,7 @@ def discovery_schedule_group():
@asset_source_group.command(name=cli_util.override('discovery.change_asset_source_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeAssetSourceCompartment)""")
@cli_util.option('--asset-source-id', required=True, help=u"""The [OCID] of the asset source.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -79,7 +79,7 @@ def change_asset_source_compartment(ctx, from_json, asset_source_id, compartment
@discovery_schedule_group.command(name=cli_util.override('discovery.change_discovery_schedule_compartment.command_name', 'change-compartment'), help=u"""Moves the specified discovery schedule into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeDiscoveryScheduleCompartment)""")
@cli_util.option('--discovery-schedule-id', required=True, help=u"""The [OCID] of the discovery schedule.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the discovery schedule should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the discovery schedule should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -110,7 +110,7 @@ def change_discovery_schedule_compartment(ctx, from_json, discovery_schedule_id,
@asset_source_group.command(name=cli_util.override('discovery.create_asset_source.command_name', 'create'), help=u"""Creates an asset source. \n[Command Reference](createAssetSource)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["VMWARE", "AWS"]), help=u"""Asset source type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for the resource.""")
@cli_util.option('--environment-id', required=True, help=u"""The [OCID] of the environment.""")
@cli_util.option('--inventory-id', required=True, help=u"""The [OCID] of the inventory that will contain created assets.""")
@cli_util.option('--assets-compartment-id', required=True, help=u"""The [OCID] of the compartment that is going to be used to create assets.""")
@@ -190,7 +190,7 @@ def create_asset_source(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@asset_source_group.command(name=cli_util.override('discovery.create_asset_source_create_vm_ware_asset_source_details.command_name', 'create-asset-source-create-vm-ware-asset-source-details'), help=u"""Creates an asset source. \n[Command Reference](createAssetSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for the resource.""")
@cli_util.option('--environment-id', required=True, help=u"""The [OCID] of the environment.""")
@cli_util.option('--inventory-id', required=True, help=u"""The [OCID] of the inventory that will contain created assets.""")
@cli_util.option('--assets-compartment-id', required=True, help=u"""The [OCID] of the compartment that is going to be used to create assets.""")
@@ -287,7 +287,7 @@ def create_asset_source_create_vm_ware_asset_source_details(ctx, from_json, wait
@asset_source_group.command(name=cli_util.override('discovery.create_asset_source_create_aws_asset_source_details.command_name', 'create-asset-source-create-aws-asset-source-details'), help=u"""Creates an asset source. \n[Command Reference](createAssetSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for the resource.""")
@cli_util.option('--environment-id', required=True, help=u"""The [OCID] of the environment.""")
@cli_util.option('--inventory-id', required=True, help=u"""The [OCID] of the inventory that will contain created assets.""")
@cli_util.option('--assets-compartment-id', required=True, help=u"""The [OCID] of the compartment that is going to be used to create assets.""")
@@ -390,7 +390,7 @@ def create_asset_source_create_aws_asset_source_details(ctx, from_json, wait_for
@discovery_schedule_group.command(name=cli_util.override('discovery.create_discovery_schedule.command_name', 'create'), help=u"""Creates the discovery schedule. \n[Command Reference](createDiscoverySchedule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the discovery schedule is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the discovery schedule is created.""")
@cli_util.option('--execution-recurrences', required=True, help=u"""Recurrence specification for the discovery schedule execution.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the discovery schedule. Does not have to be unique, and it's mutable. Avoid entering confidential information. The name is generated by the service if it is not explicitly provided.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no predefined name, type, or namespace/scope. For more information, see [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -668,7 +668,7 @@ def list_asset_source_connections(ctx, from_json, all_pages, page_size, asset_so
@asset_source_group.command(name=cli_util.override('discovery.list_asset_sources.command_name', 'list'), help=u"""Returns a list of asset sources. \n[Command Reference](listAssetSources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--asset-source-id', help=u"""The [OCID] of the asset source.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. Only one sort order may be provided. By default, the timeCreated is in descending order and displayName is in ascending order.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING", "NEEDS_ATTENTION"]), help=u"""The current state of the asset source.""")
@@ -731,7 +731,7 @@ def list_asset_sources(ctx, from_json, all_pages, page_size, compartment_id, ass
@discovery_schedule_group.command(name=cli_util.override('discovery.list_discovery_schedules.command_name', 'list'), help=u"""Lists discovery schedules. \n[Command Reference](listDiscoverySchedules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--discovery-schedule-id', help=u"""The [OCID] of the discovery schedule.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""The current state of the discovery schedule.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. Only one sort order may be provided. By default, the timeCreated is in descending order and displayName is in ascending order.""")
diff --git a/services/cloud_bridge/src/oci_cli_inventory/generated/inventory_cli.py b/services/cloud_bridge/src/oci_cli_inventory/generated/inventory_cli.py
index 5902fcdd..6271c6e7 100644
--- a/services/cloud_bridge/src/oci_cli_inventory/generated/inventory_cli.py
+++ b/services/cloud_bridge/src/oci_cli_inventory/generated/inventory_cli.py
@@ -61,7 +61,7 @@ def historical_metric_group():
@asset_aggregation_group.command(name=cli_util.override('inventory.analyze_assets.command_name', 'analyze-assets'), help=u"""Returns an aggregation of assets. Aggregation groups are sorted by groupBy property. Default sort order is ascending, but can be overridden by the sortOrder parameter. \n[Command Reference](analyzeAssets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--aggregation-properties', required=True, multiple=True, help=u"""An array of properties on which to aggregate.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -110,7 +110,7 @@ def analyze_assets(ctx, from_json, compartment_id, aggregation_properties, limit
@asset_group.command(name=cli_util.override('inventory.change_asset_compartment.command_name', 'change-compartment'), help=u"""Moves an asset resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeAssetCompartment)""")
@cli_util.option('--asset-id', required=True, help=u"""Unique asset identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -204,7 +204,7 @@ def change_asset_tags(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@asset_group.command(name=cli_util.override('inventory.create_asset.command_name', 'create'), help=u"""Creates an asset. \n[Command Reference](createAsset)""")
@cli_util.option('--inventory-id', required=True, help=u"""Inventory ID to which an asset belongs.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the asset belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the asset belongs to.""")
@cli_util.option('--source-key', required=True, help=u"""The source key to which the asset belongs.""")
@cli_util.option('--external-asset-key', required=True, help=u"""The key of the asset from the external environment.""")
@cli_util.option('--asset-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["VMWARE_VM", "VM", "AWS_EC2", "AWS_EBS"]), help=u"""The type of asset.""")
@@ -277,7 +277,7 @@ def create_asset(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@asset_group.command(name=cli_util.override('inventory.create_asset_create_aws_ebs_asset_details.command_name', 'create-asset-create-aws-ebs-asset-details'), help=u"""Creates an asset. \n[Command Reference](createAsset)""")
@cli_util.option('--inventory-id', required=True, help=u"""Inventory ID to which an asset belongs.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the asset belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the asset belongs to.""")
@cli_util.option('--source-key', required=True, help=u"""The source key to which the asset belongs.""")
@cli_util.option('--external-asset-key', required=True, help=u"""The key of the asset from the external environment.""")
@cli_util.option('--aws-ebs', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -352,7 +352,7 @@ def create_asset_create_aws_ebs_asset_details(ctx, from_json, wait_for_state, ma
@asset_group.command(name=cli_util.override('inventory.create_asset_create_vmware_vm_asset_details.command_name', 'create-asset-create-vmware-vm-asset-details'), help=u"""Creates an asset. \n[Command Reference](createAsset)""")
@cli_util.option('--inventory-id', required=True, help=u"""Inventory ID to which an asset belongs.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the asset belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the asset belongs to.""")
@cli_util.option('--source-key', required=True, help=u"""The source key to which the asset belongs.""")
@cli_util.option('--external-asset-key', required=True, help=u"""The key of the asset from the external environment.""")
@cli_util.option('--compute', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -433,7 +433,7 @@ def create_asset_create_vmware_vm_asset_details(ctx, from_json, wait_for_state,
@asset_group.command(name=cli_util.override('inventory.create_asset_create_aws_ec2_asset_details.command_name', 'create-asset-create-aws-ec2-asset-details'), help=u"""Creates an asset. \n[Command Reference](createAsset)""")
@cli_util.option('--inventory-id', required=True, help=u"""Inventory ID to which an asset belongs.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the asset belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the asset belongs to.""")
@cli_util.option('--source-key', required=True, help=u"""The source key to which the asset belongs.""")
@cli_util.option('--external-asset-key', required=True, help=u"""The key of the asset from the external environment.""")
@cli_util.option('--compute', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -520,7 +520,7 @@ def create_asset_create_aws_ec2_asset_details(ctx, from_json, wait_for_state, ma
@inventory_group.command(name=cli_util.override('inventory.create_inventory.command_name', 'create'), help=u"""Creates an inventory. \n[Command Reference](createInventory)""")
@cli_util.option('--display-name', required=True, help=u"""Inventory displayName.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenantId.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenantId.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no predefined name, type, or namespace/scope. For more information, see [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The defined tags associated with this resource, if any. Each key is predefined and scoped to namespaces. For more information, see [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -776,7 +776,7 @@ def get_inventory(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@inventory_group.command(name=cli_util.override('inventory.import_inventory.command_name', 'import'), help=u"""Import resources in inventory. \n[Command Reference](importInventory)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartmentId that resources import.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartmentId that resources import.""")
@cli_util.option('--inventory-id', required=True, help=u"""Inventory OCID.""")
@cli_util.option('--resource-type', type=custom_types.CliCaseInsensitiveChoice(["ASSET"]), help=u"""Import inventory resource type.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no predefined name, type, or namespace/scope. For more information, see [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -846,7 +846,7 @@ def import_inventory(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@inventory_group.command(name=cli_util.override('inventory.import_inventory_import_inventory_via_assets_details.command_name', 'import-inventory-import-inventory-via-assets-details'), help=u"""Import resources in inventory. \n[Command Reference](importInventory)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartmentId that resources import.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartmentId that resources import.""")
@cli_util.option('--data', required=True, help=u"""The file body to be sent in the request.""")
@cli_util.option('--asset-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["VMWARE_VM", "VM", "AWS_EC2", "AWS_EBS"]), help=u"""The type of asset.""")
@cli_util.option('--inventory-id', required=True, help=u"""Inventory OCID.""")
@@ -918,7 +918,7 @@ def import_inventory_import_inventory_via_assets_details(ctx, from_json, wait_fo
@asset_collection_group.command(name=cli_util.override('inventory.list_assets.command_name', 'list-assets'), help=u"""Returns a list of assets. \n[Command Reference](listAssets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""A filter to return only assets whose lifecycleState matches the given lifecycleState.""")
@@ -1050,7 +1050,7 @@ def list_historical_metrics(ctx, from_json, all_pages, page_size, asset_id, limi
@inventory_group.command(name=cli_util.override('inventory.list_inventories.command_name', 'list'), help=u"""Returns a list of inventories. \n[Command Reference](listInventories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "timeUpdated", "displayName"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for displayName is ascending.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/cloud_bridge/src/oci_cli_ocb_agent_svc/generated/ocbagentsvc_cli.py b/services/cloud_bridge/src/oci_cli_ocb_agent_svc/generated/ocbagentsvc_cli.py
index 4aab77a8..03bf57ec 100644
--- a/services/cloud_bridge/src/oci_cli_ocb_agent_svc/generated/ocbagentsvc_cli.py
+++ b/services/cloud_bridge/src/oci_cli_ocb_agent_svc/generated/ocbagentsvc_cli.py
@@ -140,7 +140,7 @@ def add_agent_dependency(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@agent_group.command(name=cli_util.override('ocb_agent_svc.change_agent_compartment.command_name', 'change-compartment'), help=u"""Moves an Agent resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeAgentCompartment)""")
@cli_util.option('--agent-id', required=True, help=u"""Unique Agent identifier path parameter.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -201,7 +201,7 @@ def change_agent_compartment(ctx, from_json, wait_for_state, max_wait_seconds, w
@agent_dependency_group.command(name=cli_util.override('ocb_agent_svc.change_agent_dependency_compartment.command_name', 'change-compartment'), help=u"""Moves a AgentDependency resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeAgentDependencyCompartment)""")
@cli_util.option('--agent-dependency-id', required=True, help=u"""A unique AgentDependency identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -232,7 +232,7 @@ def change_agent_dependency_compartment(ctx, from_json, agent_dependency_id, com
@environment_group.command(name=cli_util.override('ocb_agent_svc.change_environment_compartment.command_name', 'change-compartment'), help=u"""Moves a source environment resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeEnvironmentCompartment)""")
@cli_util.option('--environment-id', required=True, help=u"""Unique environment identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -295,7 +295,7 @@ def change_environment_compartment(ctx, from_json, wait_for_state, max_wait_seco
@cli_util.option('--display-name', required=True, help=u"""Agent identifier.""")
@cli_util.option('--agent-type', required=True, help=u"""Agent identifier.""")
@cli_util.option('--agent-version', required=True, help=u"""Agent identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier.""")
@cli_util.option('--environment-id', required=True, help=u"""Environment identifier.""")
@cli_util.option('--os-version', required=True, help=u"""OS version.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no predefined name, type, or namespace/scope. For more information, see [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -361,7 +361,7 @@ def create_agent(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@agent_dependency_group.command(name=cli_util.override('ocb_agent_svc.create_agent_dependency.command_name', 'create'), help=u"""Creates an AgentDependency. \n[Command Reference](createAgentDependency)""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the Agent dependency.""")
@cli_util.option('--dependency-name', required=True, help=u"""Name of the dependency type. This should match the whitelisted enum of dependency names.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier.""")
@cli_util.option('--namespace', required=True, help=u"""Object storage namespace associated with the customer's tenancy.""")
@cli_util.option('--bucket', required=True, help=u"""Object storage bucket where the dependency is uploaded.""")
@cli_util.option('--object-name', required=True, help=u"""Name of the dependency object uploaded by the customer.""")
@@ -442,7 +442,7 @@ def create_agent_dependency(ctx, from_json, wait_for_state, max_wait_seconds, wa
@environment_group.command(name=cli_util.override('ocb_agent_svc.create_environment.command_name', 'create'), help=u"""Creates a source environment. \n[Command Reference](createEnvironment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier.""")
@cli_util.option('--display-name', help=u"""Environment identifier.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no predefined name, type, or namespace/scope. For more information, see [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The defined tags associated with this resource, if any. Each key is predefined and scoped to namespaces. For more information, see [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -788,7 +788,7 @@ def get_plugin(ctx, from_json, agent_id, plugin_name):
@agent_dependency_collection_group.command(name=cli_util.override('ocb_agent_svc.list_agent_dependencies.command_name', 'list-agent-dependencies'), help=u"""Returns a list of AgentDependencies such as AgentDependencyCollection. \n[Command Reference](listAgentDependencies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--agent-id', help=u"""A filter to return only resources that match the given Agent ID.""")
@cli_util.option('--environment-id', help=u"""A filter to return only resources that match the given environment ID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@@ -854,7 +854,7 @@ def list_agent_dependencies(ctx, from_json, all_pages, page_size, compartment_id
@agent_collection_group.command(name=cli_util.override('ocb_agent_svc.list_agents.command_name', 'list-agents'), help=u"""Returns a list of Agents. \n[Command Reference](listAgents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--environment-id', help=u"""A filter to return only resources that match the given environment ID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -920,7 +920,7 @@ def list_agents(ctx, from_json, all_pages, page_size, compartment_id, environmen
@appliance_image_collection_group.command(name=cli_util.override('ocb_agent_svc.list_appliance_images.command_name', 'list-appliance-images'), help=u"""Returns a list of Appliance Images. \n[Command Reference](listApplianceImages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -977,7 +977,7 @@ def list_appliance_images(ctx, from_json, all_pages, page_size, compartment_id,
@environment_collection_group.command(name=cli_util.override('ocb_agent_svc.list_environments.command_name', 'list-environments'), help=u"""Returns a list of source environments. \n[Command Reference](listEnvironments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources where their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--environment-id', help=u"""A filter to return only resources that match the given environment ID.""")
diff --git a/services/cloud_guard/src/oci_cli_cloud_guard/generated/cloudguard_cli.py b/services/cloud_guard/src/oci_cli_cloud_guard/generated/cloudguard_cli.py
index 0b159f1a..75bb5040 100644
--- a/services/cloud_guard/src/oci_cli_cloud_guard/generated/cloudguard_cli.py
+++ b/services/cloud_guard/src/oci_cli_cloud_guard/generated/cloudguard_cli.py
@@ -490,7 +490,7 @@ def risk_score_aggregation_group():
@security_zone_group.command(name=cli_util.override('cloud_guard.add_compartment.command_name', 'add'), help=u"""Adds a compartment to an existing security zone (SecurityZone resource), identified by securityZoneId. Specify parameters in an AddCompartmentDetails resource that you pass. If you previously removed a subcompartment from a security zone, you can add it back to the same security zone. The security zone ensures that resources in the subcompartment comply with the security zone's policies. \n[Command Reference](addCompartment)""")
@cli_util.option('--security-zone-id', required=True, help=u"""The unique identifier of the security zone (`SecurityZone` resource).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to be added to the security zone.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to be added to the security zone.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -573,7 +573,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@data_source_group.command(name=cli_util.override('cloud_guard.change_data_source_compartment.command_name', 'change-compartment'), help=u"""Moves a data source (DataSource resource), identified by parameters passed in a ChangeDataSourceCompartmentDetails resource, from the current compartment to another. \n[Command Reference](changeDataSourceCompartment)""")
@cli_util.option('--data-source-id', required=True, help=u"""Data source OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the data source is to be moved""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the data source is to be moved""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -634,7 +634,7 @@ def change_data_source_compartment(ctx, from_json, wait_for_state, max_wait_seco
@detector_recipe_group.command(name=cli_util.override('cloud_guard.change_detector_recipe_compartment.command_name', 'change-compartment'), help=u"""Moves the detector recipe (DetectorRecipe resource), identified by detectorRecipeId, from the current compartment to another compartment. When provided, If-Match is checked against etag values of the resource. \n[Command Reference](changeDetectorRecipeCompartment)""")
@cli_util.option('--detector-recipe-id', required=True, help=u"""Detector recipe OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the detector recipe is to be moved""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the detector recipe is to be moved""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -665,7 +665,7 @@ def change_detector_recipe_compartment(ctx, from_json, detector_recipe_id, compa
@managed_list_group.command(name=cli_util.override('cloud_guard.change_managed_list_compartment.command_name', 'change-compartment'), help=u"""Moves the managed list (ManagedList resource), identified by managedListId, from the current compartment to another compartment. \n[Command Reference](changeManagedListCompartment)""")
@cli_util.option('--managed-list-id', required=True, help=u"""The managed list OCID to be passed in the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the managed list is to be moved""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the managed list is to be moved""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -696,7 +696,7 @@ def change_managed_list_compartment(ctx, from_json, managed_list_id, compartment
@responder_recipe_group.command(name=cli_util.override('cloud_guard.change_responder_recipe_compartment.command_name', 'change-compartment'), help=u"""Moves the responder recipe (ResponderRecipe resource), identified by responderRecipeId in a ChangeResponderRecipeCompartmentDetails resource, from the current compartment to another compartment. When provided, if-match is checked against etag values of the resource. \n[Command Reference](changeResponderRecipeCompartment)""")
@cli_util.option('--responder-recipe-id', required=True, help=u"""OCID of the responder recipe.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the responder recipe is to be moved""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the responder recipe is to be moved""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -727,7 +727,7 @@ def change_responder_recipe_compartment(ctx, from_json, responder_recipe_id, com
@saved_query_group.command(name=cli_util.override('cloud_guard.change_saved_query_compartment.command_name', 'change-compartment'), help=u"""Moves the SavedQuery resource into a different compartment. When provided, If-Match is checked against etag values of the resource. \n[Command Reference](changeSavedQueryCompartment)""")
@cli_util.option('--saved-query-id', required=True, help=u"""Saved query OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the SavedQuery is to be moved""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the SavedQuery is to be moved""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -758,7 +758,7 @@ def change_saved_query_compartment(ctx, from_json, saved_query_id, compartment_i
@security_recipe_group.command(name=cli_util.override('cloud_guard.change_security_recipe_compartment.command_name', 'change-compartment'), help=u"""Moves the security recipe (SecurityRecipe resource), identified by securityRecipeId, from the current compartment to another compartment. When provided, `if-match` is checked against `etag` values of the resource. \n[Command Reference](changeSecurityRecipeCompartment)""")
@cli_util.option('--security-recipe-id', required=True, help=u"""The unique identifier of the security zone recipe. (`SecurityRecipe`)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -789,7 +789,7 @@ def change_security_recipe_compartment(ctx, from_json, security_recipe_id, compa
@security_zone_group.command(name=cli_util.override('cloud_guard.change_security_zone_compartment.command_name', 'change-compartment'), help=u"""Moves a security zone, identified by securityZoneId, to a different compartment. Pass parameters through a ChangeSecurityZoneCompartmentDetails resource. When provided, `if-match` is checked against `etag` values of the resource. \n[Command Reference](changeSecurityZoneCompartment)""")
@cli_util.option('--security-zone-id', required=True, help=u"""The unique identifier of the security zone (`SecurityZone` resource).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -819,7 +819,7 @@ def change_security_zone_compartment(ctx, from_json, security_zone_id, compartme
@adhoc_query_group.command(name=cli_util.override('cloud_guard.create_adhoc_query.command_name', 'create'), help=u"""Creates a AdhocQuery resource. \n[Command Reference](createAdhocQuery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID of adhoc query""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID of adhoc query""")
@cli_util.option('--adhoc-query-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`
@@ -883,7 +883,7 @@ def create_adhoc_query(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--display-name', required=True, help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', required=True, help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--target-selected', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--data-mask-categories', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@@ -964,7 +964,7 @@ def create_data_mask_rule(ctx, from_json, wait_for_state, max_wait_seconds, wait
@cli_util.option('--display-name', required=True, help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', required=True, help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--data-mask-categories', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@cli_util.option('--description', help=u"""The data mask rule description Avoid entering confidential information.""")
@@ -1046,7 +1046,7 @@ def create_data_mask_rule_all_targets_selected(ctx, from_json, wait_for_state, m
@cli_util.option('--display-name', required=True, help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', required=True, help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--data-mask-categories', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@cli_util.option('--description', help=u"""The data mask rule description Avoid entering confidential information.""")
@@ -1132,7 +1132,7 @@ def create_data_mask_rule_target_resource_types_selected(ctx, from_json, wait_fo
@cli_util.option('--display-name', required=True, help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', required=True, help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--data-mask-categories', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@cli_util.option('--description', help=u"""The data mask rule description Avoid entering confidential information.""")
@@ -1216,7 +1216,7 @@ def create_data_mask_rule_target_ids_selected(ctx, from_json, wait_for_state, ma
@data_source_group.command(name=cli_util.override('cloud_guard.create_data_source.command_name', 'create'), help=u"""Creates a data source (DataSource resource), using parameters passed through a CreateDataSourceDetails resource. \n[Command Reference](createDataSource)""")
@cli_util.option('--display-name', required=True, help=u"""Data source display name""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID of the data source""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID of the data source""")
@cli_util.option('--data-source-feed-provider', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOGGINGQUERY", "SCHEDULEDQUERY"]), help=u"""Type of data source feed provider (LoggingQuery)""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Enablement status of data source.""")
@cli_util.option('--data-source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1291,7 +1291,7 @@ def create_data_source(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@data_source_group.command(name=cli_util.override('cloud_guard.create_data_source_scheduled_query_data_source_obj_details.command_name', 'create-data-source-scheduled-query-data-source-obj-details'), help=u"""Creates a data source (DataSource resource), using parameters passed through a CreateDataSourceDetails resource. \n[Command Reference](createDataSource)""")
@cli_util.option('--display-name', required=True, help=u"""Data source display name""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID of the data source""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID of the data source""")
@cli_util.option('--data-source-feed-provider', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOGGINGQUERY", "SCHEDULEDQUERY"]), help=u"""Type of data source feed provider (LoggingQuery)""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Enablement status of data source.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`
@@ -1383,7 +1383,7 @@ def create_data_source_scheduled_query_data_source_obj_details(ctx, from_json, w
@data_source_group.command(name=cli_util.override('cloud_guard.create_data_source_logging_query_data_source_details.command_name', 'create-data-source-logging-query-data-source-details'), help=u"""Creates a data source (DataSource resource), using parameters passed through a CreateDataSourceDetails resource. \n[Command Reference](createDataSource)""")
@cli_util.option('--display-name', required=True, help=u"""Data source display name""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID of the data source""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID of the data source""")
@cli_util.option('--data-source-feed-provider', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOGGINGQUERY", "SCHEDULEDQUERY"]), help=u"""Type of data source feed provider (LoggingQuery)""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Enablement status of data source.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`
@@ -1495,7 +1495,7 @@ def create_data_source_logging_query_data_source_details(ctx, from_json, wait_fo
@cli_util.option('--display-name', required=True, help=u"""Detector recipe display name.
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--description', help=u"""Detector recipe description.
Avoid entering confidential information.""")
@@ -1634,7 +1634,7 @@ def create_detector_recipe_detector_rule(ctx, from_json, wait_for_state, max_wai
@cli_util.option('--display-name', required=True, help=u"""Managed list display name.
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--source-managed-list-id', help=u"""OCID of the source managed list""")
@cli_util.option('--description', help=u"""Managed list description
@@ -1720,7 +1720,7 @@ def create_managed_list(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
Avoid entering confidential information.""")
@cli_util.option('--source-responder-recipe-id', required=True, help=u"""The unique identifier of the source responder recipe""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--description', help=u"""Responder recipe description.
Avoid entering confidential information.""")
@@ -1794,7 +1794,7 @@ def create_responder_recipe(ctx, from_json, wait_for_state, max_wait_seconds, wa
@saved_query_group.command(name=cli_util.override('cloud_guard.create_saved_query.command_name', 'create'), help=u"""Creates a SavedQuery resource. \n[Command Reference](createSavedQuery)""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the saved query""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID of the saved query""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID of the saved query""")
@cli_util.option('--query-parameterconflict', required=True, help=u"""The adhoc query expression that is run""")
@cli_util.option('--description', help=u"""Description of the saved query""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`
@@ -1864,7 +1864,7 @@ def create_saved_query(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
Avoid entering confidential information.""")
@cli_util.option('--security-policies', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of security policy IDs to include in the recipe""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the recipe""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the recipe""")
@cli_util.option('--description', help=u"""The recipe's description""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`
@@ -1931,7 +1931,7 @@ def create_security_recipe(ctx, from_json, wait_for_state, max_wait_seconds, wai
@security_zone_group.command(name=cli_util.override('cloud_guard.create_security_zone.command_name', 'create'), help=u"""Creates a security zone (SecurityZone resource) for a compartment. Pass parameters through a CreateSecurityZoneDetails resource. \n[Command Reference](createSecurityZone)""")
@cli_util.option('--display-name', required=True, help=u"""The security zone's display name""")
@cli_util.option('--security-zone-recipe-id', required=True, help=u"""The OCID of the security zone recipe (`SecurityRecipe` resource) for the security zone""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the security zone""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the security zone""")
@cli_util.option('--description', help=u"""The security zone's description""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`
@@ -1999,7 +1999,7 @@ def create_security_zone(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@cli_util.option('--display-name', required=True, help=u"""Display name for the target.
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--target-resource-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["COMPARTMENT", "ERPCLOUD", "HCMCLOUD", "SECURITY_ZONE"]), help=u"""Type of resource that target support (COMPARTMENT/FACLOUD)""")
@cli_util.option('--target-resource-id', required=True, help=u"""Resource ID which the target uses to monitor""")
@cli_util.option('--description', help=u"""The target description.
@@ -2167,7 +2167,7 @@ def create_target_responder_recipe(ctx, from_json, target_id, responder_recipe_i
@wlp_agent_group.command(name=cli_util.override('cloud_guard.create_wlp_agent.command_name', 'create'), help=u"""Creates and registers a WLP agent for an on-premise resource. \n[Command Reference](createWlpAgent)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID of the host""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID of the host""")
@cli_util.option('--agent-version', required=True, help=u"""The version of the agent making the request""")
@cli_util.option('--certificate-signed-request', required=True, help=u"""The certificate signed request containing domain, organization names, organization units, city, state, country, email and public key, among other certificate details, signed by private key""")
@cli_util.option('--os-info', required=True, help=u"""Concatenated OS name, OS version and agent architecture; for example, ubuntu_22.0_amd64.""")
@@ -2994,7 +2994,7 @@ def delete_wlp_agent(ctx, from_json, wlp_agent_id, if_match):
@responder_execution_group.command(name=cli_util.override('cloud_guard.execute_responder_execution.command_name', 'execute'), help=u"""Executes the responder execution. When provided, if-match is checked against etag values of the resource. \n[Command Reference](executeResponderExecution)""")
@cli_util.option('--responder-execution-id', required=True, help=u"""The unique identifier of the responder execution.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--configurations', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of responder rule configurations
@@ -3125,7 +3125,7 @@ def get_condition_metadata_type(ctx, from_json, condition_metadata_type_id, serv
@configuration_group.command(name=cli_util.override('cloud_guard.get_configuration.command_name', 'get'), help=u"""Returns the configuration details for a Cloud Guard tenancy, identified by root compartment OCID. \n[Command Reference](getConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3794,7 +3794,7 @@ def get_work_request(ctx, from_json, work_request_id):
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListAdhocQueries on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAdhocQueries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--adhoc-query-status', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "CREATED", "IN_PROGRESS", "PARTIALLY_COMPLETED", "EXPIRED", "COMPLETED", "FAILED"]), help=u"""The status of the adhoc query created. Default value for state is provisioning. If no value is specified state is provisioning.""")
@cli_util.option('--time-started-filter-query-param', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-ended-filter-query-param', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -3864,7 +3864,7 @@ def list_adhoc_queries(ctx, from_json, all_pages, page_size, compartment_id, adh
@adhoc_query_result_collection_group.command(name=cli_util.override('cloud_guard.list_adhoc_query_results.command_name', 'list-adhoc-query-results'), help=u"""Lists the results for a given adhoc ID (from includes results from all monitoring regions). \n[Command Reference](listAdhocQueryResults)""")
@cli_util.option('--adhoc-query-id', required=True, help=u"""Adhoc query OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use""")
@@ -3924,7 +3924,7 @@ def list_adhoc_query_results(ctx, from_json, all_pages, page_size, adhoc_query_i
@condition_metadata_type_group.command(name=cli_util.override('cloud_guard.list_condition_metadata_types.command_name', 'list'), help=u"""Returns a list of ConditionMetadataType resources. \n[Command Reference](listConditionMetadataTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -3981,7 +3981,7 @@ def list_condition_metadata_types(ctx, from_json, all_pages, page_size, compartm
@data_mask_rule_group.command(name=cli_util.override('cloud_guard.list_data_mask_rules.command_name', 'list'), help=u"""Returns a list of all DataMaskRule resources in the specified compartmentId (OCID) and its subcompartments. \n[Command Reference](listDataMaskRules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are `RESTRICTED` and `ACCESSIBLE`. Default is `RESTRICTED`. Setting this to `ACCESSIBLE` returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to `RESTRICTED` permissions are checked and no partial results are displayed.""")
@@ -4122,7 +4122,7 @@ def list_data_source_events(ctx, from_json, all_pages, page_size, data_source_id
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListAdhocQueries on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listDataSources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--data-source-feed-provider', type=custom_types.CliCaseInsensitiveChoice(["LOGGINGQUERY", "SCHEDULEDQUERY"]), help=u"""A filter to return only resources when their feed provider matches the given feed provider (`DataSourceFeedProvider` resource).""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@@ -4195,7 +4195,7 @@ def list_data_sources(ctx, from_json, all_pages, page_size, compartment_id, disp
@detector_recipe_detector_rule_group.command(name=cli_util.override('cloud_guard.list_detector_recipe_detector_rules.command_name', 'list'), help=u"""Returns a list of detector rules (DetectorRule resources) for a detector recipe (DetectorRecipe resource), identified by detectorRecipeId. \n[Command Reference](listDetectorRecipeDetectorRules)""")
@cli_util.option('--detector-recipe-id', required=True, help=u"""Detector recipe OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -4267,7 +4267,7 @@ def list_detector_recipe_detector_rules(ctx, from_json, all_pages, page_size, de
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListDetectorRecipes on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listDetectorRecipes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--resource-metadata-only', type=click.BOOL, help=u"""Default is false. When set to true, the list of all Oracle-managed resources metadata supported by Cloud Guard is returned.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@@ -4337,7 +4337,7 @@ def list_detector_recipes(ctx, from_json, all_pages, page_size, compartment_id,
@detector_rule_group.command(name=cli_util.override('cloud_guard.list_detector_rules.command_name', 'list'), help=u"""Returns a list of detector rules for the DetectorRecipe resource identified by detectorId. \n[Command Reference](listDetectorRules)""")
@cli_util.option('--detector-id', required=True, help=u"""Detector name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@@ -4403,7 +4403,7 @@ def list_detector_rules(ctx, from_json, all_pages, page_size, detector_id, compa
@detector_group.command(name=cli_util.override('cloud_guard.list_detectors.command_name', 'list'), help=u"""Returns a detector catalog (DetectorCollection resource) with a list of DetectorSummary resources. \n[Command Reference](listDetectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -4517,7 +4517,7 @@ def list_impacted_resources(ctx, from_json, all_pages, page_size, problem_id, li
@managed_list_type_summary_group.command(name=cli_util.override('cloud_guard.list_managed_list_types.command_name', 'list-managed-list-types'), help=u"""Returns all managed list types (listType parameter) that Cloud Guard supports. \n[Command Reference](listManagedListTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -4578,7 +4578,7 @@ def list_managed_list_types(ctx, from_json, all_pages, page_size, compartment_id
The parameter `accessLevel` specifies whether to return ManagedLists in only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListManagedLists on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listManagedLists)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--resource-metadata-only', type=click.BOOL, help=u"""Default is false. When set to true, the list of all Oracle-managed resources metadata supported by Cloud Guard is returned.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@@ -4650,7 +4650,7 @@ def list_managed_lists(ctx, from_json, all_pages, page_size, compartment_id, dis
@policy_summary_group.command(name=cli_util.override('cloud_guard.list_policies.command_name', 'list-policies'), help=u"""Returns the list of global policy statements (policy attributes) needed to fully enable Cloud Guard. \n[Command Reference](listPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use""")
@@ -4818,7 +4818,7 @@ def list_problem_entities(ctx, from_json, all_pages, page_size, problem_id, page
@problem_group.command(name=cli_util.override('cloud_guard.list_problem_histories.command_name', 'list-problem-histories'), help=u"""Returns a list of actions taken on a problem. \n[Command Reference](listProblemHistories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--problem-id', required=True, help=u"""OCID of the problem.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -4885,7 +4885,7 @@ def list_problem_histories(ctx, from_json, all_pages, page_size, compartment_id,
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListProblems on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listProblems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-last-detected-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-last-detected-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-first-detected-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -4999,7 +4999,7 @@ def list_problems(ctx, from_json, all_pages, page_size, compartment_id, time_las
@recommendation_summary_group.command(name=cli_util.override('cloud_guard.list_recommendations.command_name', 'list-recommendations'), help=u"""Returns a list of recommendations (RecommendationSummaryCollection resource with a page of RecommendationSummary resources) for a specified compartment OCID. \n[Command Reference](listRecommendations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["riskLevel", "timeCreated"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for riskLevel and timeCreated is descending. If no value is specified riskLevel is default.""")
@cli_util.option('--target-id', help=u"""The ID of the target in which to list resources.""")
@@ -5246,7 +5246,7 @@ def list_resource_profile_impacted_resources(ctx, from_json, all_pages, page_siz
The ListResourceProfiles operation returns only the resource profiles in `compartmentId` passed. The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListResourceProfiles on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listResourceProfiles)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-last-detected-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-last-detected-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-first-detected-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -5333,7 +5333,7 @@ def list_resource_profiles(ctx, from_json, all_pages, page_size, compartment_id,
@resource_type_summary_group.command(name=cli_util.override('cloud_guard.list_resource_types.command_name', 'list-resource-types'), help=u"""Returns a single ResourceTypeCollection resource, containing a list of resource types, identified by parameters specified. \n[Command Reference](listResourceTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--detector-id', type=custom_types.CliCaseInsensitiveChoice(["IAAS_ACTIVITY_DETECTOR", "IAAS_CONFIGURATION_DETECTOR", "IAAS_THREAT_DETECTOR", "IAAS_LOG_INSIGHT_DETECTOR", "IAAS_INSTANCE_SECURITY_DETECTOR", "IAAS_CONTAINER_SECURITY_DETECTOR"]), help=u"""Detector type.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -5462,7 +5462,7 @@ def list_resource_vulnerabilities(ctx, from_json, all_pages, page_size, resource
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListResources on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--target-id', help=u"""The ID of the target in which to list resources.""")
@cli_util.option('--region-parameterconflict', help=u"""OCI monitoring region.""")
@cli_util.option('--cvss-score', type=click.INT, help=u"""Cvss score associated with the resource.""")
@@ -5612,7 +5612,7 @@ def list_responder_activities(ctx, from_json, all_pages, page_size, problem_id,
@responder_execution_summary_group.command(name=cli_util.override('cloud_guard.list_responder_executions.command_name', 'list-responder-executions'), help=u"""Returns a list of responder executions. A responder execution is an entity that tracks the collective execution of multiple responder rule executions for a given problem. \n[Command Reference](listResponderExecutions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are `RESTRICTED` and `ACCESSIBLE`. Default is `RESTRICTED`. Setting this to `ACCESSIBLE` returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to `RESTRICTED` permissions are checked and no partial results are displayed.""")
@cli_util.option('--responder-rule-ids', multiple=True, help=u"""Responder rule unique identifier filter for the responder executions.""")
@@ -5703,7 +5703,7 @@ def list_responder_executions(ctx, from_json, all_pages, page_size, compartment_
@responder_recipe_responder_rule_group.command(name=cli_util.override('cloud_guard.list_responder_recipe_responder_rules.command_name', 'list'), help=u"""Returns a list of responder rules (ResponderRule resources in a responderRecipeResponderRuleCollection resource, with page of ResponderRuleSummary resources), for a responder recipe (ResponderRecipe resource), identified by responderRecipeId. \n[Command Reference](listResponderRecipeResponderRules)""")
@cli_util.option('--responder-recipe-id', required=True, help=u"""OCID of the responder recipe.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -5773,7 +5773,7 @@ def list_responder_recipe_responder_rules(ctx, from_json, all_pages, page_size,
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListResponderRecipe on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listResponderRecipes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--resource-metadata-only', type=click.BOOL, help=u"""Default is false. When set to true, the list of all Oracle-managed resources metadata supported by Cloud Guard is returned.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@@ -5842,7 +5842,7 @@ def list_responder_recipes(ctx, from_json, all_pages, page_size, compartment_id,
@responder_rule_group.command(name=cli_util.override('cloud_guard.list_responder_rules.command_name', 'list'), help=u"""Returns a list of responder rules for the ResponderRecipe resource identified by responderId. The list is contained in a ResponderRuleCollection resource with a page of ResponderRuleSummary resources. \n[Command Reference](listResponderRules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -5902,7 +5902,7 @@ def list_responder_rules(ctx, from_json, all_pages, page_size, compartment_id, d
@saved_query_group.command(name=cli_util.override('cloud_guard.list_saved_queries.command_name', 'list'), help=u"""Returns a list of saved queries run in a tenancy. \n[Command Reference](listSavedQueries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -5965,7 +5965,7 @@ def list_saved_queries(ctx, from_json, all_pages, page_size, compartment_id, dis
@security_policy_collection_group.command(name=cli_util.override('cloud_guard.list_security_policies.command_name', 'list-security-policies'), help=u"""Returns a list of security zone policies (SecurityPolicySummary resources), identified by compartmentId. \n[Command Reference](listSecurityPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The unique identifier of the security zone policy. (`SecurityPolicy`)""")
@@ -6028,7 +6028,7 @@ def list_security_policies(ctx, from_json, all_pages, page_size, compartment_id,
@security_recipe_collection_group.command(name=cli_util.override('cloud_guard.list_security_recipes.command_name', 'list-security-recipes'), help=u"""Returns a list of security zone recipes (SecurityRecipeSummary resources) in a compartment, identified by compartmentId. \n[Command Reference](listSecurityRecipes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The unique identifier of the security zone recipe. (`SecurityRecipe`)""")
@@ -6091,7 +6091,7 @@ def list_security_recipes(ctx, from_json, all_pages, page_size, compartment_id,
@security_zone_collection_group.command(name=cli_util.override('cloud_guard.list_security_zones.command_name', 'list-security-zones'), help=u"""Returns a list of security zones (SecurityZone resources) in a compartment identified by compartmentId. List is contained in a page of SecurityZoneSummary resources. \n[Command Reference](listSecurityZones)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The unique identifier of the security zone (`SecurityZone` resource).""")
@@ -6278,7 +6278,7 @@ def list_sighting_impacted_resources(ctx, from_json, all_pages, page_size, sight
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSightings on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSightings)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--problem-id', help=u"""OCID of the problem.""")
@cli_util.option('--resource-profile-id', help=u"""OCID of the resource profile.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@@ -6350,7 +6350,7 @@ def list_sightings(ctx, from_json, all_pages, page_size, compartment_id, problem
@tactic_summary_group.command(name=cli_util.override('cloud_guard.list_tactics.command_name', 'list-tactics'), help=u"""Returns a list of TacticSummary resources for a compartment, identified by compartmentId. \n[Command Reference](listTactics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -6409,7 +6409,7 @@ def list_tactics(ctx, from_json, all_pages, page_size, compartment_id, lifecycle
@target_detector_recipe_detector_rule_group.command(name=cli_util.override('cloud_guard.list_target_detector_recipe_detector_rules.command_name', 'list'), help=u"""Returns a list of DetectorRule associated with DetectorRecipe within a Target. \n[Command Reference](listTargetDetectorRecipeDetectorRules)""")
@cli_util.option('--target-id', required=True, help=u"""OCID of the target""")
@cli_util.option('--target-detector-recipe-id', required=True, help=u"""OCID of the target detector recipe.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -6482,7 +6482,7 @@ def list_target_detector_recipe_detector_rules(ctx, from_json, all_pages, page_s
@target_detector_recipe_group.command(name=cli_util.override('cloud_guard.list_target_detector_recipes.command_name', 'list'), help=u"""Returns a list of all target detector recipes (TargetDetectorRecipe resources) associated with a target (Target resource), identified by targetId. The list is contained in a TargetDetectorRecipeCollection resource with page of TargetDetectorRecipeSummary resources. \n[Command Reference](listTargetDetectorRecipes)""")
@cli_util.option('--target-id', required=True, help=u"""OCID of the target""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -6550,7 +6550,7 @@ def list_target_detector_recipes(ctx, from_json, all_pages, page_size, target_id
@target_responder_recipe_responder_rule_group.command(name=cli_util.override('cloud_guard.list_target_responder_recipe_responder_rules.command_name', 'list'), help=u"""Returns a list of responder rules (ResponderRule resources) associated with a responder recipe (ResponderRecipe resource) attached to a Target. List is returned in a TargetResponderRecipeResponderRuleCollection resource with page of TargetResponderRecipeResponderRuleSummary resources. \n[Command Reference](listTargetResponderRecipeResponderRules)""")
@cli_util.option('--target-id', required=True, help=u"""OCID of the target""")
@cli_util.option('--target-responder-recipe-id', required=True, help=u"""OCID of the target responder recipe.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -6623,7 +6623,7 @@ def list_target_responder_recipe_responder_rules(ctx, from_json, all_pages, page
@target_responder_recipe_group.command(name=cli_util.override('cloud_guard.list_target_responder_recipes.command_name', 'list'), help=u"""Returns a list of summary information for all responder recipes (TargetResponderRecipeCollection resource, with a page of TargetResponderRecipeSummary resources) attached to a target identified by targetId, located in a compartment identified by compartmentId. \n[Command Reference](listTargetResponderRecipes)""")
@cli_util.option('--target-id', required=True, help=u"""OCID of the target""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -6693,7 +6693,7 @@ def list_target_responder_recipes(ctx, from_json, all_pages, page_size, target_i
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListTargets on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all targets in compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listTargets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--is-non-security-zone-targets-only-query', type=click.BOOL, help=u"""Default is false. When set to true, only the targets that would be deleted as part of security zone creation will be returned.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@@ -6762,7 +6762,7 @@ def list_targets(ctx, from_json, all_pages, page_size, compartment_id, display_n
@technique_summary_group.command(name=cli_util.override('cloud_guard.list_techniques.command_name', 'list-techniques'), help=u"""Returns a list of techniques associated with detector rules. \n[Command Reference](listTechniques)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--tactics', multiple=True, help=u"""A filter to return only resources that match the list of tactics given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The field lifecycle state. Only one state can be provided. Default value for state is active. If no value is specified state is active.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -6822,7 +6822,7 @@ def list_techniques(ctx, from_json, all_pages, page_size, compartment_id, tactic
@wlp_agent_group.command(name=cli_util.override('cloud_guard.list_wlp_agents.command_name', 'list'), help=u"""Returns a list of WLP agents in a compartment. \n[Command Reference](listWlpAgents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use""")
@@ -6990,7 +6990,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('cloud_guard.list_work_requests.command_name', 'list'), help=u"""Returns a list of work requests (WorkRequestSummaryCollection resource), in a compartment identified by compartmentId. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given operation status (OperationStatus resource).""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -7051,7 +7051,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, sta
@security_zone_group.command(name=cli_util.override('cloud_guard.remove_compartment.command_name', 'remove'), help=u"""Removes a compartment from a security zone (SecurityZone resource), identified by securityZoneId. Pass compartmentId of compartment to remove through a RemoveCompartmentDetails resource. When you remove a subcompartment from a security zone, it no longer enforces security zone policies on the resources in the subcompartment. You can't remove the primary compartment that was used to create the security zone. \n[Command Reference](removeCompartment)""")
@cli_util.option('--security-zone-id', required=True, help=u"""The unique identifier of the security zone (`SecurityZone` resource).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to be removed from SecurityZone.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to be removed from SecurityZone.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -7107,7 +7107,7 @@ def remove_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@risk_score_aggregation_group.command(name=cli_util.override('cloud_guard.request_risk_scores.command_name', 'request-risk-scores'), help=u"""Returns a page of RiskScoreAggregation resources for a compartment, identified by compartmentId. \n[Command Reference](requestRiskScores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -7132,7 +7132,7 @@ def request_risk_scores(ctx, from_json, compartment_id, limit, page):
@security_score_trend_aggregation_group.command(name=cli_util.override('cloud_guard.request_security_score_summarized_trend.command_name', 'request-security-score-summarized-trend'), help=u"""Returns a page of SecurityScoreTrendAggregation resources. These measure the number of resources examined across all regions and compare it with the number of problems detected. \n[Command Reference](requestSecurityScoreSummarizedTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-score-computed-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to today's current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-score-computed-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to today's current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -7163,7 +7163,7 @@ def request_security_score_summarized_trend(ctx, from_json, compartment_id, time
@security_score_aggregation_group.command(name=cli_util.override('cloud_guard.request_security_scores.command_name', 'request-security-scores'), help=u"""Returns a page of SecurityScoreAggregation resources. These measure the number of resources examined across all regions and compare it with the number of problems detected. \n[Command Reference](requestSecurityScores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -7194,7 +7194,7 @@ def request_security_scores(ctx, from_json, compartment_id, limit, page):
The parameter `compartmentIdInSubtree` applies when you perform summarize API on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE.
The compartmentId to be passed with `accessLevel` and `compartmentIdInSubtree` params has to be the root compartment id (tenant-id) only. \n[Command Reference](requestSummarizedActivityProblems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are `RESTRICTED` and `ACCESSIBLE`. Default is `RESTRICTED`. Setting this to `ACCESSIBLE` returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to `RESTRICTED` permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -7233,7 +7233,7 @@ def request_summarized_activity_problems(ctx, from_json, compartment_id, compart
The parameter `compartmentIdInSubtree` applies when you perform summarize API on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](requestSummarizedProblems)""")
@cli_util.option('--list-dimensions', required=True, type=custom_types.CliCaseInsensitiveChoice(["RESOURCE_TYPE", "REGION", "COMPARTMENT_ID", "RISK_LEVEL", "DETECTOR_ID", "TARGET_ID"]), multiple=True, help=u"""The possible attributes based on which the problems can be distinguished.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are `RESTRICTED` and `ACCESSIBLE`. Default is `RESTRICTED`. Setting this to `ACCESSIBLE` returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to `RESTRICTED` permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -7270,7 +7270,7 @@ def request_summarized_problems(ctx, from_json, list_dimensions, compartment_id,
Setting accessLevel to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions, directly or indirectly (permissions can be on a resource in a subcompartment). \u201CNot Authorized\u201D is returned if user doesn't have access to at least one of the child compartments. When accessLevel is set to RESTRICTED, permissions are checked and no partial results are displayed. This is valid only when compartmentIdInSubtree is set to true. \n[Command Reference](requestSummarizedResponderExecutions)""")
@cli_util.option('--responder-executions-dimensions', required=True, type=custom_types.CliCaseInsensitiveChoice(["RESPONDER_RULE_TYPE", "RESPONDER_EXECUTION_STATUS"]), multiple=True, help=u"""The possible attributes based on which the responder executions can be distinguished.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--responder-type-filter', type=custom_types.CliCaseInsensitiveChoice(["REMEDIATION", "NOTIFICATION"]), multiple=True, help=u"""The possible filters for responder type dimension to distinguish responder executions. If no values are passed, the metric for responder executions of all responder types are returned.""")
@cli_util.option('--responder-execution-status-filter', type=custom_types.CliCaseInsensitiveChoice(["STARTED", "AWAITING_CONFIRMATION", "SUCCEEDED", "FAILED", "SKIPPED"]), multiple=True, help=u"""The possible filters for responder type dimension to distinguish responder executions. If no values are passed, the metric for responder executions of all status are returned.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@@ -7308,7 +7308,7 @@ def request_summarized_responder_executions(ctx, from_json, responder_executions
@risk_score_aggregation_group.command(name=cli_util.override('cloud_guard.request_summarized_risk_scores.command_name', 'request-summarized-risk-scores'), help=u"""DEPRECATED \n[Command Reference](requestSummarizedRiskScores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -7333,7 +7333,7 @@ def request_summarized_risk_scores(ctx, from_json, compartment_id, limit, page):
@security_score_aggregation_group.command(name=cli_util.override('cloud_guard.request_summarized_security_scores.command_name', 'request-summarized-security-scores'), help=u"""DEPRECATED \n[Command Reference](requestSummarizedSecurityScores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -7358,7 +7358,7 @@ def request_summarized_security_scores(ctx, from_json, compartment_id, limit, pa
@resource_profile_risk_score_aggregation_summary_group.command(name=cli_util.override('cloud_guard.request_summarized_top_trend_resource_profile_risk_scores.command_name', 'request-summarized-top-trend-resource-profile-risk-scores'), help=u"""Returns a list of resource profile risk score aggregation summaries (ResourceProfileRiskScoreAggregationSummaryCollection resource with a page of ResourceProfileRiskScoreAggregationSummary resources) for a specified compartment. \n[Command Reference](requestSummarizedTopTrendResourceProfileRiskScores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-score-computed-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to today's current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-score-computed-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to today's current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@@ -7405,7 +7405,7 @@ def request_summarized_top_trend_resource_profile_risk_scores(ctx, from_json, co
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform summarize API on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](requestSummarizedTrendProblems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-first-detected-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-first-detected-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@@ -7444,7 +7444,7 @@ def request_summarized_trend_problems(ctx, from_json, compartment_id, time_first
@resource_risk_score_aggregation_group.command(name=cli_util.override('cloud_guard.request_summarized_trend_resource_risk_scores.command_name', 'request-summarized-trend-resource-risk-scores'), help=u"""Returns a summary of risk score trends in a ResourceRiskScoreAggregationCollection resource, with a page of ResourceRiskScoreAggregation resources, filtered by parameters that you specify in a RequestSummarizedTrendResourceRiskScoresDetailsresource. \n[Command Reference](requestSummarizedTrendResourceRiskScores)""")
@cli_util.option('--filter', required=True, type=custom_types.CliCaseInsensitiveChoice(["PROBLEM_ID", "RESOURCE_PROFILE_ID"]), help=u"""The filter type""")
@cli_util.option('--filter-id', required=True, help=u"""ID to be passed in to filter the risk scores""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-score-computed-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to today's current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-score-computed-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to today's current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@@ -7491,7 +7491,7 @@ def request_summarized_trend_resource_risk_scores(ctx, from_json, filter, filter
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform summarize API on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](requestSummarizedTrendResponderExecutions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-completed-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Completion end time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-completed-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Completion start time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the setting of `accessLevel`.""")
@@ -7528,7 +7528,7 @@ def request_summarized_trend_responder_executions(ctx, from_json, compartment_id
@security_score_trend_aggregation_group.command(name=cli_util.override('cloud_guard.request_summarized_trend_security_scores.command_name', 'request-summarized-trend-security-scores'), help=u"""DEPRECATED \n[Command Reference](requestSummarizedTrendSecurityScores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--time-score-computed-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Start time for a filter. If start time is not specified, start time will be set to today's current time - 30 days.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-score-computed-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""End time for a filter. If end time is not specified, end time will be set to today's current time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return""")
@@ -7583,7 +7583,7 @@ def skip_bulk_responder_execution(ctx, from_json, responder_execution_ids):
@responder_execution_group.command(name=cli_util.override('cloud_guard.skip_responder_execution.command_name', 'skip'), help=u"""Skips the execution of the responder execution. When provided, If-Match is checked against etag values of the resource. \n[Command Reference](skipResponderExecution)""")
@cli_util.option('--responder-execution-id', required=True, help=u"""The unique identifier of the responder execution.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -7677,7 +7677,7 @@ def update_bulk_problem_status(ctx, from_json, status, problem_ids, comment):
@configuration_group.command(name=cli_util.override('cloud_guard.update_configuration.command_name', 'update'), help=u"""Updates configuration details for a Cloud Guard tenancy, identified by root compartment OCID. The reporting region cannot be updated once created. \n[Command Reference](updateConfiguration)""")
@cli_util.option('--reporting-region', required=True, help=u"""The reporting region""")
@cli_util.option('--status', required=True, type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Status of Cloud Guard tenant""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--service-configurations', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of service configurations for tenant
This option is a JSON list with items of type ServiceConfiguration. For documentation on ServiceConfiguration please see our API reference: https://docs.cloud.oracle.com/api/#/en/cloudguard/20200131/datatypes/ServiceConfiguration.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7724,7 +7724,7 @@ def update_configuration(ctx, from_json, force, reporting_region, status, compar
@cli_util.option('--display-name', help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--target-selected', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--data-mask-categories', type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@@ -7820,7 +7820,7 @@ def update_data_mask_rule(ctx, from_json, force, wait_for_state, max_wait_second
@cli_util.option('--display-name', help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--data-mask-categories', type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@cli_util.option('--data-mask-rule-status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""The status of the data mask rule""")
@@ -7915,7 +7915,7 @@ def update_data_mask_rule_all_targets_selected(ctx, from_json, force, wait_for_s
@cli_util.option('--display-name', help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--data-mask-categories', type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@cli_util.option('--data-mask-rule-status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""The status of the data mask rule""")
@@ -8014,7 +8014,7 @@ def update_data_mask_rule_target_resource_types_selected(ctx, from_json, force,
@cli_util.option('--display-name', help=u"""Data mask rule display name
Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', help=u"""Compartment OCID where the resource is created""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment OCID where the resource is created""")
@cli_util.option('--iam-group-id', help=u"""IAM group ID associated with the data mask rule""")
@cli_util.option('--data-mask-categories', type=custom_types.CliCaseInsensitiveChoice(["ACTOR", "PII", "PHI", "FINANCIAL", "LOCATION", "CUSTOM"]), help=u"""Data mask rule categories""")
@cli_util.option('--data-mask-rule-status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""The status of the data mask rule""")
diff --git a/services/cloud_migrations/src/oci_cli_migration/generated/migration_cli.py b/services/cloud_migrations/src/oci_cli_migration/generated/migration_cli.py
index 3b06f540..e3e0a19d 100644
--- a/services/cloud_migrations/src/oci_cli_migration/generated/migration_cli.py
+++ b/services/cloud_migrations/src/oci_cli_migration/generated/migration_cli.py
@@ -150,7 +150,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@migration_group.command(name=cli_util.override('cloud_migrations.change_migration_compartment.command_name', 'change-compartment'), help=u"""Moves a migration resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMigrationCompartment)""")
@cli_util.option('--migration-id', required=True, help=u"""Unique migration identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -211,7 +211,7 @@ def change_migration_compartment(ctx, from_json, wait_for_state, max_wait_second
@migration_plan_group.command(name=cli_util.override('cloud_migrations.change_migration_plan_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMigrationPlanCompartment)""")
@cli_util.option('--migration-plan-id', required=True, help=u"""Unique migration plan identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -272,7 +272,7 @@ def change_migration_plan_compartment(ctx, from_json, wait_for_state, max_wait_s
@replication_schedule_group.command(name=cli_util.override('cloud_migrations.change_replication_schedule_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeReplicationScheduleCompartment)""")
@cli_util.option('--replication-schedule-id', required=True, help=u"""Unique replication schedule identifier in path""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the replication schedule should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the replication schedule should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -333,7 +333,7 @@ def change_replication_schedule_compartment(ctx, from_json, wait_for_state, max_
@migration_group.command(name=cli_util.override('cloud_migrations.create_migration.command_name', 'create'), help=u"""Creates a migration. \n[Command Reference](createMigration)""")
@cli_util.option('--display-name', required=True, help=u"""Migration identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier""")
@cli_util.option('--replication-schedule-id', help=u"""Replication schedule identifier""")
@cli_util.option('--is-completed', type=click.BOOL, help=u"""Indicates whether migration is marked as complete.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. It exists only for cross-compatibility. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -473,7 +473,7 @@ def create_migration_asset(ctx, from_json, wait_for_state, max_wait_seconds, wai
@migration_plan_group.command(name=cli_util.override('cloud_migrations.create_migration_plan.command_name', 'create'), help=u"""Creates a migration plan. \n[Command Reference](createMigrationPlan)""")
@cli_util.option('--display-name', required=True, help=u"""Migration plan identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier""")
@cli_util.option('--migration-id', required=True, help=u"""The OCID of the associated migration.""")
@cli_util.option('--source-migration-plan-id', help=u"""Source migraiton plan ID to be cloned.""")
@cli_util.option('--strategies', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of strategies for the resources to be migrated.
@@ -553,7 +553,7 @@ def create_migration_plan(ctx, from_json, wait_for_state, max_wait_seconds, wait
@replication_schedule_group.command(name=cli_util.override('cloud_migrations.create_replication_schedule.command_name', 'create'), help=u"""Creates a replication schedule. \n[Command Reference](createReplicationSchedule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the replication schedule should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the replication schedule should be created.""")
@cli_util.option('--execution-recurrences', required=True, help=u"""Recurrence specification for replication schedule execution.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for a replication schedule. Does not have to be unique, and is mutable. Avoid entering confidential information.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. It exists only for cross-compatibility. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1340,7 +1340,7 @@ def import_migration_plan(ctx, from_json, wait_for_state, max_wait_seconds, wait
@available_shapes_collection_group.command(name=cli_util.override('cloud_migrations.list_available_shapes.command_name', 'list-available-shapes'), help=u"""List of shapes by parameters. \n[Command Reference](listAvailableShapes)""")
@cli_util.option('--migration-plan-id', required=True, help=u"""Unique migration plan identifier""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--dvh-host-id', help=u"""The ID of the Dvh in which to list resources.""")
@cli_util.option('--availability-domain', help=u"""The availability domain in which to list resources.""")
@cli_util.option('--reserved-capacity-id', help=u"""The reserved capacity ID for which to list resources.""")
@@ -1472,7 +1472,7 @@ def list_migration_assets(ctx, from_json, all_pages, page_size, migration_id, di
@migration_plan_collection_group.command(name=cli_util.override('cloud_migrations.list_migration_plans.command_name', 'list-migration-plans'), help=u"""Returns a list of migration plans. \n[Command Reference](listMigrationPlans)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--migration-id', help=u"""Unique migration identifier""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire given display name.""")
@cli_util.option('--migration-plan-id', help=u"""Unique migration plan identifier""")
@@ -1537,7 +1537,7 @@ def list_migration_plans(ctx, from_json, all_pages, page_size, compartment_id, m
@migration_collection_group.command(name=cli_util.override('cloud_migrations.list_migrations.command_name', 'list-migrations'), help=u"""Returns a list of migrations. \n[Command Reference](listMigrations)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "NEEDS_ATTENTION", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources where the resource's lifecycle state matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire given display name.""")
@cli_util.option('--migration-id', help=u"""Unique migration identifier""")
@@ -1599,7 +1599,7 @@ def list_migrations(ctx, from_json, all_pages, page_size, compartment_id, lifecy
@replication_schedule_collection_group.command(name=cli_util.override('cloud_migrations.list_replication_schedules.command_name', 'list-replication-schedules'), help=u"""Returns a list of replication schedules. \n[Command Reference](listReplicationSchedules)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "NEEDS_ATTENTION", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The current state of the replication schedule.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire given display name.""")
@cli_util.option('--replication-schedule-id', help=u"""Unique replication schedule identifier in query""")
@@ -1837,7 +1837,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('cloud_migrations.list_work_requests.command_name', 'list'), help=u"""List of work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources where the resource's lifecycle state matches the given operation status.""")
@cli_util.option('--operation-type', type=custom_types.CliCaseInsensitiveChoice(["CREATE_MIGRATION", "UPDATE_MIGRATION", "REFRESH_MIGRATION", "DELETE_MIGRATION", "MOVE_MIGRATION", "START_ASSET_REPLICATION", "START_MIGRATION_REPLICATION", "CREATE_REPLICATION_SCHEDULE", "UPDATE_REPLICATION_SCHEDULE", "DELETE_REPLICATION_SCHEDULE", "MOVE_REPLICATION_SCHEDULE", "CREATE_MIGRATION_PLAN", "UPDATE_MIGRATION_PLAN", "DELETE_MIGRATION_PLAN", "MOVE_MIGRATION_PLAN", "REFRESH_MIGRATION_PLAN", "EXECUTE_MIGRATION_PLAN", "REFRESH_MIGRATION_ASSET", "CREATE_MIGRATION_ASSET", "DELETE_MIGRATION_ASSET", "CREATE_TARGET_ASSET", "UPDATE_TARGET_ASSET", "DELETE_TARGET_ASSET"]), help=u"""A filter to return only resources where the resource's lifecycle state matches the given operation type.""")
diff --git a/services/cluster_placement_groups/src/oci_cli_cluster_placement_groups_cp/generated/clusterplacementgroupscp_cli.py b/services/cluster_placement_groups/src/oci_cli_cluster_placement_groups_cp/generated/clusterplacementgroupscp_cli.py
index a7923182..9c03ab82 100644
--- a/services/cluster_placement_groups/src/oci_cli_cluster_placement_groups_cp/generated/clusterplacementgroupscp_cli.py
+++ b/services/cluster_placement_groups/src/oci_cli_cluster_placement_groups_cp/generated/clusterplacementgroupscp_cli.py
@@ -60,7 +60,7 @@ def work_request_group():
@cluster_placement_group_group.command(name=cli_util.override('cpg.activate_cluster_placement_group.command_name', 'activate'), help=u"""Activates the specified, previously deactivated cluster placement group to let resources be created in it. \n[Command Reference](activateClusterPlacementGroup)""")
-@cli_util.option('--cluster-placement-group-id', required=True, help=u"""A unique cluster placement group identifier.""")
+@cli_util.option('--cluster-placement-group-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique cluster placement group identifier.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -139,8 +139,8 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@cluster_placement_group_group.command(name=cli_util.override('cpg.change_cluster_placement_group_compartment.command_name', 'change-compartment'), help=u"""Moves a cluster placement group resource from one compartment to another in the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeClusterPlacementGroupCompartment)""")
-@cli_util.option('--cluster-placement-group-id', required=True, help=u"""A unique cluster placement group identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--cluster-placement-group-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique cluster placement group identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -174,7 +174,7 @@ def change_cluster_placement_group_compartment(ctx, from_json, cluster_placement
@cli_util.option('--cluster-placement-group-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["STANDARD"]), help=u"""ClusterPlacementGroup Identifier.""")
@cli_util.option('--description', required=True, help=u"""A description of the cluster placement group.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where you want to create the cluster placement group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the cluster placement group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the cluster placement group.""")
@cli_util.option('--placement-instruction', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--capabilities', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -250,7 +250,7 @@ def create_cluster_placement_group(ctx, from_json, wait_for_state, max_wait_seco
@cluster_placement_group_group.command(name=cli_util.override('cpg.deactivate_cluster_placement_group.command_name', 'deactivate'), help=u"""Deactivates the specified cluster placement group to prevent new resources from being created in it. \n[Command Reference](deactivateClusterPlacementGroup)""")
-@cli_util.option('--cluster-placement-group-id', required=True, help=u"""A unique cluster placement group identifier.""")
+@cli_util.option('--cluster-placement-group-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique cluster placement group identifier.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -301,7 +301,7 @@ def deactivate_cluster_placement_group(ctx, from_json, wait_for_state, max_wait_
@cluster_placement_group_group.command(name=cli_util.override('cpg.delete_cluster_placement_group.command_name', 'delete'), help=u"""Deletes the specified cluster placement group. \n[Command Reference](deleteClusterPlacementGroup)""")
-@cli_util.option('--cluster-placement-group-id', required=True, help=u"""A unique cluster placement group identifier.""")
+@cli_util.option('--cluster-placement-group-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique cluster placement group identifier.""")
@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.""")
@cli_util.confirm_delete_option
@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.""")
@@ -357,7 +357,7 @@ def delete_cluster_placement_group(ctx, from_json, wait_for_state, max_wait_seco
@cluster_placement_group_group.command(name=cli_util.override('cpg.get_cluster_placement_group.command_name', 'get'), help=u"""Gets the specified cluster placement group. \n[Command Reference](getClusterPlacementGroup)""")
-@cli_util.option('--cluster-placement-group-id', required=True, help=u"""A unique cluster placement group identifier.""")
+@cli_util.option('--cluster-placement-group-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique cluster placement group identifier.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -401,7 +401,7 @@ def get_work_request(ctx, from_json, work_request_id):
@cluster_placement_group_collection_group.command(name=cli_util.override('cpg.list_cluster_placement_groups.command_name', 'list-cluster-placement-groups'), help=u"""Gets a list of all cluster placement groups in the specified compartment. \n[Command Reference](listClusterPlacementGroups)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only the resources that match the specified compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only the resources that match the specified compartment [OCID].""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only the resources that match the specified lifecycle state.""")
@cli_util.option('--name', help=u"""A filter to return only the resources that match the entire display name specified.""")
@cli_util.option('--ad', help=u"""A filter to return only the resources that match the specified availability domain.""")
@@ -583,7 +583,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('cpg.list_work_requests.command_name', 'list'), help=u"""Lists all work requests in the specified compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only the resources that match the specified compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only the resources that match the specified compartment [OCID].""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources with a lifecycle state that matches the specified operation status.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@@ -645,7 +645,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, wor
@cluster_placement_group_group.command(name=cli_util.override('cpg.update_cluster_placement_group.command_name', 'update'), help=u"""Updates the specified cluster placement group. \n[Command Reference](updateClusterPlacementGroup)""")
-@cli_util.option('--cluster-placement-group-id', required=True, help=u"""A unique cluster placement group identifier.""")
+@cli_util.option('--cluster-placement-group-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique cluster placement group identifier.""")
@cli_util.option('--description', help=u"""The description of the cluster placement group.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/compute_cloud_at_customer/src/oci_cli_compute_cloud_at_customer/generated/computecloudatcustomer_cli.py b/services/compute_cloud_at_customer/src/oci_cli_compute_cloud_at_customer/generated/computecloudatcustomer_cli.py
index 9ed386e0..38a1dc66 100644
--- a/services/compute_cloud_at_customer/src/oci_cli_compute_cloud_at_customer/generated/computecloudatcustomer_cli.py
+++ b/services/compute_cloud_at_customer/src/oci_cli_compute_cloud_at_customer/generated/computecloudatcustomer_cli.py
@@ -55,7 +55,7 @@ def ccc_infrastructure_collection_group():
@ccc_infrastructure_group.command(name=cli_util.override('ccc.change_ccc_infrastructure_compartment.command_name', 'change-compartment'), help=u"""Moves a Compute Cloud@Customer infrastructure resource from one compartment to another. \n[Command Reference](changeCccInfrastructureCompartment)""")
@cli_util.option('--ccc-infrastructure-id', required=True, help=u"""An [OCID] for a Compute Cloud@Customer Infrastructure.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -86,7 +86,7 @@ def change_ccc_infrastructure_compartment(ctx, from_json, ccc_infrastructure_id,
@ccc_upgrade_schedule_group.command(name=cli_util.override('ccc.change_ccc_upgrade_schedule_compartment.command_name', 'change-compartment'), help=u"""Moves a Compute Cloud@Customer upgrade schedule from one compartment to another using the specified [OCID]. \n[Command Reference](changeCccUpgradeScheduleCompartment)""")
@cli_util.option('--ccc-upgrade-schedule-id', required=True, help=u"""Compute Cloud@Customer upgrade schedule [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -117,8 +117,8 @@ def change_ccc_upgrade_schedule_compartment(ctx, from_json, ccc_upgrade_schedule
@ccc_infrastructure_group.command(name=cli_util.override('ccc.create_ccc_infrastructure.command_name', 'create'), help=u"""Creates a Compute Cloud@Customer infrastructure. Once created, Oracle Services must connect the rack in the data center to this Oracle Cloud Infrastructure resource. \n[Command Reference](createCccInfrastructure)""")
@cli_util.option('--display-name', required=True, help=u"""The name that will be used to display the Compute Cloud@Customer infrastructure in the Oracle Cloud Infrastructure console. Does not have to be unique and can be changed. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] associated with the infrastructure.""")
-@cli_util.option('--subnet-id', required=True, help=u"""Identifier for network subnet that will be used to communicate with Compute Cloud@Customer infrastructure.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] associated with the infrastructure.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier for network subnet that will be used to communicate with Compute Cloud@Customer infrastructure.""")
@cli_util.option('--description', help=u"""A mutable client-meaningful text description of the Compute Cloud@Customer infrastructure. Avoid entering confidential information.""")
@cli_util.option('--connection-state', help=u"""The current connection state of the Compute Cloud@Customer infrastructure. This value will default to REJECT if the value is not provided. The only valid value at creation time is REJECT.""")
@cli_util.option('--connection-details', help=u"""A message describing the current connection state in more detail.""")
@@ -194,7 +194,7 @@ def create_ccc_infrastructure(ctx, from_json, wait_for_state, max_wait_seconds,
@ccc_upgrade_schedule_group.command(name=cli_util.override('ccc.create_ccc_upgrade_schedule.command_name', 'create'), help=u"""Creates a new Compute Cloud@Customer upgrade schedule. \n[Command Reference](createCccUpgradeSchedule)""")
@cli_util.option('--display-name', required=True, help=u"""Compute Cloud@Customer upgrade schedule display name. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment [OCID] for the Compute Cloud@Customer Upgrade Schedule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment [OCID] for the Compute Cloud@Customer Upgrade Schedule.""")
@cli_util.option('--events', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of preferred times for Compute Cloud@Customer infrastructure to be upgraded.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""An optional description of the Compute Cloud@Customer upgrade schedule. Avoid entering confidential information.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -430,7 +430,7 @@ def get_ccc_upgrade_schedule(ctx, from_json, ccc_upgrade_schedule_id):
@ccc_infrastructure_collection_group.command(name=cli_util.override('ccc.list_ccc_infrastructures.command_name', 'list-ccc-infrastructures'), help=u"""Returns a list of Compute Cloud@Customer infrastructures. \n[Command Reference](listCccInfrastructures)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and sub-compartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "NEEDS_ATTENTION", "DELETED", "FAILED"]), help=u"""A filter used to return only resources that match the given lifecycleState.""")
@@ -502,7 +502,7 @@ def list_ccc_infrastructures(ctx, from_json, all_pages, page_size, compartment_i
@ccc_upgrade_schedule_collection_group.command(name=cli_util.override('ccc.list_ccc_upgrade_schedules.command_name', 'list-ccc-upgrade-schedules'), help=u"""Returns a list of Compute Cloud@Customer upgrade schedules. \n[Command Reference](listCccUpgradeSchedules)""")
@cli_util.option('--ccc-upgrade-schedule-id', help=u"""Compute Cloud@Customer upgrade schedule [OCID].""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and sub-compartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "NEEDS_ATTENTION", "DELETED", "FAILED"]), help=u"""A filter to return resources only when their lifecycleState matches the given lifecycleState.""")
@@ -575,7 +575,7 @@ def list_ccc_upgrade_schedules(ctx, from_json, all_pages, page_size, ccc_upgrade
@cli_util.option('--ccc-infrastructure-id', required=True, help=u"""An [OCID] for a Compute Cloud@Customer Infrastructure.""")
@cli_util.option('--display-name', help=u"""The name that will be used to display the Compute Cloud@Customer infrastructure in the Oracle Cloud Infrastructure console. Does not have to be unique and can be changed. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A mutable client-meaningful text description of the Compute Cloud@Customer infrastructure. Avoid entering confidential information.""")
-@cli_util.option('--subnet-id', help=u"""[OCID] for the network subnet that is used to communicate with Compute Cloud@Customer infrastructure.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""[OCID] for the network subnet that is used to communicate with Compute Cloud@Customer infrastructure.""")
@cli_util.option('--connection-state', help=u"""An updated connection state of the Compute Cloud@Customer infrastructure.""")
@cli_util.option('--connection-details', help=u"""A message describing the current connection state in more detail.""")
@cli_util.option('--ccc-upgrade-schedule-id', help=u"""Schedule used for upgrades. If no schedule is associated with the infrastructure, it can be updated at any time.""")
diff --git a/services/compute_instance_agent/src/oci_cli_compute_instance_agent/generated/computeinstanceagent_cli.py b/services/compute_instance_agent/src/oci_cli_compute_instance_agent/generated/computeinstanceagent_cli.py
index c71e32b4..cd74b4ee 100644
--- a/services/compute_instance_agent/src/oci_cli_compute_instance_agent/generated/computeinstanceagent_cli.py
+++ b/services/compute_instance_agent/src/oci_cli_compute_instance_agent/generated/computeinstanceagent_cli.py
@@ -73,7 +73,7 @@ def cancel_instance_agent_command(ctx, from_json, instance_agent_command_id, if_
On Linux instances, the script runs in a bash shell. On Windows instances, the script runs in a batch shell.
Commands that require administrator privileges will run only if Oracle Cloud Agent is running with administrator privileges. \n[Command Reference](createInstanceAgentCommand)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the command in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the command in.""")
@cli_util.option('--execution-time-out-in-seconds', required=True, type=click.INT, help=u"""The amount of time that Oracle Cloud Agent is given to run the command on the instance before timing out. The timer starts when Oracle Cloud Agent starts the command. Zero means no timeout.""")
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The target instance to run the command on.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--content', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The contents of the command.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -131,7 +131,7 @@ def get_instance_agent_command(ctx, from_json, instance_agent_command_id):
@instance_agent_command_execution_group.command(name=cli_util.override('compute_instance_agent.get_instance_agent_command_execution.command_name', 'get'), help=u"""Gets information about the status of specified instance agent commandId for the given instanceId. \n[Command Reference](getInstanceAgentCommandExecution)""")
@cli_util.option('--instance-agent-command-id', required=True, help=u"""The [OCID] of the command.""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -154,8 +154,8 @@ def get_instance_agent_command_execution(ctx, from_json, instance_agent_command_
@instance_agent_command_execution_group.command(name=cli_util.override('compute_instance_agent.list_instance_agent_command_executions.command_name', 'list'), help=u"""Lists the execution details for Oracle Cloud Agent commands that run on the specified compute instance. \n[Command Reference](listInstanceAgentCommandExecutions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@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].""")
@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].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for `TIMECREATED` is descending.
@@ -217,7 +217,7 @@ def list_instance_agent_command_executions(ctx, from_json, all_pages, page_size,
@instance_agent_command_group.command(name=cli_util.override('compute_instance_agent.list_instance_agent_commands.command_name', 'list'), help=u"""Lists the Oracle Cloud Agent commands issued in a compartment. \n[Command Reference](listInstanceAgentCommands)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].""")
@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].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for `TIMECREATED` is descending.
diff --git a/services/compute_instance_agent/src/oci_cli_plugin/generated/plugin_cli.py b/services/compute_instance_agent/src/oci_cli_plugin/generated/plugin_cli.py
index 20d4134b..ffc971fb 100644
--- a/services/compute_instance_agent/src/oci_cli_plugin/generated/plugin_cli.py
+++ b/services/compute_instance_agent/src/oci_cli_plugin/generated/plugin_cli.py
@@ -35,7 +35,7 @@ def plugin_group():
@plugin_group.command(name=cli_util.override('plugin.get_instance_agent_plugin.command_name', 'get-instance-agent'), help=u"""Gets information about a specific Oracle Cloud Agent plugin on a compute instance. \n[Command Reference](getInstanceAgentPlugin)""")
@cli_util.option('--instanceagent-id', required=True, help=u"""The [OCID] of the instance.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--plugin-name', required=True, help=u"""The name of the plugin.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -63,7 +63,7 @@ def get_instance_agent_plugin(ctx, from_json, instanceagent_id, compartment_id,
@plugin_group.command(name=cli_util.override('plugin.list_instance_agent_plugins.command_name', 'list-instance-agent'), help=u"""Gets information about the Oracle Cloud Agent plugins that are available on a specific compute instance. \n[Command Reference](listInstanceAgentPlugins)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--instanceagent-id', required=True, help=u"""The [OCID] of the instance.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["RUNNING", "STOPPED", "NOT_SUPPORTED", "INVALID"]), help=u"""The plugin status.""")
@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].""")
diff --git a/services/compute_instance_agent/src/oci_cli_pluginconfig/generated/pluginconfig_cli.py b/services/compute_instance_agent/src/oci_cli_pluginconfig/generated/pluginconfig_cli.py
index f1f9148b..ec8631bf 100644
--- a/services/compute_instance_agent/src/oci_cli_pluginconfig/generated/pluginconfig_cli.py
+++ b/services/compute_instance_agent/src/oci_cli_pluginconfig/generated/pluginconfig_cli.py
@@ -34,7 +34,7 @@ def plugin_group():
@plugin_group.command(name=cli_util.override('pluginconfig.list_instanceagent_available_plugins.command_name', 'list-instanceagent-available'), help=u"""Lists the Oracle Cloud Agent plugins that are available for compute instances. \n[Command Reference](listInstanceagentAvailablePlugins)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--os-name', required=True, help=u"""The image (OS) for the compute instance.
If no match is found, all plugins are returned.
diff --git a/services/container_engine/src/oci_cli_container_engine/generated/containerengine_cli.py b/services/container_engine/src/oci_cli_container_engine/generated/containerengine_cli.py
index 966d38ea..c51ed064 100644
--- a/services/container_engine/src/oci_cli_container_engine/generated/containerengine_cli.py
+++ b/services/container_engine/src/oci_cli_container_engine/generated/containerengine_cli.py
@@ -239,8 +239,8 @@ def complete_credential_rotation(ctx, from_json, wait_for_state, max_wait_second
@cluster_group.command(name=cli_util.override('ce.create_cluster.command_name', 'create'), help=u"""Create a new cluster. \n[Command Reference](createCluster)""")
@cli_util.option('--name', required=True, help=u"""The name of the cluster. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the cluster.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The OCID of the virtual cloud network (VCN) in which to create the cluster.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the cluster.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the virtual cloud network (VCN) in which to create the cluster.""")
@cli_util.option('--kubernetes-version', required=True, help=u"""The version of Kubernetes to install into the cluster masters.""")
@cli_util.option('--endpoint-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The network configuration for access to the Cluster control plane.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the KMS key to be used as the master encryption key for Kubernetes secret encryption. When used, `kubernetesVersion` must be at least `v1.13.0`.""")
@@ -392,7 +392,7 @@ def create_kubeconfig(ctx, from_json, file, cluster_id, token_version, expiratio
@node_pool_group.command(name=cli_util.override('ce.create_node_pool.command_name', 'create'), help=u"""Create a new node pool. \n[Command Reference](createNodePool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which the node pool exists.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which the node pool exists.""")
@cli_util.option('--cluster-id', required=True, help=u"""The OCID of the cluster to which this node pool is attached.""")
@cli_util.option('--name', required=True, help=u"""The name of the node pool. Avoid entering confidential information.""")
@cli_util.option('--node-shape', required=True, help=u"""The name of the node shape of the nodes in the node pool.""")
@@ -509,7 +509,7 @@ def create_node_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@node_pool_group.command(name=cli_util.override('ce.create_node_pool_node_source_via_image_details.command_name', 'create-node-pool-node-source-via-image-details'), help=u"""Create a new node pool. \n[Command Reference](createNodePool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which the node pool exists.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which the node pool exists.""")
@cli_util.option('--cluster-id', required=True, help=u"""The OCID of the cluster to which this node pool is attached.""")
@cli_util.option('--name', required=True, help=u"""The name of the node pool. Avoid entering confidential information.""")
@cli_util.option('--node-shape', required=True, help=u"""The name of the node shape of the nodes in the node pool.""")
@@ -631,7 +631,7 @@ def create_node_pool_node_source_via_image_details(ctx, from_json, wait_for_stat
@virtual_node_pool_group.command(name=cli_util.override('ce.create_virtual_node_pool.command_name', 'create'), help=u"""Create a new virtual node pool. \n[Command Reference](createVirtualNodePool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment of the virtual node pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment of the virtual node pool.""")
@cli_util.option('--cluster-id', required=True, help=u"""The cluster the virtual node pool is associated with. A virtual node pool can only be associated with one cluster.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the virtual node pool. This is a non-unique value.""")
@cli_util.option('--size', required=True, type=click.INT, help=u"""The number of Virtual Nodes that should be in the Virtual Node Pool. The placement configurations determine where these virtual nodes are placed.""")
@@ -1231,7 +1231,7 @@ def get_cluster_migrate_to_native_vcn_status(ctx, from_json, cluster_id):
@cluster_options_group.command(name=cli_util.override('ce.get_cluster_options.command_name', 'get'), help=u"""Get options available for clusters. \n[Command Reference](getClusterOptions)""")
@cli_util.option('--cluster-option-id', required=True, help=u"""The id of the option set to retrieve. Use \"all\" get all options, or use a cluster ID to get options specific to the provided cluster.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--should-list-all-patch-versions', type=click.BOOL, help=u"""Option to show all kubernetes patch versions""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1303,7 +1303,7 @@ def get_node_pool(ctx, from_json, node_pool_id):
@node_pool_options_group.command(name=cli_util.override('ce.get_node_pool_options.command_name', 'get'), help=u"""Get options available for node pools. \n[Command Reference](getNodePoolOptions)""")
@cli_util.option('--node-pool-option-id', required=True, help=u"""The id of the option set to retrieve. Use \"all\" get all options, or use a cluster ID to get options specific to the provided cluster.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--should-list-all-patch-versions', type=click.BOOL, help=u"""Option to show all kubernetes patch versions""")
@cli_util.option('--node-pool-os-type', type=custom_types.CliCaseInsensitiveChoice(["OL7", "OL8", "UBUNTU"]), help=u"""Filter node pool options by OS type.""")
@cli_util.option('--node-pool-os-arch', type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64"]), help=u"""Filter node pool options by OS architecture.""")
@@ -1629,7 +1629,7 @@ def list_addons(ctx, from_json, all_pages, page_size, cluster_id, limit, page, s
@cluster_group.command(name=cli_util.override('ce.list_clusters.command_name', 'list'), help=u"""List all the cluster objects in a compartment. \n[Command Reference](listClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "FAILED", "DELETING", "DELETED", "UPDATING"]), multiple=True, help=u"""A cluster lifecycle state to filter on. Can have multiple parameters of this name. For more information, see [Monitoring Clusters]""")
@cli_util.option('--name', help=u"""The name to filter on.""")
@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. 1 is the minimum, 1000 is the maximum. For important details about how pagination works, see [List Pagination].""")
@@ -1689,7 +1689,7 @@ def list_clusters(ctx, from_json, all_pages, page_size, compartment_id, lifecycl
@node_pool_group.command(name=cli_util.override('ce.list_node_pools.command_name', 'list'), help=u"""List all the node pools in a compartment, and optionally filter by cluster. \n[Command Reference](listNodePools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--cluster-id', help=u"""The OCID of the cluster.""")
@cli_util.option('--name', help=u"""The name to filter on.""")
@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. 1 is the minimum, 1000 is the maximum. For important details about how pagination works, see [List Pagination].""")
@@ -1752,7 +1752,7 @@ def list_node_pools(ctx, from_json, all_pages, page_size, compartment_id, cluste
@pod_shape_group.command(name=cli_util.override('ce.list_pod_shapes.command_name', 'list'), help=u"""List all the Pod Shapes in a compartment. \n[Command Reference](listPodShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the pod shape.""")
@cli_util.option('--name', help=u"""The name to filter on.""")
@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. 1 is the minimum, 1000 is the maximum. For important details about how pagination works, see [List Pagination].""")
@@ -1814,7 +1814,7 @@ def list_pod_shapes(ctx, from_json, all_pages, page_size, compartment_id, availa
@virtual_node_pool_group.command(name=cli_util.override('ce.list_virtual_node_pools.command_name', 'list'), help=u"""List all the virtual node pools in a compartment, and optionally filter by cluster. \n[Command Reference](listVirtualNodePools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--cluster-id', help=u"""The OCID of the cluster.""")
@cli_util.option('--name', help=u"""The name to filter on.""")
@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. 1 is the minimum, 1000 is the maximum. For important details about how pagination works, see [List Pagination].""")
@@ -1937,7 +1937,7 @@ def list_virtual_nodes(ctx, from_json, all_pages, page_size, virtual_node_pool_i
@work_request_error_group.command(name=cli_util.override('ce.list_work_request_errors.command_name', 'list'), help=u"""Get the errors of a work request. \n[Command Reference](listWorkRequestErrors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--work-request-id', required=True, help=u"""The OCID of the work request.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1962,7 +1962,7 @@ def list_work_request_errors(ctx, from_json, all_pages, compartment_id, work_req
@work_request_log_entry_group.command(name=cli_util.override('ce.list_work_request_logs.command_name', 'list-work-request-logs'), help=u"""Get the logs of a work request. \n[Command Reference](listWorkRequestLogs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--work-request-id', required=True, help=u"""The OCID of the work request.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1987,7 +1987,7 @@ def list_work_request_logs(ctx, from_json, all_pages, compartment_id, work_reque
@work_request_group.command(name=cli_util.override('ce.list_work_requests.command_name', 'list'), help=u"""List all work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--cluster-id', help=u"""The OCID of the cluster.""")
@cli_util.option('--resource-id', help=u"""The OCID of the resource associated with a work request""")
@cli_util.option('--resource-type', type=custom_types.CliCaseInsensitiveChoice(["CLUSTER", "NODEPOOL"]), help=u"""Type of the resource associated with a work request""")
diff --git a/services/container_instances/src/oci_cli_container_instance/generated/containerinstance_cli.py b/services/container_instances/src/oci_cli_container_instance/generated/containerinstance_cli.py
index 4ee393e6..f88bbe2a 100644
--- a/services/container_instances/src/oci_cli_container_instance/generated/containerinstance_cli.py
+++ b/services/container_instances/src/oci_cli_container_instance/generated/containerinstance_cli.py
@@ -93,7 +93,7 @@ def work_request_log_entry_collection_group():
@container_instance_group.command(name=cli_util.override('container_instances.change_container_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a container instance resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeContainerInstanceCompartment)""")
@cli_util.option('--container-instance-id', required=True, help=u"""The [OCID] of the container instance.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the container instance to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the container instance to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -153,7 +153,7 @@ def change_container_instance_compartment(ctx, from_json, wait_for_state, max_wa
@container_instance_group.command(name=cli_util.override('container_instances.create_container_instance.command_name', 'create'), help=u"""Creates a container instance and deploys the containers on it. \n[Command Reference](createContainerInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the container instance runs.""")
@cli_util.option('--shape', required=True, help=u"""The shape of the container instance. The shape determines the resources available to the container instance.""")
@cli_util.option('--shape-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -380,7 +380,7 @@ def get_work_request(ctx, from_json, work_request_id):
@container_instance_shape_collection_group.command(name=cli_util.override('container_instances.list_container_instance_shapes.command_name', 'list-container-instance-shapes'), help=u"""Lists the shapes that can be used to create container instances. \n[Command Reference](listContainerInstanceShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -433,7 +433,7 @@ def list_container_instance_shapes(ctx, from_json, all_pages, page_size, compart
@container_instance_collection_group.command(name=cli_util.override('container_instances.list_container_instances.command_name', 'list-container-instances'), help=u"""Returns a list of container instances. \n[Command Reference](listContainerInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to only return resources that match the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
@@ -500,7 +500,7 @@ def list_container_instances(ctx, from_json, all_pages, page_size, compartment_i
@container_collection_group.command(name=cli_util.override('container_instances.list_containers.command_name', 'list-containers'), help=u"""Returns a list of containers in a compartment. \n[Command Reference](listContainers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to only return resources that match the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--container-instance-id', help=u"""The [OCID] of the container instance.""")
@@ -684,7 +684,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_summary_collection_group.command(name=cli_util.override('container_instances.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@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].""")
@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].""")
diff --git a/services/core/src/oci_cli_blockstorage/blockstorage_cli_extended.py b/services/core/src/oci_cli_blockstorage/blockstorage_cli_extended.py
index f1ada876..aa6c2875 100644
--- a/services/core/src/oci_cli_blockstorage/blockstorage_cli_extended.py
+++ b/services/core/src/oci_cli_blockstorage/blockstorage_cli_extended.py
@@ -14,6 +14,7 @@
from oci_cli.cli_root import cli
from oci_cli import cli_util
from oci_cli import json_skeleton_utils
+from oci_cli import custom_types # noqa: F401
cli_util.rename_command(blockstorage_cli, cli, blockstorage_cli.blockstorage_root_group, "bv")
blockstorage_cli.volume_group.commands.pop(blockstorage_cli.create_volume.name)
@@ -50,7 +51,7 @@
@cli_util.option('--availability-domain', help="""The Availability Domain of the volume.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help="""The OCID of the compartment that contains the volume.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help="""The OCID of the compartment that contains the volume.""")
@cli_util.option('--source-volume-id', help="""The OCID of a Block volume in the same Availability Domain from which the data should be cloned to the newly created volume. You can specify either this, --volume-backup-id or --source-volume-replica-id but not all. If neither is specified then the new Block volume will be empty.""")
@cli_util.option('--volume-backup-id', help="""The OCID of the volume backup from which the data should be restored on the newly created volume. You can specify either this, --source-volume-id or --source-volume-replica-id but not all. If neither is specified then the new Block volume will be empty.""")
@cli_util.option('--source-volume-replica-id', help="""The OCID of the block volume replica from which the data should be restored on the newly created volume. You can specify either this, --volume-backup-id or --source-volume-id but not all. If neither is specified then the new Block volume will be empty.""")
@@ -124,8 +125,8 @@ def create_volume_extended(ctx, **kwargs):
@cli_util.option('--availability-domain', help="""The Availability Domain of the boot volume. Example: `Uocm:PHX-AD-1`.
This is optional when cloning a boot volume as the newly created boot volume will be created in the same Availability Domain as its source. This is required when restoring a volume from a backup.""")
-@cli_util.option('--compartment-id', help="""The OCID of the compartment that contains the boot volume. This is optional when cloning a boot volume or restoring a boot volume from a backup. If it is not supplied then the boot volume will be created in the same compartment as the source.""")
-@cli_util.option('--source-boot-volume-id', help="""The OCID of a boot volume in the same Availability Domain from which the data should be cloned to the newly created boot volume. You can specify either this, --boot-volume-backup-id or --source-volume-replica-id but not all.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help="""The OCID of the compartment that contains the boot volume. This is optional when cloning a boot volume or restoring a boot volume from a backup. If it is not supplied then the boot volume will be created in the same compartment as the source.""")
+@cli_util.option('--source-boot-volume-id', type=custom_types.CLI_OCID, help="""The OCID of a boot volume in the same Availability Domain from which the data should be cloned to the newly created boot volume. You can specify either this, --boot-volume-backup-id or --source-volume-replica-id but not all.""")
@cli_util.option('--boot-volume-backup-id', help="""The OCID of the boot volume backup from which the data should be restored on the newly created boot volume. You can specify either this, --source-boot-volume-id or --source-volume-replica-id but not all.""")
@cli_util.option('--source-volume-replica-id', help="""The OCID of the boot volume replica from which the data should be restored on the newly created boot volume. You can specify either this, --source-boot-volume-id or --boot-volume-backup-id --but not all.""")
@click.pass_context
diff --git a/services/core/src/oci_cli_blockstorage/generated/blockstorage_cli.py b/services/core/src/oci_cli_blockstorage/generated/blockstorage_cli.py
index c4e9f5b7..033fe4b5 100644
--- a/services/core/src/oci_cli_blockstorage/generated/blockstorage_cli.py
+++ b/services/core/src/oci_cli_blockstorage/generated/blockstorage_cli.py
@@ -156,7 +156,7 @@ def volume_kms_key_group():
@boot_volume_backup_group.command(name=cli_util.override('blockstorage.change_boot_volume_backup_compartment.command_name', 'change-compartment'), help=u"""Moves a boot volume backup 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](changeBootVolumeBackupCompartment)""")
@cli_util.option('--boot-volume-backup-id', required=True, help=u"""The OCID of the boot volume backup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the boot volume backup to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the boot volume backup to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -183,8 +183,8 @@ def change_boot_volume_backup_compartment(ctx, from_json, boot_volume_backup_id,
@boot_volume_group.command(name=cli_util.override('blockstorage.change_boot_volume_compartment.command_name', 'change-compartment'), help=u"""Moves a boot volume 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](changeBootVolumeCompartment)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the boot volume to.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the boot volume to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -212,7 +212,7 @@ def change_boot_volume_compartment(ctx, from_json, boot_volume_id, compartment_i
@volume_backup_group.command(name=cli_util.override('blockstorage.change_volume_backup_compartment.command_name', 'change-compartment'), help=u"""Moves a volume backup 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](changeVolumeBackupCompartment)""")
@cli_util.option('--volume-backup-id', required=True, help=u"""The OCID of the volume backup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the volume backup to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the volume backup to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -239,8 +239,8 @@ def change_volume_backup_compartment(ctx, from_json, volume_backup_id, compartme
@volume_group.command(name=cli_util.override('blockstorage.change_volume_compartment.command_name', 'change-compartment'), help=u"""Moves a volume 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](changeVolumeCompartment)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the volume to.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the volume to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -268,7 +268,7 @@ def change_volume_compartment(ctx, from_json, volume_id, compartment_id):
@volume_group_backup_group.command(name=cli_util.override('blockstorage.change_volume_group_backup_compartment.command_name', 'change-compartment'), help=u"""Moves a volume group backup 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](changeVolumeGroupBackupCompartment)""")
@cli_util.option('--volume-group-backup-id', required=True, help=u"""The Oracle Cloud ID (OCID) that uniquely identifies the volume group backup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the volume group backup to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the volume group backup to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -296,7 +296,7 @@ def change_volume_group_backup_compartment(ctx, from_json, volume_group_backup_i
@volume_group_group.command(name=cli_util.override('blockstorage.change_volume_group_compartment.command_name', 'change-compartment'), help=u"""Moves a volume group 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](changeVolumeGroupCompartment)""")
@cli_util.option('--volume-group-id', required=True, help=u"""The Oracle Cloud ID (OCID) that uniquely identifies the volume group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the volume group to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the volume group to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -521,7 +521,7 @@ def copy_volume_group_backup(ctx, from_json, wait_for_state, max_wait_seconds, w
@boot_volume_group.command(name=cli_util.override('blockstorage.create_boot_volume.command_name', 'create'), help=u"""Creates a new boot volume in the specified compartment from an existing boot volume or a boot volume backup. For general information about boot volumes, see [Boot Volumes]. You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createBootVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the boot volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the boot volume.""")
@cli_util.option('--source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -536,7 +536,7 @@ def copy_volume_group_backup(ctx, from_json, wait_for_state, max_wait_seconds, w
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the Vault service key to assign as the master encryption key for the boot volume.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--vpus-per-gb', type=click.INT, help=u"""The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See [Block Volume Performance Levels] for more information.
Allowed values:
@@ -643,7 +643,7 @@ def create_boot_volume(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@boot_volume_group.command(name=cli_util.override('blockstorage.create_boot_volume_boot_volume_source_from_boot_volume_backup_details.command_name', 'create-boot-volume-boot-volume-source-from-boot-volume-backup-details'), help=u"""Creates a new boot volume in the specified compartment from an existing boot volume or a boot volume backup. For general information about boot volumes, see [Boot Volumes]. You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createBootVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the boot volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the boot volume.""")
@cli_util.option('--source-details-id', required=True, help=u"""The OCID of the boot volume backup.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -658,7 +658,7 @@ def create_boot_volume(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the Vault service key to assign as the master encryption key for the boot volume.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--vpus-per-gb', type=click.INT, help=u"""The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See [Block Volume Performance Levels] for more information.
Allowed values:
@@ -768,7 +768,7 @@ def create_boot_volume_boot_volume_source_from_boot_volume_backup_details(ctx, f
@boot_volume_group.command(name=cli_util.override('blockstorage.create_boot_volume_boot_volume_source_from_boot_volume_details.command_name', 'create-boot-volume-boot-volume-source-from-boot-volume-details'), help=u"""Creates a new boot volume in the specified compartment from an existing boot volume or a boot volume backup. For general information about boot volumes, see [Boot Volumes]. You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createBootVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the boot volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the boot volume.""")
@cli_util.option('--source-details-id', required=True, help=u"""The OCID of the boot volume.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -783,7 +783,7 @@ def create_boot_volume_boot_volume_source_from_boot_volume_backup_details(ctx, f
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the Vault service key to assign as the master encryption key for the boot volume.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--vpus-per-gb', type=click.INT, help=u"""The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See [Block Volume Performance Levels] for more information.
Allowed values:
@@ -893,7 +893,7 @@ def create_boot_volume_boot_volume_source_from_boot_volume_details(ctx, from_jso
@boot_volume_group.command(name=cli_util.override('blockstorage.create_boot_volume_boot_volume_source_from_boot_volume_replica_details.command_name', 'create-boot-volume-boot-volume-source-from-boot-volume-replica-details'), help=u"""Creates a new boot volume in the specified compartment from an existing boot volume or a boot volume backup. For general information about boot volumes, see [Boot Volumes]. You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createBootVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the boot volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the boot volume.""")
@cli_util.option('--source-details-id', required=True, help=u"""The OCID of the boot volume replica.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -908,7 +908,7 @@ def create_boot_volume_boot_volume_source_from_boot_volume_details(ctx, from_jso
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the Vault service key to assign as the master encryption key for the boot volume.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--vpus-per-gb', type=click.INT, help=u"""The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See [Block Volume Performance Levels] for more information.
Allowed values:
@@ -1018,7 +1018,7 @@ def create_boot_volume_boot_volume_source_from_boot_volume_replica_details(ctx,
@boot_volume_group.command(name=cli_util.override('blockstorage.create_boot_volume_boot_volume_source_from_boot_volume_backup_delta_details.command_name', 'create-boot-volume-boot-volume-source-from-boot-volume-backup-delta-details'), help=u"""Creates a new boot volume in the specified compartment from an existing boot volume or a boot volume backup. For general information about boot volumes, see [Boot Volumes]. You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createBootVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the boot volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the boot volume.""")
@cli_util.option('--source-details-first-backup-id', required=True, help=u"""The OCID of the first boot volume backup.""")
@cli_util.option('--source-details-second-backup-id', required=True, help=u"""The OCID of the second boot volume backup.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -1034,7 +1034,7 @@ def create_boot_volume_boot_volume_source_from_boot_volume_replica_details(ctx,
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the Vault service key to assign as the master encryption key for the boot volume.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--vpus-per-gb', type=click.INT, help=u"""The number of volume performance units (VPUs) that will be applied to this volume per GB, representing the Block Volume service's elastic performance options. See [Block Volume Performance Levels] for more information.
Allowed values:
@@ -1151,7 +1151,7 @@ def create_boot_volume_boot_volume_source_from_boot_volume_backup_delta_details(
@boot_volume_backup_group.command(name=cli_util.override('blockstorage.create_boot_volume_backup.command_name', 'create'), help=u"""Creates a new boot volume backup of the specified boot volume. For general information about boot volume backups, see [Overview of Boot Volume Backups]
When the request is received, the backup object is in a REQUEST_RECEIVED state. When the data is imaged, it goes into a CREATING state. After the backup is fully uploaded to the cloud, it goes into an AVAILABLE state. \n[Command Reference](createBootVolumeBackup)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume that needs to be backed up.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume that needs to be backed up.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1227,7 +1227,7 @@ def create_boot_volume_backup(ctx, from_json, wait_for_state, max_wait_seconds,
A volume and instance can be in separate compartments but must be in the same availability domain. For information about access control and compartments, see [Overview of the IAM Service]. For information about availability domains, see [Regions and Availability Domains]. To get a list of availability domains, use the `ListAvailabilityDomains` operation in the Identity and Access Management Service API.
You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
Example: `Uocm:PHX-AD-1`""")
@@ -1253,7 +1253,7 @@ def create_boot_volume_backup(ctx, from_json, wait_for_state, max_wait_seconds,
* `30`-`120`: Represents the Ultra High Performance option.
For performance autotune enabled volumes, it would be the Default(Minimum) VPUs/GB.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
@cli_util.option('--size-in-mbs', type=click.INT, help=u"""The size of the volume in MBs. The value must be a multiple of 1024. This field is deprecated. Use sizeInGBs instead.""")
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1369,7 +1369,7 @@ def create_volume(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
A volume and instance can be in separate compartments but must be in the same availability domain. For information about access control and compartments, see [Overview of the IAM Service]. For information about availability domains, see [Regions and Availability Domains]. To get a list of availability domains, use the `ListAvailabilityDomains` operation in the Identity and Access Management Service API.
You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume.""")
@cli_util.option('--source-details-id', required=True, help=u"""The OCID of the block volume replica.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -1396,7 +1396,7 @@ def create_volume(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
* `30`-`120`: Represents the Ultra High Performance option.
For performance autotune enabled volumes, it would be the Default(Minimum) VPUs/GB.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
@cli_util.option('--size-in-mbs', type=click.INT, help=u"""The size of the volume in MBs. The value must be a multiple of 1024. This field is deprecated. Use sizeInGBs instead.""")
@cli_util.option('--volume-backup-id', help=u"""The OCID of the volume backup from which the data should be restored on the newly created volume. This field is deprecated. Use the sourceDetails field instead to specify the backup for the volume.""")
@@ -1512,7 +1512,7 @@ def create_volume_volume_source_from_block_volume_replica_details(ctx, from_json
A volume and instance can be in separate compartments but must be in the same availability domain. For information about access control and compartments, see [Overview of the IAM Service]. For information about availability domains, see [Regions and Availability Domains]. To get a list of availability domains, use the `ListAvailabilityDomains` operation in the Identity and Access Management Service API.
You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume.""")
@cli_util.option('--source-details-id', required=True, help=u"""The OCID of the volume.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -1539,7 +1539,7 @@ def create_volume_volume_source_from_block_volume_replica_details(ctx, from_json
* `30`-`120`: Represents the Ultra High Performance option.
For performance autotune enabled volumes, it would be the Default(Minimum) VPUs/GB.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
@cli_util.option('--size-in-mbs', type=click.INT, help=u"""The size of the volume in MBs. The value must be a multiple of 1024. This field is deprecated. Use sizeInGBs instead.""")
@cli_util.option('--volume-backup-id', help=u"""The OCID of the volume backup from which the data should be restored on the newly created volume. This field is deprecated. Use the sourceDetails field instead to specify the backup for the volume.""")
@@ -1655,7 +1655,7 @@ def create_volume_volume_source_from_volume_details(ctx, from_json, wait_for_sta
A volume and instance can be in separate compartments but must be in the same availability domain. For information about access control and compartments, see [Overview of the IAM Service]. For information about availability domains, see [Regions and Availability Domains]. To get a list of availability domains, use the `ListAvailabilityDomains` operation in the Identity and Access Management Service API.
You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume.""")
@cli_util.option('--source-details-id', required=True, help=u"""The OCID of the volume backup.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -1682,7 +1682,7 @@ def create_volume_volume_source_from_volume_details(ctx, from_json, wait_for_sta
* `30`-`120`: Represents the Ultra High Performance option.
For performance autotune enabled volumes, it would be the Default(Minimum) VPUs/GB.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
@cli_util.option('--size-in-mbs', type=click.INT, help=u"""The size of the volume in MBs. The value must be a multiple of 1024. This field is deprecated. Use sizeInGBs instead.""")
@cli_util.option('--volume-backup-id', help=u"""The OCID of the volume backup from which the data should be restored on the newly created volume. This field is deprecated. Use the sourceDetails field instead to specify the backup for the volume.""")
@@ -1798,7 +1798,7 @@ def create_volume_volume_source_from_volume_backup_details(ctx, from_json, wait_
A volume and instance can be in separate compartments but must be in the same availability domain. For information about access control and compartments, see [Overview of the IAM Service]. For information about availability domains, see [Regions and Availability Domains]. To get a list of availability domains, use the `ListAvailabilityDomains` operation in the Identity and Access Management Service API.
You may optionally specify a *display name* for the volume, which is simply a friendly name or description. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createVolume)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume.""")
@cli_util.option('--source-details-first-backup-id', required=True, help=u"""The OCID of the first volume backup.""")
@cli_util.option('--source-details-second-backup-id', required=True, help=u"""The OCID of the second volume backup.""")
@cli_util.option('--availability-domain', help=u"""The availability domain of the volume. Omissible for cloning a volume. The new volume will be created in the availability domain of the source volume.
@@ -1826,7 +1826,7 @@ def create_volume_volume_source_from_volume_backup_details(ctx, from_json, wait_
* `30`-`120`: Represents the Ultra High Performance option.
For performance autotune enabled volumes, it would be the Default(Minimum) VPUs/GB.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume for volume placement.""")
@cli_util.option('--size-in-gbs', type=click.INT, help=u"""The size of the volume in GBs.""")
@cli_util.option('--size-in-mbs', type=click.INT, help=u"""The size of the volume in MBs. The value must be a multiple of 1024. This field is deprecated. Use sizeInGBs instead.""")
@cli_util.option('--volume-backup-id', help=u"""The OCID of the volume backup from which the data should be restored on the newly created volume. This field is deprecated. Use the sourceDetails field instead to specify the backup for the volume.""")
@@ -1945,7 +1945,7 @@ def create_volume_volume_source_from_volume_backup_delta_details(ctx, from_json,
@volume_backup_group.command(name=cli_util.override('blockstorage.create_volume_backup.command_name', 'create'), help=u"""Creates a new backup of the specified volume. For general information about volume backups, see [Overview of Block Volume Service Backups]
When the request is received, the backup object is in a REQUEST_RECEIVED state. When the data is imaged, it goes into a CREATING state. After the backup is fully uploaded to the cloud, it goes into an AVAILABLE state. \n[Command Reference](createVolumeBackup)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume that needs to be backed up.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume that needs to be backed up.""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the Vault service key which is the master encryption key for the volume backup. For more information about the Vault service and encryption keys, see [Overview of Vault service] and [Using Keys].""")
@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].
@@ -2019,7 +2019,7 @@ def create_volume_backup(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@volume_backup_policy_group.command(name=cli_util.override('blockstorage.create_volume_backup_policy.command_name', 'create'), help=u"""Creates a new user defined backup policy.
For more information about Oracle defined backup policies and user defined backup policies, see [Policy-Based Backups]. \n[Command Reference](createVolumeBackupPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@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.""")
@cli_util.option('--destination-region', help=u"""The paired destination region for copying scheduled backups to. Example: `us-ashburn-1`. See [Region Pairs] for details about paired regions.""")
@cli_util.option('--schedules', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The collection of schedules for the volume backup policy. See see [Schedules] in [Policy-Based Backups] for more information.
@@ -2069,7 +2069,7 @@ def create_volume_backup_policy(ctx, from_json, compartment_id, display_name, de
@volume_backup_policy_assignment_group.command(name=cli_util.override('blockstorage.create_volume_backup_policy_assignment.command_name', 'create'), help=u"""Assigns a volume backup policy to the specified volume. Note that a given volume can only have one backup policy assigned to it. If this operation is used for a volume that already has a different backup policy assigned, the prior backup policy will be silently unassigned. \n[Command Reference](createVolumeBackupPolicyAssignment)""")
@cli_util.option('--asset-id', required=True, help=u"""The OCID of the volume to assign the policy to.""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the volume backup policy to assign to the volume.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume backup policy to assign to the volume.""")
@cli_util.option('--xrc-kms-key-id', help=u"""The OCID of the Vault service key which is the master encryption key for the block / boot volume cross region backups, which will be used in the destination region to encrypt the backup's encryption keys. For more information about the Vault service and encryption keys, see [Overview of Vault service] and [Using Keys].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2099,7 +2099,7 @@ def create_volume_backup_policy_assignment(ctx, from_json, asset_id, policy_id,
For more information, see [Volume Groups]. \n[Command Reference](createVolumeGroup)""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the volume group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume group.""")
@cli_util.option('--source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--backup-policy-id', help=u"""If provided, specifies the ID of the volume backup policy to assign to the newly created volume group. If omitted, no policy will be assigned.""")
@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].
@@ -2112,7 +2112,7 @@ def create_volume_backup_policy_assignment(ctx, from_json, asset_id, policy_id,
@cli_util.option('--volume-group-replicas', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of volume group replicas that this volume group will be enabled to have in the specified destination availability domains.
This option is a JSON list with items of type VolumeGroupReplicaDetails. For documentation on VolumeGroupReplicaDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/VolumeGroupReplicaDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
@cli_util.option('--xrc-kms-key-id', help=u"""The OCID of the Vault service key which is the master encryption key for the volume's cross region backups, which will be used in the destination region to encrypt the backup's encryption keys. For more information about the Vault service and encryption keys, see [Overview of Vault service] and [Using Keys].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "UPDATE_PENDING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2187,7 +2187,7 @@ def create_volume_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
For more information, see [Volume Groups]. \n[Command Reference](createVolumeGroup)""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the volume group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume group.""")
@cli_util.option('--source-details-volume-group-replica-id', required=True, help=u"""The OCID of the volume group replica.""")
@cli_util.option('--backup-policy-id', help=u"""If provided, specifies the ID of the volume backup policy to assign to the newly created volume group. If omitted, no policy will be assigned.""")
@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].
@@ -2200,7 +2200,7 @@ def create_volume_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@cli_util.option('--volume-group-replicas', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of volume group replicas that this volume group will be enabled to have in the specified destination availability domains.
This option is a JSON list with items of type VolumeGroupReplicaDetails. For documentation on VolumeGroupReplicaDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/VolumeGroupReplicaDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
@cli_util.option('--xrc-kms-key-id', help=u"""The OCID of the Vault service key which is the master encryption key for the volume's cross region backups, which will be used in the destination region to encrypt the backup's encryption keys. For more information about the Vault service and encryption keys, see [Overview of Vault service] and [Using Keys].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "UPDATE_PENDING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2278,7 +2278,7 @@ def create_volume_group_volume_group_source_from_volume_group_replica_details(ct
For more information, see [Volume Groups]. \n[Command Reference](createVolumeGroup)""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the volume group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume group.""")
@cli_util.option('--source-details-volume-group-id', required=True, help=u"""The OCID of the volume group to clone from.""")
@cli_util.option('--backup-policy-id', help=u"""If provided, specifies the ID of the volume backup policy to assign to the newly created volume group. If omitted, no policy will be assigned.""")
@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].
@@ -2291,7 +2291,7 @@ def create_volume_group_volume_group_source_from_volume_group_replica_details(ct
@cli_util.option('--volume-group-replicas', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of volume group replicas that this volume group will be enabled to have in the specified destination availability domains.
This option is a JSON list with items of type VolumeGroupReplicaDetails. For documentation on VolumeGroupReplicaDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/VolumeGroupReplicaDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
@cli_util.option('--xrc-kms-key-id', help=u"""The OCID of the Vault service key which is the master encryption key for the volume's cross region backups, which will be used in the destination region to encrypt the backup's encryption keys. For more information about the Vault service and encryption keys, see [Overview of Vault service] and [Using Keys].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "UPDATE_PENDING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2369,7 +2369,7 @@ def create_volume_group_volume_group_source_from_volume_group_details(ctx, from_
For more information, see [Volume Groups]. \n[Command Reference](createVolumeGroup)""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the volume group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume group.""")
@cli_util.option('--source-details-volume-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""OCIDs for the volumes in this volume group.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--backup-policy-id', help=u"""If provided, specifies the ID of the volume backup policy to assign to the newly created volume group. If omitted, no policy will be assigned.""")
@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].
@@ -2382,7 +2382,7 @@ def create_volume_group_volume_group_source_from_volume_group_details(ctx, from_
@cli_util.option('--volume-group-replicas', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of volume group replicas that this volume group will be enabled to have in the specified destination availability domains.
This option is a JSON list with items of type VolumeGroupReplicaDetails. For documentation on VolumeGroupReplicaDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/VolumeGroupReplicaDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
@cli_util.option('--xrc-kms-key-id', help=u"""The OCID of the Vault service key which is the master encryption key for the volume's cross region backups, which will be used in the destination region to encrypt the backup's encryption keys. For more information about the Vault service and encryption keys, see [Overview of Vault service] and [Using Keys].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "UPDATE_PENDING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2460,7 +2460,7 @@ def create_volume_group_volume_group_source_from_volumes_details(ctx, from_json,
For more information, see [Volume Groups]. \n[Command Reference](createVolumeGroup)""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the volume group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the volume group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the volume group.""")
@cli_util.option('--source-details-volume-group-backup-id', required=True, help=u"""The OCID of the volume group backup to restore from.""")
@cli_util.option('--backup-policy-id', help=u"""If provided, specifies the ID of the volume backup policy to assign to the newly created volume group. If omitted, no policy will be assigned.""")
@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].
@@ -2473,7 +2473,7 @@ def create_volume_group_volume_group_source_from_volumes_details(ctx, from_json,
@cli_util.option('--volume-group-replicas', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of volume group replicas that this volume group will be enabled to have in the specified destination availability domains.
This option is a JSON list with items of type VolumeGroupReplicaDetails. For documentation on VolumeGroupReplicaDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/VolumeGroupReplicaDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--cluster-placement-group-id', help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The clusterPlacementGroup Id of the volume group for volume group placement.""")
@cli_util.option('--xrc-kms-key-id', help=u"""The OCID of the Vault service key which is the master encryption key for the volume's cross region backups, which will be used in the destination region to encrypt the backup's encryption keys. For more information about the Vault service and encryption keys, see [Overview of Vault service] and [Using Keys].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY", "UPDATE_PENDING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2549,7 +2549,7 @@ def create_volume_group_volume_group_source_from_volume_group_backup_details(ctx
@volume_group_backup_group.command(name=cli_util.override('blockstorage.create_volume_group_backup.command_name', 'create'), help=u"""Creates a new backup volume group of the specified volume group. For more information, see [Volume Groups]. \n[Command Reference](createVolumeGroupBackup)""")
@cli_util.option('--volume-group-id', required=True, help=u"""The OCID of the volume group that needs to be backed up.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that will contain the volume group backup. This parameter is optional, by default backup will be created in the same compartment and source volume group.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that will contain the volume group backup. This parameter is optional, by default backup will be created in the same compartment and source volume group.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2620,7 +2620,7 @@ def create_volume_group_backup(ctx, from_json, wait_for_state, max_wait_seconds,
@boot_volume_group.command(name=cli_util.override('blockstorage.delete_boot_volume.command_name', 'delete'), help=u"""Deletes the specified boot volume. The volume cannot have an active connection to an instance. To disconnect the boot volume from a connected instance, see [Disconnecting From a Boot Volume]. **Warning:** All data on the boot volume will be permanently lost when the boot volume is deleted. \n[Command Reference](deleteBootVolume)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "RESTORING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -2746,7 +2746,7 @@ def delete_boot_volume_backup(ctx, from_json, wait_for_state, max_wait_seconds,
@boot_volume_kms_key_group.command(name=cli_util.override('blockstorage.delete_boot_volume_kms_key.command_name', 'delete'), help=u"""Removes the specified boot volume's assigned Vault Service encryption key. \n[Command Reference](deleteBootVolumeKmsKey)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -2771,7 +2771,7 @@ def delete_boot_volume_kms_key(ctx, from_json, boot_volume_id, if_match):
@volume_group.command(name=cli_util.override('blockstorage.delete_volume.command_name', 'delete'), help=u"""Deletes the specified volume. The volume cannot have an active connection to an instance. To disconnect the volume from a connected instance, see [Disconnecting From a Volume]. **Warning:** All data on the volume will be permanently lost when the volume is deleted. \n[Command Reference](deleteVolume)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "RESTORING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -2899,7 +2899,7 @@ def delete_volume_backup(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@volume_backup_policy_group.command(name=cli_util.override('blockstorage.delete_volume_backup_policy.command_name', 'delete'), help=u"""Deletes a user defined backup policy. For more information about user defined backup policies, see [Policy-Based Backups].
Avoid entering confidential information. \n[Command Reference](deleteVolumeBackupPolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the volume backup policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume backup policy.""")
@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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -3076,7 +3076,7 @@ def delete_volume_group_backup(ctx, from_json, wait_for_state, max_wait_seconds,
@volume_kms_key_group.command(name=cli_util.override('blockstorage.delete_volume_kms_key.command_name', 'delete'), help=u"""Removes the specified volume's assigned Vault service encryption key. \n[Command Reference](deleteVolumeKmsKey)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -3122,7 +3122,7 @@ def get_block_volume_replica(ctx, from_json, block_volume_replica_id):
@boot_volume_group.command(name=cli_util.override('blockstorage.get_boot_volume.command_name', 'get'), help=u"""Gets information for the specified boot volume. \n[Command Reference](getBootVolume)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3164,7 +3164,7 @@ def get_boot_volume_backup(ctx, from_json, boot_volume_backup_id):
@boot_volume_kms_key_group.command(name=cli_util.override('blockstorage.get_boot_volume_kms_key.command_name', 'get'), help=u"""Gets the Vault service encryption key assigned to the specified boot volume. \n[Command Reference](getBootVolumeKmsKey)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3209,7 +3209,7 @@ def get_boot_volume_replica(ctx, from_json, boot_volume_replica_id):
@volume_group.command(name=cli_util.override('blockstorage.get_volume.command_name', 'get'), help=u"""Gets information for the specified volume. \n[Command Reference](getVolume)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3251,7 +3251,7 @@ def get_volume_backup(ctx, from_json, volume_backup_id):
@volume_backup_policy_group.command(name=cli_util.override('blockstorage.get_volume_backup_policy.command_name', 'get'), help=u"""Gets information for the specified volume backup policy. \n[Command Reference](getVolumeBackupPolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the volume backup policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume backup policy.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3382,7 +3382,7 @@ def get_volume_group_replica(ctx, from_json, volume_group_replica_id):
@volume_kms_key_group.command(name=cli_util.override('blockstorage.get_volume_kms_key.command_name', 'get'), help=u"""Gets the Vault service encryption key assigned to the specified volume. \n[Command Reference](getVolumeKmsKey)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3409,7 +3409,7 @@ def get_volume_kms_key(ctx, from_json, volume_id, if_match):
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--volume-group-replica-id', help=u"""The OCID of the volume group replica.""")
@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].
@@ -3478,8 +3478,8 @@ def list_block_volume_replicas(ctx, from_json, all_pages, page_size, availabilit
@boot_volume_backup_group.command(name=cli_util.override('blockstorage.list_boot_volume_backups.command_name', 'list'), help=u"""Lists the boot volume backups in the specified compartment. You can filter the results by boot volume. \n[Command Reference](listBootVolumeBackups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--boot-volume-id', help=u"""The OCID of the boot volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--boot-volume-id', type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@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].
Example: `50`""")
@@ -3550,7 +3550,7 @@ def list_boot_volume_backups(ctx, from_json, all_pages, page_size, compartment_i
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--volume-group-replica-id', help=u"""The OCID of the volume group replica.""")
@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].
@@ -3622,7 +3622,7 @@ def list_boot_volume_replicas(ctx, from_json, all_pages, page_size, availability
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -3681,7 +3681,7 @@ def list_boot_volumes(ctx, from_json, all_pages, page_size, availability_domain,
Example: `50`""")
@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].""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment. If no compartment is specified, the Oracle defined backup policies are listed.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment. If no compartment is specified, the Oracle defined backup policies are listed.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -3725,8 +3725,8 @@ def list_volume_backup_policies(ctx, from_json, all_pages, page_size, limit, pag
@volume_backup_group.command(name=cli_util.override('blockstorage.list_volume_backups.command_name', 'list'), help=u"""Lists the volume backups in the specified compartment. You can filter the results by volume. \n[Command Reference](listVolumeBackups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--volume-id', help=u"""The OCID of the volume.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--volume-id', type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@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].
Example: `50`""")
@@ -3794,7 +3794,7 @@ def list_volume_backups(ctx, from_json, all_pages, page_size, compartment_id, vo
@volume_group_backup_group.command(name=cli_util.override('blockstorage.list_volume_group_backups.command_name', 'list'), help=u"""Lists the volume group backups in the specified compartment. You can filter the results by volume group. For more information, see [Volume Groups]. \n[Command Reference](listVolumeGroupBackups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--volume-group-id', help=u"""The OCID of the volume group.""")
@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].
@@ -3860,7 +3860,7 @@ def list_volume_group_backups(ctx, from_json, all_pages, page_size, compartment_
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -3928,7 +3928,7 @@ def list_volume_group_replicas(ctx, from_json, all_pages, page_size, availabilit
@volume_group_group.command(name=cli_util.override('blockstorage.list_volume_groups.command_name', 'list'), help=u"""Lists the volume groups in the specified compartment and availability domain. For more information, see [Volume Groups]. \n[Command Reference](listVolumeGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -4001,7 +4001,7 @@ def list_volume_groups(ctx, from_json, all_pages, page_size, compartment_id, ava
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -4012,7 +4012,7 @@ def list_volume_groups(ctx, from_json, all_pages, page_size, compartment_id, ava
**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you optionally filter by availability domain if the scope of the resource type is within a single availability domain. If you call one of these \"List\" operations without specifying an availability domain, the resources are grouped by availability domain, then sorted.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`). The DISPLAYNAME sort order is case sensitive.""")
@cli_util.option('--volume-group-id', help=u"""The OCID of the volume group.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""A filter to return only resources that match the given cluster placement group Id exactly.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the given cluster placement group Id exactly.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "RESTORING", "AVAILABLE", "TERMINATING", "TERMINATED", "FAULTY"]), help=u"""A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.""")
@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.""")
@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.""")
@@ -4073,7 +4073,7 @@ def list_volumes(ctx, from_json, all_pages, page_size, availability_domain, comp
@boot_volume_group.command(name=cli_util.override('blockstorage.update_boot_volume.command_name', 'update'), help=u"""Updates the specified boot volume's display name, defined tags, and free-form tags. \n[Command Reference](updateBootVolume)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4261,7 +4261,7 @@ def update_boot_volume_backup(ctx, from_json, force, wait_for_state, max_wait_se
@boot_volume_kms_key_group.command(name=cli_util.override('blockstorage.update_boot_volume_kms_key.command_name', 'update'), help=u"""Updates the specified volume with a new Vault service master encryption key. \n[Command Reference](updateBootVolumeKmsKey)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the new Vault service key to assign to protect the specified volume. This key has to be a valid Vault service key, and policies must exist to allow the user and the Block Volume service to access this key. If you specify the same OCID as the previous key's OCID, the Block Volume service will use it to regenerate a volume encryption key.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -4293,7 +4293,7 @@ def update_boot_volume_kms_key(ctx, from_json, boot_volume_id, kms_key_id, if_ma
@volume_group.command(name=cli_util.override('blockstorage.update_volume.command_name', 'update'), help=u"""Updates the specified volume's display name. Avoid entering confidential information. \n[Command Reference](updateVolume)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4489,7 +4489,7 @@ def update_volume_backup(ctx, from_json, force, wait_for_state, max_wait_seconds
@volume_backup_policy_group.command(name=cli_util.override('blockstorage.update_volume_backup_policy.command_name', 'update'), help=u"""Updates a user defined backup policy. For more information about user defined backup policies, see [Policy-Based Backups].
Avoid entering confidential information. \n[Command Reference](updateVolumeBackupPolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the volume backup policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume backup policy.""")
@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.""")
@cli_util.option('--destination-region', help=u"""The paired destination region for copying scheduled backups to. Example: `us-ashburn-1`. Specify `none` to reset the `destinationRegion` parameter. See [Region Pairs] for details about paired regions.""")
@cli_util.option('--schedules', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The collection of schedules for the volume backup policy. See see [Schedules] in [Policy-Based Backups] for more information.
@@ -4714,7 +4714,7 @@ def update_volume_group_backup(ctx, from_json, force, wait_for_state, max_wait_s
@volume_kms_key_group.command(name=cli_util.override('blockstorage.update_volume_kms_key.command_name', 'update'), help=u"""Updates the specified volume with a new Key Management master encryption key. \n[Command Reference](updateVolumeKmsKey)""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the new Vault service key to assign to protect the specified volume. This key has to be a valid Vault service key, and policies must exist to allow the user and the Block Volume service to access this key. If you specify the same OCID as the previous key's OCID, the Block Volume service will use it to regenerate a volume encryption key.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/core/src/oci_cli_compute/compute_cli_extended.py b/services/core/src/oci_cli_compute/compute_cli_extended.py
index 60844c7c..5e104a38 100644
--- a/services/core/src/oci_cli_compute/compute_cli_extended.py
+++ b/services/core/src/oci_cli_compute/compute_cli_extended.py
@@ -621,11 +621,11 @@ def import_image_internal(ctx, compartment_id, display_name, import_image_detail
@compute_cli.instance_group.command(name='list-vnics', help="""Lists the VNICs that are attached to the specified instance. VNICs that are in the process of attaching or detaching will not be returned.""")
-@cli_util.option('--compartment-id', help="""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help="""The OCID of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--instance-id', help="""The OCID of the instance.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help="""The OCID of the instance.""")
@cli_util.option('--limit', type=click.INT, help="""The maximum number of items to return in a paginated \"List\" call.
Example: `500`""")
@@ -719,9 +719,9 @@ def list_vnics(ctx, from_json, compartment_id, availability_domain, instance_id,
@cli_util.option('--ipv6-address-subnet-cidr-pairs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of IPv6 addresses and subnet CIDR blocks (prefixes) to specify how IPv6 addresses are to be assigned.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--user-data-file', type=click.File('rb'), help="""A file containing data that Cloud-Init can use to run custom scripts or provide custom Cloud-Init configuration. This parameter is a convenience wrapper around the 'user_data' field of the --metadata parameter. Populating both values in the same call will result in an error. For more info see Cloud-Init documentation: https://cloudinit.readthedocs.org/en/latest/topics/format.html.""")
@cli_util.option('--ssh-authorized-keys-file', type=click.File('r'), help="""A file containing one or more public SSH keys to be included in the ~/.ssh/authorized_keys file for the default user on the instance. Use a newline character to separate multiple keys. The SSH keys must be in the format necessary for the authorized_keys file. This parameter is a convenience wrapper around the 'ssh_authorized_keys' field of the --metadata parameter. Populating both values in the same call will result in an error. For more info see documentation: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/requests/LaunchInstanceDetails.""")
-@cli_util.option('--source-boot-volume-id', help="""The OCID of the boot volume used to boot the instance. This is a shortcut for specifying a boot volume source via the --source-details complex JSON parameter. If this parameter is provided, you cannot provide the --source-details or --image-id parameters.""")
+@cli_util.option('--source-boot-volume-id', type=custom_types.CLI_OCID, help="""The OCID of the boot volume used to boot the instance. This is a shortcut for specifying a boot volume source via the --source-details complex JSON parameter. If this parameter is provided, you cannot provide the --source-details or --image-id parameters.""")
@cli_util.option('--boot-volume-size-in-gbs', type=click.INT, help="""The size of the boot volume in GBs. Minimum value is 50 GB and maximum value is 16384 GB (16TB). This is a shortcut for specifying a boot volume size via the --source-details complex JSON parameter. If this parameter is provided, you cannot provide the --source-details or --source-boot-volume-id parameters.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet where the VNIC attached to this instance will be created.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet where the VNIC attached to this instance will be created.""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'create-vnic-details': {'module': 'core', 'class': 'CreateVnicDetails'}, 'defined-tags': {'module': 'core', 'class': 'dict(str, dict(str, object))'}, 'extended-metadata': {'module': 'core', 'class': 'dict(str, object)'}, 'freeform-tags': {'module': 'core', 'class': 'dict(str, string)'}, 'launch-options': {'module': 'core', 'class': 'LaunchOptions'}, 'instance-options': {'module': 'core', 'class': 'InstanceOptions'}, 'availability-config': {'module': 'core', 'class': 'LaunchInstanceAvailabilityConfigDetails'}, 'preemptible-instance-config': {'module': 'core', 'class': 'PreemptibleInstanceConfigDetails'}, 'metadata': {'module': 'core', 'class': 'dict(str, string)'}, 'agent-config': {'module': 'core', 'class': 'LaunchInstanceAgentConfigDetails'}, 'shape-config': {'module': 'core', 'class': 'LaunchInstanceShapeConfigDetails'}, 'source-details': {'module': 'core', 'class': 'InstanceSourceDetails'}, 'platform-config': {'module': 'core', 'class': 'LaunchInstancePlatformConfig'}, 'nsg-ids': {'module': 'core', 'class': 'list[string]'}, 'ipv6-address-subnet-cidr-pairs': {'module': 'core', 'class': 'list[Ipv6AddressIpv6SubnetCidrPairDetails]'}}, output_type={'module': 'core', 'class': 'Instance'})
@cli_util.wrap_exceptions
@@ -834,8 +834,8 @@ def launch_instance_extended(ctx, **kwargs):
@compute_cli.instance_group.command(name='attach-vnic', help="""Creates a secondary VNIC and attaches it to the specified instance. You can specify either --subnet-id or --vlan-id for this create request, but not both. For more information about secondary VNICs, see [Virtual Network Interface Cards (VNICs)].""")
-@cli_util.option('--instance-id', required=True, help="""The OCID of the instance.""")
-@cli_util.option('--subnet-id', help="""The OCID of the subnet to create the VNIC in. You can specify either this parameter or --vlan-id, but not both.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the instance.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help="""The OCID of the subnet to create the VNIC in. You can specify either this parameter or --vlan-id, but not both.""")
@cli_util.option('--vlan-id', help="""The OCID of the VLAN to create the VNIC in. You can specify either this parameter or --subnet-id, but not both.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of the [OCIDs] of the network security groups (NSGs) to add the VNIC to..""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vnic-display-name', help="""A user-friendly name for the VNIC. Does not have to be unique.""")
@@ -932,7 +932,7 @@ def attach_vnic(ctx, from_json, instance_id, subnet_id, vlan_id, nsg_ids, vnic_d
@compute_cli.instance_group.command(name='detach-vnic', help="""Detaches and deletes the specified secondary VNIC. This operation cannot be used on the instance's primary VNIC. When you terminate an instance, all attached VNICs (primary and secondary) are automatically detached and deleted.""")
@cli_util.option('--vnic-id', required=True, help="""The OCID of the VNIC.""")
-@cli_util.option('--compartment-id', required=True, help="""The OCID of the instance's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the instance's compartment.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ATTACHING", "ATTACHED", "DETACHING", "DETACHED"]), help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle state.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource to see if it has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -1127,8 +1127,8 @@ def change_instance_compartment(ctx, instance_id, compartment_id, if_match, from
# Change the required field compartment_id to be optional and make sure either compartment_id or instance_id is
# provided.
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--instance-id', help=u"""The OCID of the instance. If --compartment-id is not provided, then --instance-id must be provided.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance. If --compartment-id is not provided, then --instance-id must be provided.""")
@cli_util.copy_params_from_generated_command(compute_cli.list_volume_attachments, params_to_exclude=['compartment_id', 'instance_id'])
@compute_cli.volume_attachment_group.command(name=cli_util.override('compute.list_volume_attachments.command_name', 'list'), help=compute_cli.list_volume_attachments.help)
@click.pass_context
diff --git a/services/core/src/oci_cli_compute/generated/compute_cli.py b/services/core/src/oci_cli_compute/generated/compute_cli.py
index 6a5dbb3c..ff78b2af 100644
--- a/services/core/src/oci_cli_compute/generated/compute_cli.py
+++ b/services/core/src/oci_cli_compute/generated/compute_cli.py
@@ -362,7 +362,7 @@ def console_history_group():
@measured_boot_report_group.command(name=cli_util.override('compute.accept_shielded_integrity_policy.command_name', 'accept-shielded-integrity-policy'), help=u"""Accept the changes to the PCR values in the measured boot report. \n[Command Reference](acceptShieldedIntegrityPolicy)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -387,7 +387,7 @@ def accept_shielded_integrity_policy(ctx, from_json, instance_id, if_match):
@image_shape_compatibility_entry_group.command(name=cli_util.override('compute.add_image_shape_compatibility_entry.command_name', 'add'), help=u"""Adds a shape to the compatible shapes list for the image. \n[Command Reference](addImageShapeCompatibilityEntry)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@cli_util.option('--shape-name', required=True, help=u"""Shape name.""")
@cli_util.option('--memory-constraints', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--ocpu-constraints', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -455,8 +455,8 @@ def apply_host_configuration(ctx, from_json, compute_host_id, if_match):
@boot_volume_attachment_group.command(name=cli_util.override('compute.attach_boot_volume.command_name', 'attach'), help=u"""Attaches the specified boot volume to the specified instance. \n[Command Reference](attachBootVolume)""")
-@cli_util.option('--boot-volume-id', required=True, help=u"""The OCID of the boot volume.""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance.""")
+@cli_util.option('--boot-volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
@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.""")
@cli_util.option('--encryption-in-transit-type', type=custom_types.CliCaseInsensitiveChoice(["NONE", "BM_ENCRYPTION_IN_TRANSIT"]), help=u"""Refer the top-level definition of encryptionInTransitType. The default value is NONE.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ATTACHING", "ATTACHED", "DETACHING", "DETACHED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -545,7 +545,7 @@ def attach_compute_host_group_host(ctx, from_json, compute_host_id, compute_host
@vnic_attachment_group.command(name=cli_util.override('compute.attach_vnic.command_name', 'attach'), help=u"""Creates a secondary VNIC and attaches it to the specified instance. For more information about secondary VNICs, see [Virtual Network Interface Cards (VNICs)]. \n[Command Reference](attachVnic)""")
@cli_util.option('--create-vnic-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
@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.""")
@cli_util.option('--nic-index', type=click.INT, help=u"""Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see [Virtual Network Interface Cards (VNICs)].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ATTACHING", "ATTACHED", "DETACHING", "DETACHED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -602,9 +602,9 @@ def attach_vnic(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@volume_attachment_group.command(name=cli_util.override('compute.attach_volume.command_name', 'attach'), help=u"""Attaches the specified storage volume to the specified instance. \n[Command Reference](attachVolume)""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
@cli_util.option('--type', required=True, help=u"""The type of volume. The only supported values are \"iscsi\" and \"paravirtualized\".""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
@cli_util.option('--device', help=u"""The device name. To retrieve a list of devices for a given instance, see [ListInstanceDevices].""")
@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.""")
@cli_util.option('--is-read-only', type=click.BOOL, help=u"""Whether the attachment was created in read-only mode.""")
@@ -670,8 +670,8 @@ def attach_volume(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@volume_attachment_group.command(name=cli_util.override('compute.attach_volume_attach_service_determined_volume_details.command_name', 'attach-volume-attach-service-determined-volume-details'), help=u"""Attaches the specified storage volume to the specified instance. \n[Command Reference](attachVolume)""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
@cli_util.option('--device', help=u"""The device name. To retrieve a list of devices for a given instance, see [ListInstanceDevices].""")
@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.""")
@cli_util.option('--is-read-only', type=click.BOOL, help=u"""Whether the attachment was created in read-only mode.""")
@@ -738,8 +738,8 @@ def attach_volume_attach_service_determined_volume_details(ctx, from_json, wait_
@volume_attachment_group.command(name=cli_util.override('compute.attach_volume_attach_emulated_volume_details.command_name', 'attach-volume-attach-emulated-volume-details'), help=u"""Attaches the specified storage volume to the specified instance. \n[Command Reference](attachVolume)""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
@cli_util.option('--device', help=u"""The device name. To retrieve a list of devices for a given instance, see [ListInstanceDevices].""")
@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.""")
@cli_util.option('--is-read-only', type=click.BOOL, help=u"""Whether the attachment was created in read-only mode.""")
@@ -806,8 +806,8 @@ def attach_volume_attach_emulated_volume_details(ctx, from_json, wait_for_state,
@volume_attachment_group.command(name=cli_util.override('compute.attach_volume_attach_i_scsi_volume_details.command_name', 'attach-volume-attach-i-scsi-volume-details'), help=u"""Attaches the specified storage volume to the specified instance. \n[Command Reference](attachVolume)""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
@cli_util.option('--device', help=u"""The device name. To retrieve a list of devices for a given instance, see [ListInstanceDevices].""")
@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.""")
@cli_util.option('--is-read-only', type=click.BOOL, help=u"""Whether the attachment was created in read-only mode.""")
@@ -886,8 +886,8 @@ def attach_volume_attach_i_scsi_volume_details(ctx, from_json, wait_for_state, m
@volume_attachment_group.command(name=cli_util.override('compute.attach_volume_attach_paravirtualized_volume_details.command_name', 'attach-volume-attach-paravirtualized-volume-details'), help=u"""Attaches the specified storage volume to the specified instance. \n[Command Reference](attachVolume)""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
-@cli_util.option('--volume-id', required=True, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance. For AttachVolume operation, this is a required field for the request, see [AttachVolume].""")
+@cli_util.option('--volume-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request.""")
@cli_util.option('--device', help=u"""The device name. To retrieve a list of devices for a given instance, see [ListInstanceDevices].""")
@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.""")
@cli_util.option('--is-read-only', type=click.BOOL, help=u"""Whether the attachment was created in read-only mode.""")
@@ -962,7 +962,7 @@ def attach_volume_attach_paravirtualized_volume_details(ctx, from_json, wait_for
The `CaptureConsoleHistory` operation works with the other console history operations as described below.
1. Use `CaptureConsoleHistory` to request the capture of up to a megabyte of the most recent console history. This call returns a `ConsoleHistory` object. The object will have a state of REQUESTED. 2. Wait for the capture operation to succeed by polling `GetConsoleHistory` with the identifier of the console history metadata. The state of the `ConsoleHistory` object will go from REQUESTED to GETTING-HISTORY and then SUCCEEDED (or FAILED). 3. Use `GetConsoleHistoryContent` to get the actual console history data (not the metadata). 4. Optionally, use `DeleteConsoleHistory` to delete the console history metadata and the console history data. \n[Command Reference](captureConsoleHistory)""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance to get the console history from.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance to get the console history from.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1026,8 +1026,8 @@ def capture_console_history(ctx, from_json, wait_for_state, max_wait_seconds, wa
@compute_capacity_reservation_group.command(name=cli_util.override('compute.change_compute_capacity_reservation_compartment.command_name', 'change-compartment'), help=u"""Moves a compute capacity reservation into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeComputeCapacityReservationCompartment)""")
-@cli_util.option('--capacity-reservation-id', required=True, help=u"""The OCID of the compute capacity reservation.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the compute capacity reservation to.""")
+@cli_util.option('--capacity-reservation-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the compute capacity reservation to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1096,7 +1096,7 @@ def change_compute_capacity_reservation_compartment(ctx, from_json, wait_for_sta
@compute_capacity_topology_group.command(name=cli_util.override('compute.change_compute_capacity_topology_compartment.command_name', 'change-compartment'), help=u"""Moves a compute capacity topology into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeComputeCapacityTopologyCompartment)""")
@cli_util.option('--compute-capacity-topology-id', required=True, help=u"""The [OCID] of the compute capacity topology.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the compute capacity topology to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the compute capacity topology to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1166,8 +1166,8 @@ def change_compute_capacity_topology_compartment(ctx, from_json, wait_for_state,
@compute_cluster_group.command(name=cli_util.override('compute.change_compute_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a compute cluster into a different compartment within the same tenancy. A [compute cluster] is a remote direct memory access (RDMA) network group.
For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeComputeClusterCompartment)""")
-@cli_util.option('--compute-cluster-id', required=True, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the compute cluster to.""")
+@cli_util.option('--compute-cluster-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the compute cluster to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1198,7 +1198,7 @@ def change_compute_cluster_compartment(ctx, from_json, compute_cluster_id, compa
@compute_gpu_memory_cluster_group.command(name=cli_util.override('compute.change_compute_gpu_memory_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a compute GPU memory cluster into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeComputeGpuMemoryClusterCompartment)""")
@cli_util.option('--compute-gpu-memory-cluster-id', required=True, help=u"""The OCID of the compute GPU memory cluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the compute GPU memory cluster to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the compute GPU memory cluster to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1229,7 +1229,7 @@ def change_compute_gpu_memory_cluster_compartment(ctx, from_json, compute_gpu_me
@compute_gpu_memory_fabric_group.command(name=cli_util.override('compute.change_compute_gpu_memory_fabric_compartment.command_name', 'change-compartment'), help=u"""Moves a compute GPU memory fabric into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeComputeGpuMemoryFabricCompartment)""")
@cli_util.option('--compute-gpu-memory-fabric-id', required=True, help=u"""The OCID of the compute GPU memory fabric.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the compute GPU memory fabric to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the compute GPU memory fabric to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1260,7 +1260,7 @@ def change_compute_gpu_memory_fabric_compartment(ctx, from_json, compute_gpu_mem
@compute_host_group.command(name=cli_util.override('compute.change_compute_host_compartment.command_name', 'change-compartment'), help=u"""Moves a compute host into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeComputeHostCompartment)""")
@cli_util.option('--compute-host-id', required=True, help=u"""The [OCID] of the compute host.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the compute host to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the compute host to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1329,7 +1329,7 @@ def change_compute_host_compartment(ctx, from_json, wait_for_state, max_wait_sec
@compute_host_group_group.command(name=cli_util.override('compute.change_compute_host_group_compartment.command_name', 'change-compartment'), help=u"""Moves a compute host group into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeComputeHostGroupCompartment)""")
@cli_util.option('--compute-host-group-id', required=True, help=u"""The [OCID] of the compute host group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the compute host group to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the compute host group to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1398,7 +1398,7 @@ def change_compute_host_group_compartment(ctx, from_json, wait_for_state, max_wa
@compute_image_capability_schema_group.command(name=cli_util.override('compute.change_compute_image_capability_schema_compartment.command_name', 'change-compartment'), help=u"""Moves a compute image capability schema 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](changeComputeImageCapabilitySchemaCompartment)""")
@cli_util.option('--compute-image-capability-schema-id', required=True, help=u"""The id of the compute image capability schema or the image ocid""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the instance configuration to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the instance configuration to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1428,8 +1428,8 @@ def change_compute_image_capability_schema_compartment(ctx, from_json, compute_i
@dedicated_vm_host_group.command(name=cli_util.override('compute.change_dedicated_vm_host_compartment.command_name', 'change-compartment'), help=u"""Moves a dedicated virtual machine host from one compartment to another. \n[Command Reference](changeDedicatedVmHostCompartment)""")
-@cli_util.option('--dedicated-vm-host-id', required=True, help=u"""The OCID of the dedicated VM host.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the dedicated virtual machine host to.""")
+@cli_util.option('--dedicated-vm-host-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated VM host.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the dedicated virtual machine host to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1497,8 +1497,8 @@ def change_dedicated_vm_host_compartment(ctx, from_json, wait_for_state, max_wai
@image_group.command(name=cli_util.override('compute.change_image_compartment.command_name', 'change-compartment'), help=u"""Moves an image 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](changeImageCompartment)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the image to.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the image to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1530,8 +1530,8 @@ def change_image_compartment(ctx, from_json, image_id, compartment_id, if_match)
@instance_group.command(name=cli_util.override('compute.change_instance_compartment.command_name', 'change-compartment'), help=u"""Moves an instance into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
When you move an instance to a different compartment, associated resources such as boot volumes and VNICs are not moved. \n[Command Reference](changeInstanceCompartment)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the instance to.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the instance to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1624,7 +1624,7 @@ def check_host_configuration(ctx, from_json, compute_host_id, if_match):
@app_catalog_subscription_group.command(name=cli_util.override('compute.create_app_catalog_subscription.command_name', 'create'), help=u"""Create a subscription for listing resource version for a compartment. It will take some time to propagate to all regions. \n[Command Reference](createAppCatalogSubscription)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartmentID for the subscription.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartmentID for the subscription.""")
@cli_util.option('--listing-id', required=True, help=u"""The OCID of the listing.""")
@cli_util.option('--listing-resource-version', required=True, help=u"""Listing resource version.""")
@cli_util.option('--oracle-terms-of-use-link', required=True, help=u"""Oracle TOU link""")
@@ -1662,7 +1662,7 @@ def create_app_catalog_subscription(ctx, from_json, compartment_id, listing_id,
@compute_capacity_report_group.command(name=cli_util.override('compute.create_compute_capacity_report.command_name', 'create'), help=u"""Generates a report of the host capacity within an availability domain that is available for you to create compute instances. Host capacity is the physical infrastructure that resources such as compute instances run on.
Use the capacity report to determine whether sufficient capacity is available for a shape before you create an instance or change the shape of an instance. \n[Command Reference](createComputeCapacityReport)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the compartment. This should always be the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the compartment. This should always be the root compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain for the capacity report.
Example: `Uocm:PHX-AD-1`""")
@@ -1691,7 +1691,7 @@ def create_compute_capacity_report(ctx, from_json, compartment_id, availability_
@compute_capacity_reservation_group.command(name=cli_util.override('compute.create_compute_capacity_reservation.command_name', 'create'), help=u"""Creates a new compute capacity reservation in the specified compartment and availability domain. Compute capacity reservations let you reserve instances in a compartment. When you launch an instance using this reservation, you are assured that you have enough space for your instance, and you won't get out of capacity errors. For more information, see [Reserved Capacity]. \n[Command Reference](createComputeCapacityReservation)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the capacity reservation.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the capacity reservation.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of this compute capacity reservation.
Example: `Uocm:PHX-AD-1`""")
@@ -1780,7 +1780,7 @@ def create_compute_capacity_reservation(ctx, from_json, wait_for_state, max_wait
Example: `Uocm:US-CHICAGO-1-AD-2`""")
@cli_util.option('--capacity-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains this compute capacity topology.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains this compute capacity topology.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1854,7 +1854,7 @@ def create_compute_capacity_topology(ctx, from_json, wait_for_state, max_wait_se
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of this compute capacity topology.
Example: `Uocm:US-CHICAGO-1-AD-2`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains this compute capacity topology.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains this compute capacity topology.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1936,7 +1936,7 @@ def create_compute_capacity_topology_create_dedicated_capacity_source_details(ct
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain to place the compute cluster in.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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.""")
@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].
@@ -2003,9 +2003,9 @@ def create_compute_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wai
@compute_gpu_memory_cluster_group.command(name=cli_util.override('compute.create_compute_gpu_memory_cluster.command_name', 'create'), help=u"""Create a compute GPU memory cluster instance on a specific compute GPU memory fabric \n[Command Reference](createComputeGpuMemoryCluster)""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the GPU memory cluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the compute GPU memory cluster. compartment.""")
-@cli_util.option('--compute-cluster-id', required=True, help=u"""The [OCID] of the compute cluster.""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""Instance Configuration to be used for this GPU Memory Cluster""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the compute GPU memory cluster. compartment.""")
+@cli_util.option('--compute-cluster-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compute cluster.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""Instance Configuration to be used for this GPU Memory Cluster""")
@cli_util.option('--gpu-memory-fabric-id', help=u"""The [OCID] of the GPU memory fabric.""")
@cli_util.option('--size', type=click.INT, help=u"""The number of instances currently running in the GpuMemoryCluster""")
@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].
@@ -2085,7 +2085,7 @@ def create_compute_gpu_memory_cluster(ctx, from_json, wait_for_state, max_wait_s
Example: `Uocm:PHX-AD-1`""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains host group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains host group.""")
@cli_util.option('--is-targeted-placement-required', required=True, type=click.BOOL, help=u"""A flag that allows customers to restrict placement for hosts attached to the group. If true, the only way to place on hosts is to target the specific host group.""")
@cli_util.option('--configurations', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of HostGroupConfiguration objects
@@ -2156,9 +2156,9 @@ def create_compute_host_group(ctx, from_json, wait_for_state, max_wait_seconds,
@compute_image_capability_schema_group.command(name=cli_util.override('compute.create_compute_image_capability_schema.command_name', 'create'), help=u"""Creates compute image capability schema. \n[Command Reference](createComputeImageCapabilitySchema)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resource.""")
@cli_util.option('--compute-global-image-capability-schema-version-name', required=True, help=u"""The name of the compute global image capability schema version""")
-@cli_util.option('--image-id', required=True, help=u"""The ocid of the image""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The ocid of the image""")
@cli_util.option('--schema-data', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The map of each capability name to its ImageCapabilitySchemaDescriptor.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -2229,7 +2229,7 @@ def create_compute_image_capability_schema(ctx, from_json, wait_for_state, max_w
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the dedicated virtual machine host.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--dedicated-vm-host-shape', required=True, help=u"""The dedicated virtual machine host shape. The shape determines the number of CPUs and other resources available for VM instances launched on the dedicated virtual machine host.""")
@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].
@@ -2320,7 +2320,7 @@ def create_dedicated_vm_host(ctx, from_json, wait_for_state, max_wait_seconds, w
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the dedicated virtual machine host.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--dedicated-vm-host-shape', required=True, help=u"""The dedicated virtual machine host shape. The shape determines the number of CPUs and other resources available for VM instances launched on the dedicated virtual machine host.""")
@cli_util.option('--placement-constraint-details-compute-host-group-id', required=True, help=u"""The OCID of the compute host group. This is only available for dedicated capacity customers.""")
@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].
@@ -2412,7 +2412,7 @@ def create_dedicated_vm_host_host_group_placement_constraint_details(ctx, from_j
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the dedicated virtual machine host.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--dedicated-vm-host-shape', required=True, help=u"""The dedicated virtual machine host shape. The shape determines the number of CPUs and other resources available for VM instances launched on the dedicated virtual machine host.""")
@cli_util.option('--placement-constraint-details-compute-bare-metal-host-id', required=True, help=u"""The OCID of the compute bare metal host. This is only available for dedicated capacity customers.""")
@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].
@@ -2513,7 +2513,7 @@ def create_dedicated_vm_host_compute_bare_metal_host_placement_constraint_detail
For more information about importing exported images, see [Image Import/Export].
You may optionally specify a *display name* for the image, which is simply a friendly name or description. It does not have to be unique, and you can change it. See [UpdateImage]. Avoid entering confidential information. \n[Command Reference](createImage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment you want the image to be created in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment you want the image to be created in.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2526,7 +2526,7 @@ def create_dedicated_vm_host_compute_bare_metal_host_placement_constraint_detail
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--image-source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--instance-id', help=u"""The OCID of the instance you want to use as the basis for the image.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance you want to use as the basis for the image.""")
@cli_util.option('--launch-mode', type=custom_types.CliCaseInsensitiveChoice(["NATIVE", "EMULATED", "PARAVIRTUALIZED", "CUSTOM"]), help=u"""Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are: * `NATIVE` - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images. * `EMULATED` - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller. * `PARAVIRTUALIZED` - VM instances launch with paravirtualized devices using VirtIO drivers. * `CUSTOM` - VM instances launch with custom configuration settings specified in the `LaunchOptions` parameter.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "IMPORTING", "AVAILABLE", "EXPORTING", "DISABLED", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2605,7 +2605,7 @@ def create_image(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
For more information about importing exported images, see [Image Import/Export].
You may optionally specify a *display name* for the image, which is simply a friendly name or description. It does not have to be unique, and you can change it. See [UpdateImage]. Avoid entering confidential information. \n[Command Reference](createImage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment you want the image to be created in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment you want the image to be created in.""")
@cli_util.option('--image-source-details-bucket-name', required=True, help=u"""The Object Storage bucket for the image.""")
@cli_util.option('--image-source-details-namespace-name', required=True, help=u"""The Object Storage namespace for the image.""")
@cli_util.option('--image-source-details-object-name', required=True, help=u"""The Object Storage name for the image.""")
@@ -2620,7 +2620,7 @@ def create_image(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--instance-id', help=u"""The OCID of the instance you want to use as the basis for the image.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance you want to use as the basis for the image.""")
@cli_util.option('--launch-mode', type=custom_types.CliCaseInsensitiveChoice(["NATIVE", "EMULATED", "PARAVIRTUALIZED", "CUSTOM"]), help=u"""Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are: * `NATIVE` - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images. * `EMULATED` - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller. * `PARAVIRTUALIZED` - VM instances launch with paravirtualized devices using VirtIO drivers. * `CUSTOM` - VM instances launch with custom configuration settings specified in the `LaunchOptions` parameter.""")
@cli_util.option('--image-source-details-operating-system', help=u"""""")
@cli_util.option('--image-source-details-operating-system-version', help=u"""""")
@@ -2714,7 +2714,7 @@ def create_image_image_source_via_object_storage_tuple_details(ctx, from_json, w
For more information about importing exported images, see [Image Import/Export].
You may optionally specify a *display name* for the image, which is simply a friendly name or description. It does not have to be unique, and you can change it. See [UpdateImage]. Avoid entering confidential information. \n[Command Reference](createImage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment you want the image to be created in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment you want the image to be created in.""")
@cli_util.option('--image-source-details-source-uri', required=True, help=u"""The Object Storage URL for the image.""")
@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].
@@ -2727,7 +2727,7 @@ def create_image_image_source_via_object_storage_tuple_details(ctx, from_json, w
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--instance-id', help=u"""The OCID of the instance you want to use as the basis for the image.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance you want to use as the basis for the image.""")
@cli_util.option('--launch-mode', type=custom_types.CliCaseInsensitiveChoice(["NATIVE", "EMULATED", "PARAVIRTUALIZED", "CUSTOM"]), help=u"""Specifies the configuration mode for launching virtual machine (VM) instances. The configuration modes are: * `NATIVE` - VM instances launch with iSCSI boot and VFIO devices. The default value for platform images. * `EMULATED` - VM instances launch with emulated devices, such as the E1000 network driver and emulated SCSI disk controller. * `PARAVIRTUALIZED` - VM instances launch with paravirtualized devices using VirtIO drivers. * `CUSTOM` - VM instances launch with custom configuration settings specified in the `LaunchOptions` parameter.""")
@cli_util.option('--image-source-details-operating-system', help=u"""""")
@cli_util.option('--image-source-details-operating-system-version', help=u"""""")
@@ -2809,7 +2809,7 @@ def create_image_image_source_via_object_storage_uri_details(ctx, from_json, wai
@instance_console_connection_group.command(name=cli_util.override('compute.create_instance_console_connection.command_name', 'create'), help=u"""Creates a new console connection to the specified instance. After the console connection has been created and is available, you connect to the console using SSH.
For more information about instance console connections, see [Troubleshooting Instances Using Instance Console Connections]. \n[Command Reference](createInstanceConsoleConnection)""")
-@cli_util.option('--instance-id', required=True, help=u"""The OCID of the instance to create the console connection to.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance to create the console connection to.""")
@cli_util.option('--public-key', required=True, help=u"""The SSH public key used to authenticate the console connection.""")
@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].
@@ -2872,7 +2872,7 @@ def create_instance_console_connection(ctx, from_json, wait_for_state, max_wait_
@app_catalog_subscription_group.command(name=cli_util.override('compute.delete_app_catalog_subscription.command_name', 'delete'), help=u"""Delete a subscription for a listing resource version for a compartment. \n[Command Reference](deleteAppCatalogSubscription)""")
@cli_util.option('--listing-id', required=True, help=u"""The OCID of the listing.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-version', required=True, help=u"""Listing Resource Version.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -2894,7 +2894,7 @@ def delete_app_catalog_subscription(ctx, from_json, listing_id, compartment_id,
@compute_capacity_reservation_group.command(name=cli_util.override('compute.delete_compute_capacity_reservation.command_name', 'delete'), help=u"""Deletes the specified compute capacity reservation. \n[Command Reference](deleteComputeCapacityReservation)""")
-@cli_util.option('--capacity-reservation-id', required=True, help=u"""The OCID of the compute capacity reservation.""")
+@cli_util.option('--capacity-reservation-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3010,7 +3010,7 @@ def delete_compute_capacity_topology(ctx, from_json, wait_for_state, max_wait_se
@compute_cluster_group.command(name=cli_util.override('compute.delete_compute_cluster.command_name', 'delete'), help=u"""Deletes a compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.
Before you delete a compute cluster, first delete all instances in the cluster by using the [TerminateInstance] operation. \n[Command Reference](deleteComputeCluster)""")
-@cli_util.option('--compute-cluster-id', required=True, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
+@cli_util.option('--compute-cluster-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3323,7 +3323,7 @@ def delete_console_history(ctx, from_json, wait_for_state, max_wait_seconds, wai
@dedicated_vm_host_group.command(name=cli_util.override('compute.delete_dedicated_vm_host.command_name', 'delete'), help=u"""Deletes the specified dedicated virtual machine host.
If any VM instances are assigned to the dedicated virtual machine host, the delete operation will fail and the service will return a 409 response code. \n[Command Reference](deleteDedicatedVmHost)""")
-@cli_util.option('--dedicated-vm-host-id', required=True, help=u"""The OCID of the dedicated VM host.""")
+@cli_util.option('--dedicated-vm-host-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated VM host.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -3377,7 +3377,7 @@ def delete_dedicated_vm_host(ctx, from_json, wait_for_state, max_wait_seconds, w
@image_group.command(name=cli_util.override('compute.delete_image.command_name', 'delete'), help=u"""Deletes an image. \n[Command Reference](deleteImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "IMPORTING", "AVAILABLE", "EXPORTING", "DISABLED", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3773,7 +3773,7 @@ def detach_volume(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
To perform an image export, you need write access to the Object Storage bucket for the image, see [Let Users Write Objects to Object Storage Buckets].
See [Object Storage URLs] and [Using Pre-Authenticated Requests] for constructing URLs for image import/export. \n[Command Reference](exportImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@cli_util.option('--destination-type', required=True, help=u"""The destination type. Use `objectStorageTuple` when specifying the namespace, bucket name, and object name. Use `objectStorageUri` when specifying the Object Storage URL.""")
@cli_util.option('--export-format', type=custom_types.CliCaseInsensitiveChoice(["QCOW2", "VMDK", "OCI", "VHD", "VDI"]), help=u"""The format to export the image to. The default value is `OCI`.
@@ -3843,7 +3843,7 @@ def export_image(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
To perform an image export, you need write access to the Object Storage bucket for the image, see [Let Users Write Objects to Object Storage Buckets].
See [Object Storage URLs] and [Using Pre-Authenticated Requests] for constructing URLs for image import/export. \n[Command Reference](exportImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@cli_util.option('--destination-uri', required=True, help=u"""The Object Storage URL to export the image to. See [Object Storage URLs] and [Using Pre-Authenticated Requests] for constructing URLs for image import/export.""")
@cli_util.option('--export-format', type=custom_types.CliCaseInsensitiveChoice(["QCOW2", "VMDK", "OCI", "VHD", "VDI"]), help=u"""The format to export the image to. The default value is `OCI`.
@@ -3915,7 +3915,7 @@ def export_image_export_image_via_object_storage_uri_details(ctx, from_json, wai
To perform an image export, you need write access to the Object Storage bucket for the image, see [Let Users Write Objects to Object Storage Buckets].
See [Object Storage URLs] and [Using Pre-Authenticated Requests] for constructing URLs for image import/export. \n[Command Reference](exportImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@cli_util.option('--bucket-name', required=True, help=u"""The Object Storage bucket to export the image to.""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace to export the image to.""")
@cli_util.option('--object-name', required=True, help=u"""The Object Storage object name for the exported image.""")
@@ -4079,7 +4079,7 @@ def get_boot_volume_attachment(ctx, from_json, boot_volume_attachment_id):
@compute_capacity_reservation_group.command(name=cli_util.override('compute.get_compute_capacity_reservation.command_name', 'get'), help=u"""Gets information about the specified compute capacity reservation. \n[Command Reference](getComputeCapacityReservation)""")
-@cli_util.option('--capacity-reservation-id', required=True, help=u"""The OCID of the compute capacity reservation.""")
+@cli_util.option('--capacity-reservation-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4123,7 +4123,7 @@ def get_compute_capacity_topology(ctx, from_json, compute_capacity_topology_id):
@compute_cluster_group.command(name=cli_util.override('compute.get_compute_cluster.command_name', 'get'), help=u"""Gets information about a compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group. \n[Command Reference](getComputeCluster)""")
-@cli_util.option('--compute-cluster-id', required=True, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
+@cli_util.option('--compute-cluster-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4353,7 +4353,7 @@ def get_console_history_content(ctx, from_json, file, instance_console_history_i
@dedicated_vm_host_group.command(name=cli_util.override('compute.get_dedicated_vm_host.command_name', 'get'), help=u"""Gets information about the specified dedicated virtual machine host. \n[Command Reference](getDedicatedVmHost)""")
-@cli_util.option('--dedicated-vm-host-id', required=True, help=u"""The OCID of the dedicated VM host.""")
+@cli_util.option('--dedicated-vm-host-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated VM host.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4397,7 +4397,7 @@ def get_firmware_bundle(ctx, from_json, firmware_bundle_id):
@image_group.command(name=cli_util.override('compute.get_image.command_name', 'get'), help=u"""Gets the specified image. \n[Command Reference](getImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4418,7 +4418,7 @@ def get_image(ctx, from_json, image_id):
@image_shape_compatibility_entry_group.command(name=cli_util.override('compute.get_image_shape_compatibility_entry.command_name', 'get'), help=u"""Retrieves an image shape compatibility entry. \n[Command Reference](getImageShapeCompatibilityEntry)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@cli_util.option('--shape-name', required=True, help=u"""Shape name.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -4447,7 +4447,7 @@ def get_image_shape_compatibility_entry(ctx, from_json, image_id, shape_name):
@instance_group.command(name=cli_util.override('compute.get_instance.command_name', 'get'), help=u"""Gets information about the specified instance.
**Note:** To retrieve public and private IP addresses for an instance, use the [ListVnicAttachments] operation to get the VNIC ID for the instance, and then call [GetVnic] with the VNIC ID. \n[Command Reference](getInstance)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4511,7 +4511,7 @@ def get_instance_maintenance_event(ctx, from_json, instance_maintenance_event_id
@instance_maintenance_reboot_group.command(name=cli_util.override('compute.get_instance_maintenance_reboot.command_name', 'get'), help=u"""Gets the maximum possible date that a maintenance reboot can be extended. For more information, see [Infrastructure Maintenance]. \n[Command Reference](getInstanceMaintenanceReboot)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4533,7 +4533,7 @@ def get_instance_maintenance_reboot(ctx, from_json, instance_id):
@measured_boot_report_group.command(name=cli_util.override('compute.get_measured_boot_report.command_name', 'get'), help=u"""Gets the measured boot report for this shielded instance. \n[Command Reference](getMeasuredBootReport)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4597,7 +4597,7 @@ def get_volume_attachment(ctx, from_json, volume_attachment_id):
@instance_credentials_group.command(name=cli_util.override('compute.get_windows_instance_initial_credentials.command_name', 'get-windows-instance-initial-credentials'), help=u"""Gets the generated credentials for the instance. Only works for instances that require a password to log in, such as Windows. For certain operating systems, users will be forced to change the initial credentials. \n[Command Reference](getWindowsInstanceInitialCredentials)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4638,7 +4638,7 @@ def get_windows_instance_initial_credentials(ctx, from_json, instance_id):
- **REBOOTMIGRATE** - Powers off the instance, moves it to new hardware, and then powers it back on. For more information, see [Infrastructure Maintenance].
For more information about managing instance lifecycle states, see [Stopping and Starting an Instance]. \n[Command Reference](instanceAction)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--action', required=True, help=u"""The action to perform on the instance. Allowed values are: STOP, START, SOFTRESET, RESET, SOFTSTOP, SENDDIAGNOSTICINTERRUPT, DIAGNOSTICREBOOT, REBOOTMIGRATE""")
@cli_util.option('--action-type', required=True, help=u"""The type of power action to perform.""")
@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.""")
@@ -4716,7 +4716,7 @@ def instance_action(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
- **REBOOTMIGRATE** - Powers off the instance, moves it to new hardware, and then powers it back on. For more information, see [Infrastructure Maintenance].
For more information about managing instance lifecycle states, see [Stopping and Starting an Instance]. \n[Command Reference](instanceAction)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--action', required=True, help=u"""The action to perform on the instance. Allowed values are: STOP, START, SOFTRESET, RESET, SOFTSTOP, SENDDIAGNOSTICINTERRUPT, DIAGNOSTICREBOOT, REBOOTMIGRATE""")
@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.""")
@cli_util.option('--allow-dense-reboot-migration', type=click.BOOL, help=u"""For instances that use a DenseIO shape, the flag denoting whether [reboot migration] is performed for the instance. The default value is `false`.
@@ -4804,7 +4804,7 @@ def instance_action_reset_action_details(ctx, from_json, wait_for_state, max_wai
- **REBOOTMIGRATE** - Powers off the instance, moves it to new hardware, and then powers it back on. For more information, see [Infrastructure Maintenance].
For more information about managing instance lifecycle states, see [Stopping and Starting an Instance]. \n[Command Reference](instanceAction)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--action', required=True, help=u"""The action to perform on the instance. Allowed values are: STOP, START, SOFTRESET, RESET, SOFTSTOP, SENDDIAGNOSTICINTERRUPT, DIAGNOSTICREBOOT, REBOOTMIGRATE""")
@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.""")
@cli_util.option('--delete-local-storage', type=click.BOOL, help=u"""For bare metal instances that have local storage, this must be set to true to verify that the local storage will be deleted during the migration. For instances without, this parameter has no effect.""")
@@ -4892,7 +4892,7 @@ def instance_action_reboot_migrate_action_details(ctx, from_json, wait_for_state
- **REBOOTMIGRATE** - Powers off the instance, moves it to new hardware, and then powers it back on. For more information, see [Infrastructure Maintenance].
For more information about managing instance lifecycle states, see [Stopping and Starting an Instance]. \n[Command Reference](instanceAction)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--action', required=True, help=u"""The action to perform on the instance. Allowed values are: STOP, START, SOFTRESET, RESET, SOFTSTOP, SENDDIAGNOSTICINTERRUPT, DIAGNOSTICREBOOT, REBOOTMIGRATE""")
@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.""")
@cli_util.option('--allow-dense-reboot-migration', type=click.BOOL, help=u"""For instances that use a DenseIO shape, the flag denoting whether [reboot migration] is performed for the instance. The default value is `false`.
@@ -4981,10 +4981,10 @@ def instance_action_soft_reset_action_details(ctx, from_json, wait_for_state, ma
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5004,13 +5004,13 @@ def instance_action_soft_reset_action_details(ctx, from_json, wait_for_state, ma
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -5061,7 +5061,7 @@ def instance_action_soft_reset_action_details(ctx, from_json, wait_for_state, ma
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5069,7 +5069,7 @@ def instance_action_soft_reset_action_details(ctx, from_json, wait_for_state, ma
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5235,10 +5235,10 @@ def launch_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5258,13 +5258,13 @@ def launch_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -5314,7 +5314,7 @@ def launch_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5322,7 +5322,7 @@ def launch_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5514,11 +5514,11 @@ def launch_instance_instance_source_via_image_details(ctx, from_json, wait_for_s
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--source-details-boot-volume-id', required=True, help=u"""The OCID of the boot volume used to boot the instance.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5538,13 +5538,13 @@ def launch_instance_instance_source_via_image_details(ctx, from_json, wait_for_s
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -5594,7 +5594,7 @@ def launch_instance_instance_source_via_image_details(ctx, from_json, wait_for_s
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5602,7 +5602,7 @@ def launch_instance_instance_source_via_image_details(ctx, from_json, wait_for_s
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5769,10 +5769,10 @@ def launch_instance_instance_source_via_boot_volume_details(ctx, from_json, wait
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5792,13 +5792,13 @@ def launch_instance_instance_source_via_boot_volume_details(ctx, from_json, wait
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -5849,14 +5849,14 @@ def launch_instance_instance_source_via_boot_volume_details(ctx, from_json, wait
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6064,10 +6064,10 @@ def launch_instance_amd_rome_bm_gpu_launch_instance_platform_config(ctx, from_js
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6087,13 +6087,13 @@ def launch_instance_amd_rome_bm_gpu_launch_instance_platform_config(ctx, from_js
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -6144,14 +6144,14 @@ def launch_instance_amd_rome_bm_gpu_launch_instance_platform_config(ctx, from_js
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6365,10 +6365,10 @@ def launch_instance_amd_rome_bm_launch_instance_platform_config(ctx, from_json,
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6388,13 +6388,13 @@ def launch_instance_amd_rome_bm_launch_instance_platform_config(ctx, from_json,
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -6445,14 +6445,14 @@ def launch_instance_amd_rome_bm_launch_instance_platform_config(ctx, from_json,
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6658,10 +6658,10 @@ def launch_instance_intel_icelake_bm_launch_instance_platform_config(ctx, from_j
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6681,13 +6681,13 @@ def launch_instance_intel_icelake_bm_launch_instance_platform_config(ctx, from_j
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -6738,14 +6738,14 @@ def launch_instance_intel_icelake_bm_launch_instance_platform_config(ctx, from_j
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6933,10 +6933,10 @@ def launch_instance_amd_vm_launch_instance_platform_config(ctx, from_json, wait_
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6956,13 +6956,13 @@ def launch_instance_amd_vm_launch_instance_platform_config(ctx, from_json, wait_
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -7013,14 +7013,14 @@ def launch_instance_amd_vm_launch_instance_platform_config(ctx, from_json, wait_
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7208,10 +7208,10 @@ def launch_instance_intel_vm_launch_instance_platform_config(ctx, from_json, wai
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7231,13 +7231,13 @@ def launch_instance_intel_vm_launch_instance_platform_config(ctx, from_json, wai
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -7288,14 +7288,14 @@ def launch_instance_intel_vm_launch_instance_platform_config(ctx, from_json, wai
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7501,10 +7501,10 @@ def launch_instance_intel_skylake_bm_launch_instance_platform_config(ctx, from_j
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7524,13 +7524,13 @@ def launch_instance_intel_skylake_bm_launch_instance_platform_config(ctx, from_j
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -7581,14 +7581,14 @@ def launch_instance_intel_skylake_bm_launch_instance_platform_config(ctx, from_j
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7802,10 +7802,10 @@ def launch_instance_amd_milan_bm_launch_instance_platform_config(ctx, from_json,
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7825,13 +7825,13 @@ def launch_instance_amd_milan_bm_launch_instance_platform_config(ctx, from_json,
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -7882,14 +7882,14 @@ def launch_instance_amd_milan_bm_launch_instance_platform_config(ctx, from_json,
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8103,10 +8103,10 @@ def launch_instance_generic_bm_launch_instance_platform_config(ctx, from_json, w
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8126,13 +8126,13 @@ def launch_instance_generic_bm_launch_instance_platform_config(ctx, from_json, w
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -8183,14 +8183,14 @@ def launch_instance_generic_bm_launch_instance_platform_config(ctx, from_json, w
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--placement-constraint-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8398,11 +8398,11 @@ def launch_instance_amd_milan_bm_gpu_launch_instance_platform_config(ctx, from_j
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--placement-constraint-details-compute-host-group-id', required=True, help=u"""The OCID of the compute host group. This is only available for dedicated capacity customers.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8422,13 +8422,13 @@ def launch_instance_amd_milan_bm_gpu_launch_instance_platform_config(ctx, from_j
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -8479,14 +8479,14 @@ def launch_instance_amd_milan_bm_gpu_launch_instance_platform_config(ctx, from_j
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8653,11 +8653,11 @@ def launch_instance_host_group_placement_constraint_details(ctx, from_json, wait
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain of the instance.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--placement-constraint-details-compute-bare-metal-host-id', required=True, help=u"""The OCID of the compute bare metal host. This is only available for dedicated capacity customers.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can opt out of all default reservations by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@cli_util.option('--create-vnic-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8677,13 +8677,13 @@ def launch_instance_host_group_placement_constraint_details(ctx, from_json, wait
To get a list of fault domains, use the [ListFaultDomains] operation in the Identity and Access Management Service API.
Example: `FAULT-DOMAIN-1`""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID of the cluster placement group of the instance.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cluster placement group of the instance.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@cli_util.option('--hostname-label', help=u"""Deprecated. Instead use `hostnameLabel` in [CreateVnicDetails]. If you provide both, the values must match.""")
-@cli_util.option('--image-id', help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Use `sourceDetails` with [InstanceSourceViaImageDetails] source type instead. If you specify values for both, the values must match.""")
@cli_util.option('--ipxe-script-file', type=click.File(mode='r'), help=u"""This is an advanced option.
When a bare metal or virtual machine instance boots, the iPXE firmware that runs on the instance is configured to run an iPXE script to continue the boot process.
@@ -8734,14 +8734,14 @@ def launch_instance_host_group_placement_constraint_details(ctx, from_json, wait
You can enumerate all available shapes by calling [ListShapes].""")
@cli_util.option('--shape-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. Instead use `subnetId` in [CreateVnicDetails]. At least one of them is required; if you provide both, the values must match.""")
@cli_util.option('--launch-volume-attachments', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Volume attachments to create as part of the launch instance operation.
This option is a JSON list with items of type LaunchAttachVolumeDetails. For documentation on LaunchAttachVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchAttachVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-pv-encryption-in-transit-enabled', type=click.BOOL, help=u"""Whether to enable in-transit encryption for the data volume's paravirtualized attachment. This field applies to both block volumes and boot volumes. The default value is false.""")
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--instance-configuration-id', help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The OCID of the Instance Configuration containing instance launch details. Any other fields supplied in this instance launch request will override the details stored in the Instance Configuration for this instance launch.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of licensing configurations associated with target launch values.
This option is a JSON list with items of type LaunchInstanceLicensingConfig. For documentation on LaunchInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/LaunchInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8999,7 +8999,7 @@ def list_app_catalog_listings(ctx, from_json, all_pages, page_size, limit, page,
@app_catalog_subscription_group.command(name=cli_util.override('compute.list_app_catalog_subscriptions.command_name', 'list'), help=u"""Lists subscriptions for a compartment. \n[Command Reference](listAppCatalogSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -9062,13 +9062,13 @@ def list_app_catalog_subscriptions(ctx, from_json, all_pages, page_size, compart
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@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].""")
-@cli_util.option('--instance-id', help=u"""The OCID of the instance.""")
-@cli_util.option('--boot-volume-id', help=u"""The OCID of the boot volume.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
+@cli_util.option('--boot-volume-id', type=custom_types.CLI_OCID, help=u"""The OCID of the boot volume.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -9120,7 +9120,7 @@ def list_boot_volume_attachments(ctx, from_json, all_pages, page_size, availabil
@compute_capacity_reservation_instance_shape_group.command(name=cli_util.override('compute.list_compute_capacity_reservation_instance_shapes.command_name', 'list'), help=u"""Lists the shapes that can be reserved within the specified compartment. \n[Command Reference](listComputeCapacityReservationInstanceShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -9188,11 +9188,11 @@ def list_compute_capacity_reservation_instance_shapes(ctx, from_json, all_pages,
@capacity_reservation_instance_group.command(name=cli_util.override('compute.list_compute_capacity_reservation_instances.command_name', 'list-compute'), help=u"""Lists the instances launched under a capacity reservation. You can filter results by specifying criteria. \n[Command Reference](listComputeCapacityReservationInstances)""")
-@cli_util.option('--capacity-reservation-id', required=True, help=u"""The OCID of the compute capacity reservation.""")
+@cli_util.option('--capacity-reservation-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -9261,7 +9261,7 @@ def list_compute_capacity_reservation_instances(ctx, from_json, all_pages, page_
@compute_capacity_reservation_group.command(name=cli_util.override('compute.list_compute_capacity_reservations.command_name', 'list'), help=u"""Lists the compute capacity reservations that match the specified criteria and compartment.
You can limit the list by specifying a compute capacity reservation display name (the list will include all the identically-named compute capacity reservations in the compartment). \n[Command Reference](listComputeCapacityReservations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -9332,7 +9332,7 @@ def list_compute_capacity_reservations(ctx, from_json, all_pages, page_size, com
@compute_capacity_topology_group.command(name=cli_util.override('compute.list_compute_capacity_topologies.command_name', 'list'), help=u"""Lists the compute capacity topologies in the specified compartment. You can filter the list by a compute capacity topology display name. \n[Command Reference](listComputeCapacityTopologies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -9404,7 +9404,7 @@ def list_compute_capacity_topologies(ctx, from_json, all_pages, page_size, compa
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compute-hpc-island-id', help=u"""The [OCID] of the compute HPC island.""")
@cli_util.option('--compute-network-block-id', help=u"""The [OCID] of the compute network block.""")
@cli_util.option('--compute-local-block-id', help=u"""The [OCID] of the compute local block.""")
@@ -9484,7 +9484,7 @@ def list_compute_capacity_topology_compute_bare_metal_hosts(ctx, from_json, all_
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -9555,7 +9555,7 @@ def list_compute_capacity_topology_compute_hpc_islands(ctx, from_json, all_pages
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compute-hpc-island-id', help=u"""The [OCID] of the compute HPC island.""")
@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].
@@ -9625,7 +9625,7 @@ def list_compute_capacity_topology_compute_network_blocks(ctx, from_json, all_pa
@compute_cluster_group.command(name=cli_util.override('compute.list_compute_clusters.command_name', 'list'), help=u"""Lists the compute clusters in the specified compartment. A [compute cluster] is a remote direct memory access (RDMA) network group. \n[Command Reference](listComputeClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -9756,7 +9756,7 @@ def list_compute_global_image_capability_schema_versions(ctx, from_json, all_pag
@compute_global_image_capability_schema_group.command(name=cli_util.override('compute.list_compute_global_image_capability_schemas.command_name', 'list'), help=u"""Lists Compute Global Image Capability Schema in the specified compartment. \n[Command Reference](listComputeGlobalImageCapabilitySchemas)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that match the given compartment OCID exactly.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the given compartment OCID exactly.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].
@@ -9876,13 +9876,13 @@ def list_compute_gpu_memory_cluster_instances(ctx, from_json, all_pages, page_si
@compute_gpu_memory_cluster_group.command(name=cli_util.override('compute.list_compute_gpu_memory_clusters.command_name', 'list'), help=u"""List all of the compute GPU memory clusters. \n[Command Reference](listComputeGpuMemoryClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compute-gpu-memory-cluster-id', help=u"""A filter to return only the listings that matches the given GPU memory cluster id.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
@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].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
@@ -9950,7 +9950,7 @@ def list_compute_gpu_memory_clusters(ctx, from_json, all_pages, page_size, compa
@compute_gpu_memory_fabric_group.command(name=cli_util.override('compute.list_compute_gpu_memory_fabrics.command_name', 'list'), help=u"""Lists the compute GPU memory fabrics that match the specified criteria and compartmentId. \n[Command Reference](listComputeGpuMemoryFabrics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compute-gpu-memory-fabric-id', help=u"""A filter to return only the listings that matches the given GPU memory fabric id.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
@@ -10033,7 +10033,7 @@ def list_compute_gpu_memory_fabrics(ctx, from_json, all_pages, page_size, compar
@compute_host_group_group.command(name=cli_util.override('compute.list_compute_host_groups.command_name', 'list'), help=u"""Lists the compute host groups that match the specified criteria and compartment. \n[Command Reference](listComputeHostGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].""")
@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].
@@ -10083,7 +10083,7 @@ def list_compute_host_groups(ctx, from_json, all_pages, page_size, compartment_i
@compute_host_group.command(name=cli_util.override('compute.list_compute_hosts.command_name', 'list'), help=u"""Generates a list of summary host details \n[Command Reference](listComputeHosts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -10166,8 +10166,8 @@ def list_compute_hosts(ctx, from_json, all_pages, page_size, compartment_id, ava
@compute_image_capability_schema_group.command(name=cli_util.override('compute.list_compute_image_capability_schemas.command_name', 'list'), help=u"""Lists Compute Image Capability Schema in the specified compartment. You can also query by a specific imageId. \n[Command Reference](listComputeImageCapabilitySchemas)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that match the given compartment OCID exactly.""")
-@cli_util.option('--image-id', help=u"""The [OCID] of an image.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the given compartment OCID exactly.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of an image.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].
@@ -10228,7 +10228,7 @@ def list_compute_image_capability_schemas(ctx, from_json, all_pages, page_size,
@console_history_group.command(name=cli_util.override('compute.list_console_histories.command_name', 'list'), help=u"""Lists the console history metadata for the specified compartment or instance. \n[Command Reference](listConsoleHistories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -10236,7 +10236,7 @@ def list_compute_image_capability_schemas(ctx, from_json, all_pages, page_size,
Example: `50`""")
@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].""")
-@cli_util.option('--instance-id', help=u"""The OCID of the instance.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you optionally filter by availability domain if the scope of the resource type is within a single availability domain. If you call one of these \"List\" operations without specifying an availability domain, the resources are grouped by availability domain, then sorted.""")
@@ -10298,7 +10298,7 @@ def list_console_histories(ctx, from_json, all_pages, page_size, compartment_id,
@dedicated_vm_host_instance_shape_group.command(name=cli_util.override('compute.list_dedicated_vm_host_instance_shapes.command_name', 'list'), help=u"""Lists the shapes that can be used to launch a virtual machine instance on a dedicated virtual machine host within the specified compartment. You can filter the list by compatibility with a specific dedicated virtual machine host shape. \n[Command Reference](listDedicatedVmHostInstanceShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -10356,8 +10356,8 @@ def list_dedicated_vm_host_instance_shapes(ctx, from_json, all_pages, page_size,
@dedicated_vm_host_instance_group.command(name=cli_util.override('compute.list_dedicated_vm_host_instances.command_name', 'list'), help=u"""Returns the list of instances on the dedicated virtual machine hosts that match the specified criteria. \n[Command Reference](listDedicatedVmHostInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--dedicated-vm-host-id', required=True, help=u"""The OCID of the dedicated VM host.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--dedicated-vm-host-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated VM host.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -10431,7 +10431,7 @@ def list_dedicated_vm_host_instances(ctx, from_json, all_pages, page_size, compa
@dedicated_vm_host_shape_group.command(name=cli_util.override('compute.list_dedicated_vm_host_shapes.command_name', 'list'), help=u"""Lists the shapes that can be used to launch a dedicated virtual machine host within the specified compartment. \n[Command Reference](listDedicatedVmHostShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -10491,7 +10491,7 @@ def list_dedicated_vm_host_shapes(ctx, from_json, all_pages, page_size, compartm
@dedicated_vm_host_group.command(name=cli_util.override('compute.list_dedicated_vm_hosts.command_name', 'list'), help=u"""Returns the list of dedicated virtual machine hosts that match the specified criteria in the specified compartment.
You can limit the list by specifying a dedicated virtual machine host display name. The list will include all the identically-named dedicated virtual machine hosts in the compartment. \n[Command Reference](listDedicatedVmHosts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -10575,7 +10575,7 @@ def list_dedicated_vm_hosts(ctx, from_json, all_pages, page_size, compartment_id
@firmware_bundles_collection_group.command(name=cli_util.override('compute.list_firmware_bundles.command_name', 'list-firmware-bundles'), help=u"""Gets a list of all Firmware Bundles in a compartment for specified platform. Can filter results to include only the default (recommended) Firmware Bundle for the given platform. \n[Command Reference](listFirmwareBundles)""")
@cli_util.option('--platform', required=True, help=u"""platform name""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--is-default-bundle', type=click.BOOL, help=u"""If true, return only the default firmware bundle for a given platform. Default is false.""")
@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].
@@ -10633,7 +10633,7 @@ def list_firmware_bundles(ctx, from_json, all_pages, page_size, platform, compar
@image_shape_compatibility_entry_group.command(name=cli_util.override('compute.list_image_shape_compatibility_entries.command_name', 'list'), help=u"""Lists the compatible shapes for the specified image. \n[Command Reference](listImageShapeCompatibilityEntries)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@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].
Example: `50`""")
@@ -10690,7 +10690,7 @@ def list_image_shape_compatibility_entries(ctx, from_json, all_pages, page_size,
The list of images returned is ordered to first show the recent platform images, then all of the custom images.
**Caution:** Platform images are refreshed regularly. When new images are released, older versions are replaced. The image OCIDs remain available, but when the platform image is replaced, the image OCIDs are no longer returned as part of the platform image list. \n[Command Reference](listImages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--operating-system', help=u"""The image's operating system.
@@ -10768,8 +10768,8 @@ def list_images(ctx, from_json, all_pages, page_size, compartment_id, display_na
@instance_console_connection_group.command(name=cli_util.override('compute.list_instance_console_connections.command_name', 'list'), help=u"""Lists the console connections for the specified compartment or instance.
For more information about instance console connections, see [Troubleshooting Instances Using Instance Console Connections]. \n[Command Reference](listInstanceConsoleConnections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--instance-id', help=u"""The OCID of the instance.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
@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].
Example: `50`""")
@@ -10820,7 +10820,7 @@ def list_instance_console_connections(ctx, from_json, all_pages, page_size, comp
@device_group.command(name=cli_util.override('compute.list_instance_devices.command_name', 'list-instance'), help=u"""Gets a list of all the devices for given instance. You can optionally filter results by device availability. \n[Command Reference](listInstanceDevices)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--is-available', type=click.BOOL, help=u"""A filter to return only available devices or only used devices.""")
@cli_util.option('--name', help=u"""A filter to return only devices that match the given name exactly.""")
@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].
@@ -10887,8 +10887,8 @@ def list_instance_devices(ctx, from_json, all_pages, page_size, instance_id, is_
@instance_maintenance_event_group.command(name=cli_util.override('compute.list_instance_maintenance_events.command_name', 'list'), help=u"""Gets a list of all the maintenance events for the given compartment. \n[Command Reference](listInstanceMaintenanceEvents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--instance-id', help=u"""The OCID of the instance.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["SCHEDULED", "STARTED", "PROCESSING", "SUCCEEDED", "FAILED", "CANCELED"]), help=u"""A filter to only return resources that match the given lifecycle state.""")
@cli_util.option('--correlation-token', help=u"""A filter to only return resources that have a matching correlationToken.""")
@cli_util.option('--instance-action', help=u"""A filter to only return resources that match the given instance action.""")
@@ -10965,12 +10965,12 @@ def list_instance_maintenance_events(ctx, from_json, all_pages, page_size, compa
@instance_group.command(name=cli_util.override('compute.list_instances.command_name', 'list'), help=u"""Lists the instances in the specified compartment and the specified availability domain. You can filter the results by specifying an instance name (the list will include all the identically-named instances in the compartment).
**Note:** To retrieve public and private IP addresses for an instance, use the [ListVnicAttachments] operation to get the VNIC ID for the instance, and then call [GetVnic] with the VNIC ID. \n[Command Reference](listInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation.""")
-@cli_util.option('--compute-cluster-id', help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation.""")
+@cli_util.option('--compute-cluster-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].
@@ -11041,7 +11041,7 @@ def list_instances(ctx, from_json, all_pages, page_size, compartment_id, availab
@shape_group.command(name=cli_util.override('compute.list_shapes.command_name', 'list'), help=u"""Lists the shapes that can be used to launch an instance within the specified compartment. You can filter the list by compatibility with a specific image. \n[Command Reference](listShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -11049,7 +11049,7 @@ def list_instances(ctx, from_json, all_pages, page_size, compartment_id, availab
Example: `50`""")
@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].""")
-@cli_util.option('--image-id', help=u"""The [OCID] of an image.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of an image.""")
@cli_util.option('--shape', help=u"""Shape name.""")
@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.""")
@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.""")
@@ -11101,11 +11101,11 @@ def list_shapes(ctx, from_json, all_pages, page_size, compartment_id, availabili
@vnic_attachment_group.command(name=cli_util.override('compute.list_vnic_attachments.command_name', 'list'), help=u"""Lists the VNIC attachments in the specified compartment. A VNIC attachment resides in the same compartment as the attached instance. The list can be filtered by instance, VNIC, or availability domain. \n[Command Reference](listVnicAttachments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--instance-id', help=u"""The OCID of the instance.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
@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].
Example: `50`""")
@@ -11163,7 +11163,7 @@ def list_vnic_attachments(ctx, from_json, all_pages, page_size, compartment_id,
@volume_attachment_group.command(name=cli_util.override('compute.list_volume_attachments.command_name', 'list'), help=u"""Lists the volume attachments in the specified compartment. You can filter the list by specifying an instance OCID, volume OCID, or both.
Currently, the only supported volume attachment type are [IScsiVolumeAttachment] and [ParavirtualizedVolumeAttachment]. \n[Command Reference](listVolumeAttachments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -11171,8 +11171,8 @@ def list_vnic_attachments(ctx, from_json, all_pages, page_size, compartment_id,
Example: `50`""")
@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].""")
-@cli_util.option('--instance-id', help=u"""The OCID of the instance.""")
-@cli_util.option('--volume-id', help=u"""The OCID of the volume.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The OCID of the instance.""")
+@cli_util.option('--volume-id', type=custom_types.CLI_OCID, help=u"""The OCID of the volume.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -11223,7 +11223,7 @@ def list_volume_attachments(ctx, from_json, all_pages, page_size, compartment_id
@image_shape_compatibility_entry_group.command(name=cli_util.override('compute.remove_image_shape_compatibility_entry.command_name', 'remove'), help=u"""Removes a shape from the compatible shapes list for the image. \n[Command Reference](removeImageShapeCompatibilityEntry)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@cli_util.option('--shape-name', required=True, help=u"""Shape name.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -11256,7 +11256,7 @@ def remove_image_shape_compatibility_entry(ctx, from_json, image_id, shape_name)
To preserve data volumes created with the instance, specify `true` or do not specify a value for `PreserveDataVolumesQueryParam`. To delete the data volumes when the instance itself is deleted, specify `false` for `PreserveDataVolumesQueryParam`.
This is an asynchronous operation. The instance's `lifecycleState` changes to TERMINATING temporarily until the instance is completely deleted. After the instance is deleted, the record remains visible in the list of instances with the state TERMINATED for at least 12 hours, but no further action is needed. \n[Command Reference](terminateInstance)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@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.""")
@cli_util.option('--preserve-boot-volume', type=click.BOOL, help=u"""Specifies whether to delete or preserve the boot volume when terminating an instance. When set to `true`, the boot volume is preserved. The default value is `false`.""")
@cli_util.option('--preserve-data-volumes-created-at-launch', type=click.BOOL, help=u"""Specifies whether to delete or preserve the data volumes created during launch when terminating an instance. When set to `true`, the data volumes are preserved. The default value is `true`.""")
@@ -11328,7 +11328,7 @@ def terminate_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@compute_capacity_reservation_group.command(name=cli_util.override('compute.update_compute_capacity_reservation.command_name', 'update'), help=u"""Updates the specified capacity reservation and its associated capacity configurations. Fields that are not provided in the request will not be updated. Capacity configurations that are not included will be deleted. Avoid entering confidential information. \n[Command Reference](updateComputeCapacityReservation)""")
-@cli_util.option('--capacity-reservation-id', required=True, help=u"""The OCID of the compute capacity reservation.""")
+@cli_util.option('--capacity-reservation-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -11615,7 +11615,7 @@ def update_compute_capacity_topology_update_dedicated_capacity_source_details(ct
To create instances within a compute cluster, use the [LaunchInstance] operation.
To delete instances from a compute cluster, use the [TerminateInstance] operation. \n[Command Reference](updateComputeCluster)""")
-@cli_util.option('--compute-cluster-id', required=True, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
+@cli_util.option('--compute-cluster-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compute cluster. A [compute cluster] is a remote direct memory access (RDMA) network group.""")
@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.""")
@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].
@@ -11692,7 +11692,7 @@ def update_compute_cluster(ctx, from_json, force, wait_for_state, max_wait_secon
@compute_gpu_memory_cluster_group.command(name=cli_util.override('compute.update_compute_gpu_memory_cluster.command_name', 'update'), help=u"""Updates a compute gpu memory cluster resource. \n[Command Reference](updateComputeGpuMemoryCluster)""")
@cli_util.option('--compute-gpu-memory-cluster-id', required=True, help=u"""The OCID of the compute GPU memory cluster.""")
-@cli_util.option('--instance-configuration-id', help=u"""Instance Configuration to be used for this GPU Memory Cluster""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""Instance Configuration to be used for this GPU Memory Cluster""")
@cli_util.option('--size', type=click.INT, help=u"""The number of instances currently running in the GpuMemoryCluster""")
@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].
@@ -12185,7 +12185,7 @@ def update_console_history(ctx, from_json, force, wait_for_state, max_wait_secon
@dedicated_vm_host_group.command(name=cli_util.override('compute.update_dedicated_vm_host.command_name', 'update'), help=u"""Updates the displayName, freeformTags, and definedTags attributes for the specified dedicated virtual machine host. If an attribute value is not included, it will not be updated. \n[Command Reference](updateDedicatedVmHost)""")
-@cli_util.option('--dedicated-vm-host-id', required=True, help=u"""The OCID of the dedicated VM host.""")
+@cli_util.option('--dedicated-vm-host-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated VM host.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12261,7 +12261,7 @@ def update_dedicated_vm_host(ctx, from_json, force, wait_for_state, max_wait_sec
@image_group.command(name=cli_util.override('compute.update_image.command_name', 'update'), help=u"""Updates the display name of the image. Avoid entering confidential information. \n[Command Reference](updateImage)""")
-@cli_util.option('--image-id', required=True, help=u"""The [OCID] of the image.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the image.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12352,9 +12352,9 @@ def update_image(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_i
Changes to metadata fields will be reflected in the instance metadata service (this may take up to a minute).
The OCID of the instance remains the same. \n[Command Reference](updateInstance)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12411,7 +12411,7 @@ def update_image(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_i
For more information, see [Infrastructure Maintenance].
Example: `2018-05-25T21:10:29.600Z`""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of liscensing configurations with target update values.
@@ -12541,10 +12541,10 @@ def update_instance(ctx, from_json, force, wait_for_state, max_wait_seconds, wai
Changes to metadata fields will be reflected in the instance metadata service (this may take up to a minute).
The OCID of the instance remains the same. \n[Command Reference](updateInstance)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--source-details-boot-volume-id', required=True, help=u"""The OCID of the boot volume used to boot the instance.""")
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12600,7 +12600,7 @@ def update_instance(ctx, from_json, force, wait_for_state, max_wait_seconds, wai
For more information, see [Infrastructure Maintenance].
Example: `2018-05-25T21:10:29.600Z`""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of liscensing configurations with target update values.
@@ -12735,10 +12735,10 @@ def update_instance_update_instance_source_via_boot_volume_details(ctx, from_jso
Changes to metadata fields will be reflected in the instance metadata service (this may take up to a minute).
The OCID of the instance remains the same. \n[Command Reference](updateInstance)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--source-details-image-id', required=True, help=u"""The OCID of the image used to boot the instance.""")
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12794,7 +12794,7 @@ def update_instance_update_instance_source_via_boot_volume_details(ctx, from_jso
For more information, see [Infrastructure Maintenance].
Example: `2018-05-25T21:10:29.600Z`""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
@cli_util.option('--platform-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of liscensing configurations with target update values.
@@ -12937,9 +12937,9 @@ def update_instance_update_instance_source_via_image_details(ctx, from_json, for
Changes to metadata fields will be reflected in the instance metadata service (this may take up to a minute).
The OCID of the instance remains the same. \n[Command Reference](updateInstance)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12996,7 +12996,7 @@ def update_instance_update_instance_source_via_image_details(ctx, from_json, for
For more information, see [Infrastructure Maintenance].
Example: `2018-05-25T21:10:29.600Z`""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of liscensing configurations with target update values.
This option is a JSON list with items of type UpdateInstanceLicensingConfig. For documentation on UpdateInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/UpdateInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -13131,9 +13131,9 @@ def update_instance_amd_vm_update_instance_platform_config(ctx, from_json, force
Changes to metadata fields will be reflected in the instance metadata service (this may take up to a minute).
The OCID of the instance remains the same. \n[Command Reference](updateInstance)""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--is-ai-enterprise-enabled', type=click.BOOL, help=u"""Whether to enable AI enterprise on the instance.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compute capacity reservation this instance is launched under. You can remove the instance from a reservation by specifying an empty string as input for this field. For more information, see [Capacity Reservations].""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -13190,7 +13190,7 @@ def update_instance_amd_vm_update_instance_platform_config(ctx, from_json, force
For more information, see [Infrastructure Maintenance].
Example: `2018-05-25T21:10:29.600Z`""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--dedicated-vm-host-id', help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
+@cli_util.option('--dedicated-vm-host-id', type=custom_types.CLI_OCID, help=u"""The OCID of the dedicated virtual machine host to place the instance on. Supported only if this VM instance was already placed on a dedicated virtual machine host - that is, you can't move an instance from on-demand capacity to dedicated capacity, nor can you move an instance from dedicated capacity to on-demand capacity.""")
@cli_util.option('--licensing-configs', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of liscensing configurations with target update values.
This option is a JSON list with items of type UpdateInstanceLicensingConfig. For documentation on UpdateInstanceLicensingConfig please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/UpdateInstanceLicensingConfig.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py b/services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py
index 157eb1ca..bd99a6ec 100644
--- a/services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py
+++ b/services/core/src/oci_cli_compute_management/generated/computemanagement_cli.py
@@ -87,7 +87,7 @@ def instance_pool_instance_group():
@instance_pool_instance_group.command(name=cli_util.override('compute_management.attach_instance_pool_instance.command_name', 'attach'), help=u"""Attaches an instance to an instance pool. For information about the prerequisites that an instance must meet before you can attach it to a pool, see [Attaching an Instance to an Instance Pool]. \n[Command Reference](attachInstancePoolInstance)""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ATTACHING", "ACTIVE", "DETACHING", "TERMINATION_AWAIT", "TERMINATION_PROCEED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -140,7 +140,7 @@ def attach_instance_pool_instance(ctx, from_json, wait_for_state, max_wait_secon
@instance_pool_group.command(name=cli_util.override('compute_management.attach_load_balancer.command_name', 'attach'), help=u"""Attach a load balancer to the instance pool. \n[Command Reference](attachLoadBalancer)""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to attach to the instance pool.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to attach to the instance pool.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set on the load balancer to add instances to.""")
@cli_util.option('--port', required=True, type=click.INT, help=u"""The port value to use when creating the backend set.""")
@cli_util.option('--vnic-selection', required=True, help=u"""Indicates which VNIC on each instance in the pool should be used to associate with the load balancer. Possible values are \"PrimaryVnic\" or the displayName of one of the secondary VNICs on the instance configuration that is associated with the instance pool.""")
@@ -204,7 +204,7 @@ def attach_load_balancer(ctx, from_json, wait_for_state, max_wait_seconds, wait_
When you move a cluster network to a different compartment, associated resources such as the instances in the cluster network, boot volumes, and VNICs are not moved. \n[Command Reference](changeClusterNetworkCompartment)""")
@cli_util.option('--cluster-network-id', required=True, help=u"""The [OCID] of the cluster network.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -238,8 +238,8 @@ def change_cluster_network_compartment(ctx, from_json, cluster_network_id, compa
When you move an instance configuration to a different compartment, associated resources such as instance pools are not moved.
**Important:** Most of the properties for an existing instance configuration, including the compartment, cannot be modified after you create the instance configuration. Although you can move an instance configuration to a different compartment, you will not be able to use the instance configuration to manage instance pools in the new compartment. If you want to update an instance configuration to point to a different compartment, you should instead create a new instance configuration in the target compartment using [CreateInstanceConfiguration]. \n[Command Reference](changeInstanceConfigurationCompartment)""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the instance configuration to.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the instance configuration to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -272,7 +272,7 @@ def change_instance_configuration_compartment(ctx, from_json, instance_configura
When you move an instance pool to a different compartment, associated resources such as the instances in the pool, boot volumes, VNICs, and autoscaling configurations are not moved. \n[Command Reference](changeInstancePoolCompartment)""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the instance pool to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the instance pool to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -308,7 +308,7 @@ def change_instance_pool_compartment(ctx, from_json, instance_pool_id, compartme
If you want to manage instances in the RDMA network independently of each other or use different types of instances in the network group, create a compute cluster by using the [CreateComputeCluster] operation.
To determine whether capacity is available for a specific shape before you create a cluster network, use the [CreateComputeCapacityReport] operation. \n[Command Reference](createClusterNetwork)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the cluster network.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the cluster network.""")
@cli_util.option('--instance-pools', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The data to create the instance pools in the cluster network.
Each cluster network can have one instance pool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -382,7 +382,7 @@ def create_cluster_network(ctx, from_json, wait_for_state, max_wait_seconds, wai
@instance_configuration_group.command(name=cli_util.override('compute_management.create_instance_configuration.command_name', 'create'), help=u"""Creates an instance configuration. An instance configuration is a template that defines the settings to use when creating Compute instances. \n[Command Reference](createInstanceConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the instance configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the instance configuration.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -434,7 +434,7 @@ def create_instance_configuration(ctx, from_json, compartment_id, defined_tags,
@instance_configuration_group.command(name=cli_util.override('compute_management.create_instance_configuration_create_instance_configuration_details.command_name', 'create-instance-configuration-create-instance-configuration-details'), help=u"""Creates an instance configuration. An instance configuration is a template that defines the settings to use when creating Compute instances. \n[Command Reference](createInstanceConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the instance configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the instance configuration.""")
@cli_util.option('--instance-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -476,8 +476,8 @@ def create_instance_configuration_create_instance_configuration_details(ctx, fro
@instance_configuration_group.command(name=cli_util.override('compute_management.create_instance_configuration_create_instance_configuration_from_instance_details.command_name', 'create-instance-configuration-create-instance-configuration-from-instance-details'), help=u"""Creates an instance configuration. An instance configuration is a template that defines the settings to use when creating Compute instances. \n[Command Reference](createInstanceConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the instance configuration.""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance to use to create the instance configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the instance configuration.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance to use to create the instance configuration.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -520,8 +520,8 @@ def create_instance_configuration_create_instance_configuration_from_instance_de
@instance_pool_group.command(name=cli_util.override('compute_management.create_instance_pool.command_name', 'create'), help=u"""Creates an instance pool.
To determine whether capacity is available for a specific shape before you create an instance pool, use the [CreateComputeCapacityReport] operation. \n[Command Reference](createInstancePool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the instance pool.""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The [OCID] of the instance configuration associated with the instance pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the instance pool.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance configuration associated with the instance pool.""")
@cli_util.option('--placement-configurations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The placement configurations for the instance pool. Provide one placement configuration for each availability domain.
To use the instance pool with a regional subnet, provide a placement configuration for each availability domain, and include the regional subnet in each placement configuration. To use compute cluster with instance pool, provide a single placement configuration.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -610,7 +610,7 @@ def create_instance_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@instance_configuration_group.command(name=cli_util.override('compute_management.delete_instance_configuration.command_name', 'delete'), help=u"""Deletes an instance configuration. \n[Command Reference](deleteInstanceConfiguration)""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance configuration.""")
@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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -636,7 +636,7 @@ def delete_instance_configuration(ctx, from_json, instance_configuration_id, if_
@instance_pool_instance_group.command(name=cli_util.override('compute_management.detach_instance_pool_instance.command_name', 'detach'), help=u"""Detaches an instance from an instance pool. \n[Command Reference](detachInstancePoolInstance)""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@cli_util.option('--is-decrement-size', type=click.BOOL, help=u"""Whether to decrease the size of the instance pool when the instance is detached. If `true`, the pool size is decreased. If `false`, the pool will provision a new, replacement instance using the pool's instance configuration as a template. Default is `true`.""")
@cli_util.option('--is-auto-terminate', type=click.BOOL, help=u"""Whether to permanently terminate (delete) the instance and its attached boot volume when detaching it from the instance pool. Default is `false`.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -709,7 +709,7 @@ def detach_instance_pool_instance(ctx, from_json, wait_for_state, max_wait_secon
@instance_pool_group.command(name=cli_util.override('compute_management.detach_load_balancer.command_name', 'detach'), help=u"""Detach a load balancer from the instance pool. \n[Command Reference](detachLoadBalancer)""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The OCID of the load balancer to detach from the instance pool.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the load balancer to detach from the instance pool.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set on the load balancer to detach from the instance pool.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "SCALING", "STARTING", "STOPPING", "TERMINATING", "STOPPED", "TERMINATED", "RUNNING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -787,7 +787,7 @@ def get_cluster_network(ctx, from_json, cluster_network_id):
@instance_configuration_group.command(name=cli_util.override('compute_management.get_instance_configuration.command_name', 'get'), help=u"""Gets the specified instance configuration \n[Command Reference](getInstanceConfiguration)""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance configuration.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -830,7 +830,7 @@ def get_instance_pool(ctx, from_json, instance_pool_id):
@instance_pool_instance_group.command(name=cli_util.override('compute_management.get_instance_pool_instance.command_name', 'get'), help=u"""Gets information about an instance that belongs to an instance pool. \n[Command Reference](getInstancePoolInstance)""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -885,7 +885,7 @@ def get_instance_pool_load_balancer_attachment(ctx, from_json, instance_pool_id,
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource.
To determine whether capacity is available for a specific shape before you create an instance, use the [CreateComputeCapacityReport] operation. \n[Command Reference](launchInstanceConfiguration)""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance configuration.""")
@cli_util.option('--instance-type', required=True, help=u"""The type of instance details. Supported instanceType is compute""")
@cli_util.option('--opc-compute-cluster-id', help=u"""The [OCID] of the [compute cluster] that the instance will be created in.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -919,7 +919,7 @@ def launch_instance_configuration(ctx, from_json, instance_configuration_id, ins
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource.
To determine whether capacity is available for a specific shape before you create an instance, use the [CreateComputeCapacityReport] operation. \n[Command Reference](launchInstanceConfiguration)""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance configuration.""")
@cli_util.option('--options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The Compute Instance Configuration parameters.
This option is a JSON list with items of type ComputeInstanceDetails. For documentation on ComputeInstanceDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/ComputeInstanceDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -959,7 +959,7 @@ def launch_instance_configuration_compute_instance_options(ctx, from_json, insta
If the instance configuration does not include all of the parameters that are required to create an instance, such as the availability domain and subnet ID, you must provide these parameters when you create an instance from the instance configuration. For more information, see the [InstanceConfiguration] resource.
To determine whether capacity is available for a specific shape before you create an instance, use the [CreateComputeCapacityReport] operation. \n[Command Reference](launchInstanceConfiguration)""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance configuration.""")
@cli_util.option('--block-volumes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Block volume parameters.
This option is a JSON list with items of type InstanceConfigurationBlockVolumeDetails. For documentation on InstanceConfigurationBlockVolumeDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/iaas/20160918/datatypes/InstanceConfigurationBlockVolumeDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1005,7 +1005,7 @@ def launch_instance_configuration_compute_instance_details(ctx, from_json, insta
@cluster_network_group.command(name=cli_util.override('compute_management.list_cluster_network_instances.command_name', 'list-cluster-network-instances'), help=u"""Lists the instances in a [cluster network with instance pools]. \n[Command Reference](listClusterNetworkInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cluster-network-id', required=True, help=u"""The [OCID] of the cluster network.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].
@@ -1072,7 +1072,7 @@ def list_cluster_network_instances(ctx, from_json, all_pages, page_size, compart
@cluster_network_group.command(name=cli_util.override('compute_management.list_cluster_networks.command_name', 'list'), help=u"""Lists the [cluster networks with instance pools] in the specified compartment. \n[Command Reference](listClusterNetworks)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].
@@ -1135,7 +1135,7 @@ def list_cluster_networks(ctx, from_json, all_pages, page_size, compartment_id,
@instance_configuration_group.command(name=cli_util.override('compute_management.list_instance_configurations.command_name', 'list'), help=u"""Lists the instance configurations in the specified compartment. \n[Command Reference](listInstanceConfigurations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -1192,7 +1192,7 @@ def list_instance_configurations(ctx, from_json, all_pages, page_size, compartme
@instance_group.command(name=cli_util.override('compute_management.list_instance_pool_instances.command_name', 'list-instance-pool-instances'), help=u"""List the instances in the specified instance pool. \n[Command Reference](listInstancePoolInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].
@@ -1259,7 +1259,7 @@ def list_instance_pool_instances(ctx, from_json, all_pages, page_size, compartme
@instance_pool_group.command(name=cli_util.override('compute_management.list_instance_pools.command_name', 'list'), help=u"""Lists the instance pools in the specified compartment. \n[Command Reference](listInstancePools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].
@@ -1702,7 +1702,7 @@ def terminate_instance_pool(ctx, from_json, wait_for_state, max_wait_seconds, wa
@instance_pool_instance_group.command(name=cli_util.override('compute_management.termination_proceed_instance_pool_instance.command_name', 'termination-proceed'), help=u"""Marks an instance in an instance pool to be ready for termination. \n[Command Reference](terminationProceedInstancePoolInstance)""")
@cli_util.option('--instance-pool-id', required=True, help=u"""The [OCID] of the instance pool.""")
-@cli_util.option('--instance-id', required=True, help=u"""The [OCID] of the instance.""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1809,7 +1809,7 @@ def update_cluster_network(ctx, from_json, force, wait_for_state, max_wait_secon
@instance_configuration_group.command(name=cli_util.override('compute_management.update_instance_configuration.command_name', 'update'), help=u"""Updates the free-form tags, defined tags, and display name of an instance configuration. \n[Command Reference](updateInstanceConfiguration)""")
-@cli_util.option('--instance-configuration-id', required=True, help=u"""The OCID of the instance configuration.""")
+@cli_util.option('--instance-configuration-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the instance configuration.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1868,7 +1868,7 @@ def update_instance_configuration(ctx, from_json, force, instance_configuration_
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--instance-configuration-id', help=u"""The [OCID] of the instance configuration associated with the instance pool.""")
+@cli_util.option('--instance-configuration-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the instance configuration associated with the instance pool.""")
@cli_util.option('--placement-configurations', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The placement configurations for the instance pool. Provide one placement configuration for each availability domain.
To use the instance pool with a regional subnet, provide a placement configuration for each availability domain, and include the regional subnet in each placement configuration.
diff --git a/services/core/src/oci_cli_virtual_network/generated/virtualnetwork_cli.py b/services/core/src/oci_cli_virtual_network/generated/virtualnetwork_cli.py
index 10d2088d..8243261d 100644
--- a/services/core/src/oci_cli_virtual_network/generated/virtualnetwork_cli.py
+++ b/services/core/src/oci_cli_virtual_network/generated/virtualnetwork_cli.py
@@ -694,7 +694,7 @@ def add_drg_route_rules(ctx, from_json, drg_route_table_id, route_rules):
@subnet_group.command(name=cli_util.override('virtual_network.add_ipv4_subnet_cidr.command_name', 'add'), help=u"""Add an IPv4 prefix to a subnet. \n[Command Reference](addIpv4SubnetCidr)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@cli_util.option('--ipv4-cidr-block', required=True, help=u"""The CIDR IP address range of the subnet. The CIDR must maintain the following rules -
a. The CIDR block is valid and correctly formatted. b. The new range is within one of the parent VCN ranges.
@@ -767,7 +767,7 @@ def add_ipv4_subnet_cidr(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@subnet_group.command(name=cli_util.override('virtual_network.add_ipv6_subnet_cidr.command_name', 'add'), help=u"""Add an IPv6 prefix to a subnet. \n[Command Reference](addIpv6SubnetCidr)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@cli_util.option('--ipv6-cidr-block', required=True, help=u"""This field is not required and should only be specified when adding an IPv6 prefix to a subnet's IPv6 address space. See[IPv6 Addresses].
Example: `2001:0db8:0123::/64`""")
@@ -838,7 +838,7 @@ def add_ipv6_subnet_cidr(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@vcn_group.command(name=cli_util.override('virtual_network.add_ipv6_vcn_cidr.command_name', 'add'), help=u"""Add an IPv6 prefix to a VCN. The VCN size is always /56 and assigned by Oracle. Once added the IPv6 prefix cannot be removed or modified. \n[Command Reference](addIpv6VcnCidr)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@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.""")
@cli_util.option('--ipv6-private-cidr-block', help=u"""This field is not required and should only be specified if a ULA or private IPv6 prefix is desired for VCN's private IP address space. See[IPv6 Addresses].
@@ -1012,7 +1012,7 @@ def add_public_ip_pool_capacity(ctx, from_json, wait_for_state, max_wait_seconds
- Must be valid. - Must not overlap with another CIDR block in the VCN, a CIDR block of a peered VCN, or the on-premises network CIDR block. - Must not exceed the limit of CIDR blocks allowed per VCN.
**Note:** Adding a CIDR block places your VCN in an updating state until the changes are complete. You cannot create or update the VCN's subnets, VLANs, LPGs, or route tables during this operation. The time to completion can take a few minutes. You can use the `GetWorkRequest` operation to check the status of the update. \n[Command Reference](addVcnCidr)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@cli_util.option('--cidr-block', required=True, help=u"""The CIDR block to add.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1105,7 +1105,7 @@ def advertise_byoip_range(ctx, from_json, byoip_range_id):
@service_gateway_group.command(name=cli_util.override('virtual_network.attach_service_id.command_name', 'attach'), help=u"""Adds the specified [Service] to the list of enabled `Service` objects for the specified gateway. You must also set up a route rule with the `cidrBlock` of the `Service` as the rule's destination and the service gateway as the rule's target. See [Route Table].
**Note:** The `AttachServiceId` operation is an easy way to add an individual `Service` to the service gateway. Compare it with [UpdateServiceGateway], which replaces the entire existing list of enabled `Service` objects with the list that you provide in the `Update` call. \n[Command Reference](attachServiceId)""")
-@cli_util.option('--service-gateway-id', required=True, help=u"""The service gateway's [OCID].""")
+@cli_util.option('--service-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The service gateway's [OCID].""")
@cli_util.option('--service-id', required=True, help=u"""The [OCID] of the [Service].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -1161,7 +1161,7 @@ def attach_service_id(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@virtual_circuit_public_prefix_group.command(name=cli_util.override('virtual_network.bulk_add_virtual_circuit_public_prefixes.command_name', 'bulk-add'), help=u"""Adds one or more customer public IP prefixes to the specified public virtual circuit. Use this operation (and not [UpdateVirtualCircuit]) to add prefixes to the virtual circuit. Oracle must verify the customer's ownership of each prefix before traffic for that prefix will flow across the virtual circuit. \n[Command Reference](bulkAddVirtualCircuitPublicPrefixes)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@cli_util.option('--public-prefixes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The public IP prefixes (CIDRs) to add to the public virtual circuit.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'public-prefixes': {'module': 'core', 'class': 'list[CreateVirtualCircuitPublicPrefixDetails]'}})
@cli_util.help_option
@@ -1188,7 +1188,7 @@ def bulk_add_virtual_circuit_public_prefixes(ctx, from_json, virtual_circuit_id,
@virtual_circuit_public_prefix_group.command(name=cli_util.override('virtual_network.bulk_delete_virtual_circuit_public_prefixes.command_name', 'bulk-delete'), help=u"""Removes one or more customer public IP prefixes from the specified public virtual circuit. Use this operation (and not [UpdateVirtualCircuit]) to remove prefixes from the virtual circuit. When the virtual circuit's state switches back to PROVISIONED, Oracle stops advertising the specified prefixes across the connection. \n[Command Reference](bulkDeleteVirtualCircuitPublicPrefixes)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@cli_util.option('--public-prefixes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The public IP prefixes (CIDRs) to remove from the public virtual circuit.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'public-prefixes': {'module': 'core', 'class': 'list[DeleteVirtualCircuitPublicPrefixDetails]'}})
@cli_util.help_option
@@ -1216,7 +1216,7 @@ def bulk_delete_virtual_circuit_public_prefixes(ctx, from_json, virtual_circuit_
@byoasn_group.command(name=cli_util.override('virtual_network.change_byoasn_compartment.command_name', 'change-compartment'), help=u"""Moves a BYOASN Resource to a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeByoasnCompartment)""")
@cli_util.option('--byoasn-id', required=True, help=u"""The [OCID] of the `Byoasn` resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the destination compartment for the BYOASN resource move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the destination compartment for the BYOASN resource move.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1247,7 +1247,7 @@ def change_byoasn_compartment(ctx, from_json, byoasn_id, compartment_id, if_matc
@byoip_range_group.command(name=cli_util.override('virtual_network.change_byoip_range_compartment.command_name', 'change-compartment'), help=u"""Moves a BYOIP CIDR block to a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeByoipRangeCompartment)""")
@cli_util.option('--byoip-range-id', required=True, help=u"""The [OCID] of the `ByoipRange` resource containing the BYOIP CIDR block.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the destination compartment for the BYOIP CIDR block move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the destination compartment for the BYOIP CIDR block move.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1275,7 +1275,7 @@ def change_byoip_range_compartment(ctx, from_json, byoip_range_id, compartment_i
@capture_filter_group.command(name=cli_util.override('virtual_network.change_capture_filter_compartment.command_name', 'change-compartment'), help=u"""Moves a capture filter to a new compartment in the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeCaptureFilterCompartment)""")
@cli_util.option('--capture-filter-id', required=True, help=u"""The [OCID] of the capture filter.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the destination compartment for the VTAP capture filter move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the destination compartment for the VTAP capture filter move.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1343,8 +1343,8 @@ def change_capture_filter_compartment(ctx, from_json, wait_for_state, max_wait_s
@cpe_group.command(name=cli_util.override('virtual_network.change_cpe_compartment.command_name', 'change-compartment'), help=u"""Moves a CPE object 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](changeCpeCompartment)""")
-@cli_util.option('--cpe-id', required=True, help=u"""The [OCID] of the CPE.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the CPE object to.""")
+@cli_util.option('--cpe-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the CPE.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the CPE object to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1371,8 +1371,8 @@ def change_cpe_compartment(ctx, from_json, cpe_id, compartment_id):
@cross_connect_group.command(name=cli_util.override('virtual_network.change_cross_connect_compartment.command_name', 'change-compartment'), help=u"""Moves a cross-connect 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](changeCrossConnectCompartment)""")
-@cli_util.option('--cross-connect-id', required=True, help=u"""The [OCID] of the cross-connect.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the cross-connect to.""")
+@cli_util.option('--cross-connect-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the cross-connect to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1399,8 +1399,8 @@ def change_cross_connect_compartment(ctx, from_json, cross_connect_id, compartme
@cross_connect_group_group.command(name=cli_util.override('virtual_network.change_cross_connect_group_compartment.command_name', 'change-compartment'), help=u"""Moves a cross-connect group 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](changeCrossConnectGroupCompartment)""")
-@cli_util.option('--cross-connect-group-id', required=True, help=u"""The [OCID] of the cross-connect group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the cross-connect group to.""")
+@cli_util.option('--cross-connect-group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the cross-connect group to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1428,7 +1428,7 @@ def change_cross_connect_group_compartment(ctx, from_json, cross_connect_group_i
@dhcp_options_group.command(name=cli_util.override('virtual_network.change_dhcp_options_compartment.command_name', 'change-compartment'), help=u"""Moves a set of DHCP options 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](changeDhcpOptionsCompartment)""")
@cli_util.option('--dhcp-id', required=True, help=u"""The [OCID] for the set of DHCP options.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the set of DHCP options to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the set of DHCP options to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1455,8 +1455,8 @@ def change_dhcp_options_compartment(ctx, from_json, dhcp_id, compartment_id):
@drg_group.command(name=cli_util.override('virtual_network.change_drg_compartment.command_name', 'change-compartment'), help=u"""Moves a DRG 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](changeDrgCompartment)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the DRG to.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the DRG to.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@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.""")
@@ -1522,7 +1522,7 @@ def change_drg_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wai
@internet_gateway_group.command(name=cli_util.override('virtual_network.change_internet_gateway_compartment.command_name', 'change-compartment'), help=u"""Moves an internet gateway 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](changeInternetGatewayCompartment)""")
@cli_util.option('--ig-id', required=True, help=u"""The [OCID] of the internet gateway.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the internet gateway to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the internet gateway to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1550,7 +1550,7 @@ def change_internet_gateway_compartment(ctx, from_json, ig_id, compartment_id):
@ip_sec_connection_group.command(name=cli_util.override('virtual_network.change_ip_sec_connection_compartment.command_name', 'change-compartment'), help=u"""Moves an IPSec connection 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](changeIPSecConnectionCompartment)""")
@cli_util.option('--ipsc-id', required=True, help=u"""The [OCID] of the IPSec connection.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the IPSec connection to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the IPSec connection to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1577,8 +1577,8 @@ def change_ip_sec_connection_compartment(ctx, from_json, ipsc_id, compartment_id
@local_peering_gateway_group.command(name=cli_util.override('virtual_network.change_local_peering_gateway_compartment.command_name', 'change-compartment'), help=u"""Moves a local peering gateway 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](changeLocalPeeringGatewayCompartment)""")
-@cli_util.option('--local-peering-gateway-id', required=True, help=u"""The [OCID] of the local peering gateway.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the local peering gateway to.""")
+@cli_util.option('--local-peering-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the local peering gateway.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the local peering gateway to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1605,8 +1605,8 @@ def change_local_peering_gateway_compartment(ctx, from_json, local_peering_gatew
@nat_gateway_group.command(name=cli_util.override('virtual_network.change_nat_gateway_compartment.command_name', 'change-compartment'), help=u"""Moves a NAT gateway 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](changeNatGatewayCompartment)""")
-@cli_util.option('--nat-gateway-id', required=True, help=u"""The NAT gateway's [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the NAT gateway to.""")
+@cli_util.option('--nat-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The NAT gateway's [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the NAT gateway to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1634,7 +1634,7 @@ def change_nat_gateway_compartment(ctx, from_json, nat_gateway_id, compartment_i
@network_security_group_group.command(name=cli_util.override('virtual_network.change_network_security_group_compartment.command_name', 'change-compartment'), help=u"""Moves a network security group 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](changeNetworkSecurityGroupCompartment)""")
@cli_util.option('--network-security-group-id', required=True, help=u"""The [OCID] of the network security group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the network security group to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the network security group to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1664,7 +1664,7 @@ def change_network_security_group_compartment(ctx, from_json, network_security_g
This operation applies only to reserved public IPs. Ephemeral public IPs always belong to the same compartment as their VNIC and move accordingly. \n[Command Reference](changePublicIpCompartment)""")
@cli_util.option('--public-ip-id', required=True, help=u"""The [OCID] of the public IP.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the public IP to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the public IP to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1692,7 +1692,7 @@ def change_public_ip_compartment(ctx, from_json, public_ip_id, compartment_id):
@public_ip_pool_group.command(name=cli_util.override('virtual_network.change_public_ip_pool_compartment.command_name', 'change-compartment'), help=u"""Moves a public IP pool to a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changePublicIpPoolCompartment)""")
@cli_util.option('--public-ip-pool-id', required=True, help=u"""The [OCID] of the public IP pool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the destination compartment for the public IP pool move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the destination compartment for the public IP pool move.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1719,8 +1719,8 @@ def change_public_ip_pool_compartment(ctx, from_json, public_ip_pool_id, compart
@remote_peering_connection_group.command(name=cli_util.override('virtual_network.change_remote_peering_connection_compartment.command_name', 'change-compartment'), help=u"""Moves a remote peering connection (RPC) 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](changeRemotePeeringConnectionCompartment)""")
-@cli_util.option('--remote-peering-connection-id', required=True, help=u"""The [OCID] of the remote peering connection (RPC).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the remote peering connection to.""")
+@cli_util.option('--remote-peering-connection-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the remote peering connection (RPC).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the remote peering connection to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1748,7 +1748,7 @@ def change_remote_peering_connection_compartment(ctx, from_json, remote_peering_
@route_table_group.command(name=cli_util.override('virtual_network.change_route_table_compartment.command_name', 'change-compartment'), help=u"""Moves a route table 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](changeRouteTableCompartment)""")
@cli_util.option('--rt-id', required=True, help=u"""The [OCID] of the route table.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the route table to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the route table to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1775,8 +1775,8 @@ def change_route_table_compartment(ctx, from_json, rt_id, compartment_id):
@security_list_group.command(name=cli_util.override('virtual_network.change_security_list_compartment.command_name', 'change-compartment'), help=u"""Moves a security list 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](changeSecurityListCompartment)""")
-@cli_util.option('--security-list-id', required=True, help=u"""The [OCID] of the security list.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the security list to.""")
+@cli_util.option('--security-list-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the security list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the security list to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1803,8 +1803,8 @@ def change_security_list_compartment(ctx, from_json, security_list_id, compartme
@service_gateway_group.command(name=cli_util.override('virtual_network.change_service_gateway_compartment.command_name', 'change-compartment'), help=u"""Moves a service gateway 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](changeServiceGatewayCompartment)""")
-@cli_util.option('--service-gateway-id', required=True, help=u"""The service gateway's [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the service gateway to.""")
+@cli_util.option('--service-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The service gateway's [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the service gateway to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1831,8 +1831,8 @@ def change_service_gateway_compartment(ctx, from_json, service_gateway_id, compa
@subnet_group.command(name=cli_util.override('virtual_network.change_subnet_compartment.command_name', 'change-compartment'), help=u"""Moves a subnet 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](changeSubnetCompartment)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the subnet to.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the subnet to.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@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.""")
@@ -1897,8 +1897,8 @@ def change_subnet_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@vcn_group.command(name=cli_util.override('virtual_network.change_vcn_compartment.command_name', 'change-compartment'), help=u"""Moves a VCN 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](changeVcnCompartment)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the VCN to.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the VCN to.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@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.""")
@@ -1963,8 +1963,8 @@ def change_vcn_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wai
@virtual_circuit_group.command(name=cli_util.override('virtual_network.change_virtual_circuit_compartment.command_name', 'change-compartment'), help=u"""Moves a virtual circuit 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](changeVirtualCircuitCompartment)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the virtual circuit to.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the virtual circuit to.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1992,7 +1992,7 @@ def change_virtual_circuit_compartment(ctx, from_json, virtual_circuit_id, compa
@vlan_group.command(name=cli_util.override('virtual_network.change_vlan_compartment.command_name', 'change-compartment'), help=u"""Moves a VLAN 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](changeVlanCompartment)""")
@cli_util.option('--vlan-id', required=True, help=u"""The [OCID] of the VLAN.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the VLAN to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the VLAN to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -2061,7 +2061,7 @@ def change_vlan_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wa
@vtap_group.command(name=cli_util.override('virtual_network.change_vtap_compartment.command_name', 'change-compartment'), help=u"""Moves a VTAP to a new compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeVtapCompartment)""")
@cli_util.option('--vtap-id', required=True, help=u"""The [OCID] of the VTAP.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the destination compartment for the VTAP move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the destination compartment for the VTAP move.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -2131,7 +2131,7 @@ def change_vtap_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wa
@local_peering_gateway_group.command(name=cli_util.override('virtual_network.connect_local_peering_gateways.command_name', 'connect'), help=u"""Connects this local peering gateway (LPG) to another one in the same region.
This operation must be called by the VCN administrator who is designated as the *requestor* in the peering relationship. The *acceptor* must implement an Identity and Access Management (IAM) policy that gives the requestor permission to connect to LPGs in the acceptor's compartment. Without that permission, this operation will fail. For more information, see [VCN Peering]. \n[Command Reference](connectLocalPeeringGateways)""")
-@cli_util.option('--local-peering-gateway-id', required=True, help=u"""The [OCID] of the local peering gateway.""")
+@cli_util.option('--local-peering-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the local peering gateway.""")
@cli_util.option('--peer-id', required=True, help=u"""The [OCID] of the LPG you want to peer with.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2160,7 +2160,7 @@ def connect_local_peering_gateways(ctx, from_json, local_peering_gateway_id, pee
@remote_peering_connection_group.command(name=cli_util.override('virtual_network.connect_remote_peering_connections.command_name', 'connect'), help=u"""Connects this RPC to another one in a different region.
This operation must be called by the VCN administrator who is designated as the *requestor* in the peering relationship. The *acceptor* must implement an Identity and Access Management (IAM) policy that gives the requestor permission to connect to RPCs in the acceptor's compartment. Without that permission, this operation will fail. For more information, see [VCN Peering]. \n[Command Reference](connectRemotePeeringConnections)""")
-@cli_util.option('--remote-peering-connection-id', required=True, help=u"""The [OCID] of the remote peering connection (RPC).""")
+@cli_util.option('--remote-peering-connection-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the remote peering connection (RPC).""")
@cli_util.option('--peer-id', required=True, help=u"""The [OCID] of the RPC you want to peer with.""")
@cli_util.option('--peer-region-name', required=True, help=u"""The name of the region that contains the RPC you want to peer with.
@@ -2192,7 +2192,7 @@ def connect_remote_peering_connections(ctx, from_json, remote_peering_connection
@byoasn_group.command(name=cli_util.override('virtual_network.create_byoasn.command_name', 'create'), help=u"""Creates a BYOASN Resource \n[Command Reference](createByoasn)""")
@cli_util.option('--asn', required=True, type=click.INT, help=u"""The Autonomous System Number (ASN) you are importing to the Oracle cloud.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the BYOASN Resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the BYOASN Resource.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@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].
@@ -2256,7 +2256,7 @@ def create_byoasn(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@byoip_range_group.command(name=cli_util.override('virtual_network.create_byoip_range.command_name', 'create'), help=u"""Creates a subrange of the BYOIP CIDR block. \n[Command Reference](createByoipRange)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the BYOIP CIDR block.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the BYOIP CIDR block.""")
@cli_util.option('--cidr-block', help=u"""The BYOIP CIDR block. You can assign some or all of it to a public IP pool after it is validated. Example: `10.0.1.0/24`""")
@cli_util.option('--ipv6-cidr-block', help=u"""The BYOIPv6 prefix. You can assign some or all of it to a VCN after it is validated.""")
@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].
@@ -2333,7 +2333,7 @@ def create_byoip_range(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
For the purposes of access control, you must provide the [OCID] of the compartment that contains the VTAP. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the VTAP, otherwise a default is provided. It does not have to be unique, and you can change it. \n[Command Reference](createCaptureFilter)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the capture filter.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the capture filter.""")
@cli_util.option('--filter-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["VTAP", "FLOWLOG"]), help=u"""Indicates which service will use this capture filter""")
@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].
@@ -2418,7 +2418,7 @@ def create_capture_filter(ctx, from_json, wait_for_state, max_wait_seconds, wait
You must provide the public IP address of your on-premises router. See [CPE Configuration].
You may optionally specify a *display name* for the CPE, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createCpe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the CPE.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the CPE.""")
@cli_util.option('--ip-address', required=True, help=u"""The public IP address of the on-premises router.
Example: `203.0.113.2`""")
@@ -2478,14 +2478,14 @@ def create_cpe(ctx, from_json, compartment_id, ip_address, defined_tags, display
For the purposes of access control, you must provide the [OCID] of the compartment where you want the cross-connect to reside. If you're not sure which compartment to use, put the cross-connect in the same compartment with your VCN. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the cross-connect. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createCrossConnect)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the cross-connect.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the cross-connect.""")
@cli_util.option('--location-name', required=True, help=u"""The name of the FastConnect location where this cross-connect will be installed. To get a list of the available locations, see [ListCrossConnectLocations].
Example: `CyrusOne, Chandler, AZ`""")
@cli_util.option('--port-speed-shape-name', required=True, help=u"""The port speed for this cross-connect. To get a list of the available port speeds, see [ListCrossConnectPortSpeedShapes].
Example: `10 Gbps`""")
-@cli_util.option('--cross-connect-group-id', help=u"""The [OCID] of the cross-connect group to put this cross-connect in.""")
+@cli_util.option('--cross-connect-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect group to put this cross-connect in.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2574,7 +2574,7 @@ def create_cross_connect(ctx, from_json, wait_for_state, max_wait_seconds, wait_
For the purposes of access control, you must provide the [OCID] of the compartment where you want the cross-connect group to reside. If you're not sure which compartment to use, put the cross-connect group in the same compartment with your VCN. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the cross-connect group. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createCrossConnectGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the cross-connect group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the cross-connect group.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2650,9 +2650,9 @@ def create_cross_connect_group(ctx, from_json, wait_for_state, max_wait_seconds,
For the purposes of access control, you must provide the [OCID] of the compartment where you want the set of DHCP options to reside. Notice that the set of options doesn't have to be in the same compartment as the VCN, subnets, or other Networking Service components. If you're not sure which compartment to use, put the set of DHCP options in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the set of DHCP options, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createDhcpOptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the set of DHCP options.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the set of DHCP options.""")
@cli_util.option('--options', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A set of DHCP options.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN the set of DHCP options belongs to.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN the set of DHCP options belongs to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2726,7 +2726,7 @@ def create_dhcp_options(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
For the purposes of access control, you must provide the [OCID] of the compartment where you want the DRG to reside. Notice that the DRG doesn't have to be in the same compartment as the VCN, the DRG attachment, or other Networking Service components. If you're not sure which compartment to use, put the DRG in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the DRG, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createDrg)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the DRG.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the DRG.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2794,7 +2794,7 @@ def create_drg(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
You may optionally specify a *display name* for the attachment, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.
For the purposes of access control, the DRG attachment is automatically placed into the currently selected compartment. For more information about compartments and access control, see [Overview of the IAM Service]. \n[Command Reference](createDrgAttachment)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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.""")
@cli_util.option('--drg-route-table-id', help=u"""The [OCID] of the DRG route table that is assigned to this attachment.
@@ -2806,12 +2806,12 @@ def create_drg(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table used by the DRG attachment.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table used by the DRG attachment.
If you don't specify a route table here, the DRG attachment is created without an associated route table. The Networking service does NOT automatically associate the attached VCN's default route table with the DRG attachment. For information about why you would associate a route table with a DRG attachment, see:
* [Transit Routing: Access to Multiple VCNs in Same Region] * [Transit Routing: Private Access to Oracle Services] This field is deprecated. Instead, use the networkDetails field to specify the VCN route table for this attachment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN. This field is deprecated. Instead, use the `networkDetails` field to specify the [OCID] of the attached resource.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN. This field is deprecated. Instead, use the `networkDetails` field to specify the [OCID] of the attached resource.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ATTACHING", "ATTACHED", "DETACHING", "DETACHED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -2884,7 +2884,7 @@ def create_drg_attachment(ctx, from_json, wait_for_state, max_wait_seconds, wait
You may optionally specify a *display name* for the attachment, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.
For the purposes of access control, the DRG attachment is automatically placed into the currently selected compartment. For more information about compartments and access control, see [Overview of the IAM Service]. \n[Command Reference](createDrgAttachment)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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.""")
@cli_util.option('--drg-route-table-id', help=u"""The [OCID] of the DRG route table that is assigned to this attachment.
@@ -2895,12 +2895,12 @@ def create_drg_attachment(ctx, from_json, wait_for_state, max_wait_seconds, wait
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table used by the DRG attachment.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table used by the DRG attachment.
If you don't specify a route table here, the DRG attachment is created without an associated route table. The Networking service does NOT automatically associate the attached VCN's default route table with the DRG attachment. For information about why you would associate a route table with a DRG attachment, see:
* [Transit Routing: Access to Multiple VCNs in Same Region] * [Transit Routing: Private Access to Oracle Services] This field is deprecated. Instead, use the networkDetails field to specify the VCN route table for this attachment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN. This field is deprecated. Instead, use the `networkDetails` field to specify the [OCID] of the attached resource.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN. This field is deprecated. Instead, use the `networkDetails` field to specify the [OCID] of the attached resource.""")
@cli_util.option('--network-details-id', help=u"""The [OCID] of the network attached to the DRG.""")
@cli_util.option('--network-details-route-table-id', help=u"""This is the [OCID] of the route table that is used to route the traffic as it enters a VCN through this attachment.
@@ -2985,7 +2985,7 @@ def create_drg_attachment_vcn_drg_attachment_network_create_details(ctx, from_js
@drg_route_distribution_group.command(name=cli_util.override('virtual_network.create_drg_route_distribution.command_name', 'create'), help=u"""Creates a new route distribution for the specified DRG. Assign the route distribution as an import distribution to a DRG route table using the `UpdateDrgRouteTable` or `CreateDrgRouteTable` operations. Assign the route distribution as an export distribution to a DRG attachment using the `UpdateDrgAttachment` or `CreateDrgAttachment` operations. \n[Command Reference](createDrgRouteDistribution)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG the DRG route table belongs to.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG the DRG route table belongs to.""")
@cli_util.option('--distribution-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["IMPORT"]), help=u"""States that this distribution defines how routes get imported into route tables.""")
@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].
@@ -3051,7 +3051,7 @@ def create_drg_route_distribution(ctx, from_json, wait_for_state, max_wait_secon
@drg_route_table_group.command(name=cli_util.override('virtual_network.create_drg_route_table.command_name', 'create'), help=u"""Creates a new DRG route table for the specified DRG. Assign the DRG route table to a DRG attachment using the `UpdateDrgAttachment` or `CreateDrgAttachment` operations. \n[Command Reference](createDrgRouteTable)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG the DRG route table belongs to.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG the DRG route table belongs to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3131,9 +3131,9 @@ def create_drg_route_table(ctx, from_json, wait_for_state, max_wait_seconds, wai
For traffic to flow between a subnet and an internet gateway, you must create a route rule accordingly in the subnet's route table (for example, 0.0.0.0/0 > internet gateway). See [UpdateRouteTable].
You must specify whether the internet gateway is enabled when you create it. If it's disabled, that means no traffic will flow to/from the internet even if there's a route rule that enables that traffic. You can later use [UpdateInternetGateway] to easily disable/enable the gateway without changing the route rule. \n[Command Reference](createInternetGateway)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the internet gateway.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the internet gateway.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""Whether the gateway is enabled upon creation.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN the Internet Gateway is attached to.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN the Internet Gateway is attached to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3141,7 +3141,7 @@ def create_drg_route_table(ctx, from_json, wait_for_state, max_wait_seconds, wai
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the Internet Gateway is using.""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the Internet Gateway is using.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -3215,9 +3215,9 @@ def create_internet_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wa
* [IPSecConnectionTunnel] * [IPSecConnectionTunnelSharedSecret]
For each tunnel, you need the IP address of Oracle's VPN headend and the shared secret (that is, the pre-shared key). For more information, see [CPE Configuration]. \n[Command Reference](createIPSecConnection)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the IPSec connection.""")
-@cli_util.option('--cpe-id', required=True, help=u"""The [OCID] of the [Cpe] object.""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the IPSec connection.""")
+@cli_util.option('--cpe-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the [Cpe] object.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3329,9 +3329,9 @@ def create_ip_sec_connection(ctx, from_json, wait_for_state, max_wait_seconds, w
Example: `2001:DB8::`""")
@cli_util.option('--cidr-prefix-length', type=click.INT, help=u"""Length of cidr range. Optional field to specify flexible cidr.""")
@cli_util.option('--vnic-id', help=u"""The [OCID] of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently.""")
@cli_util.option('--lifetime', type=custom_types.CliCaseInsensitiveChoice(["EPHEMERAL", "RESERVED"]), help=u"""Lifetime of the IP address. There are two types of IPs: - Ephemeral - Reserved""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
@cli_util.option('--ipv6-subnet-cidr', help=u"""The IPv6 prefix allocated to the subnet. This is required if more than one IPv6 prefix exists on the subnet.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -3410,8 +3410,8 @@ def create_ipv6(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@local_peering_gateway_group.command(name=cli_util.override('virtual_network.create_local_peering_gateway.command_name', 'create'), help=u"""Creates a new local peering gateway (LPG) for the specified VCN. \n[Command Reference](createLocalPeeringGateway)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the local peering gateway (LPG).""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN the LPG belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the local peering gateway (LPG).""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN the LPG belongs to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3422,7 +3422,7 @@ def create_ipv6(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""[Security attributes] are labels for a resource that can be referenced in a [Zero Trust Packet Routing] (ZPR) policy to control access to ZPR-supported resources.
Example: `{\"Oracle-DataSecurity-ZPR\": {\"MaxEgressCount\": {\"value\":\"42\",\"mode\":\"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the LPG will use.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the LPG will use.
If you don't specify a route table here, the LPG is created without an associated route table. The Networking service does NOT automatically associate the attached VCN's default route table with the LPG.
@@ -3490,8 +3490,8 @@ def create_local_peering_gateway(ctx, from_json, wait_for_state, max_wait_second
@nat_gateway_group.command(name=cli_util.override('virtual_network.create_nat_gateway.command_name', 'create'), help=u"""Creates a new NAT gateway for the specified VCN. You must also set up a route rule with the NAT gateway as the rule's target. See [Route Table]. \n[Command Reference](createNatGateway)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the NAT gateway.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN the gateway belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the NAT gateway.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN the gateway belongs to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3503,7 +3503,7 @@ def create_local_peering_gateway(ctx, from_json, wait_for_state, max_wait_second
Example: `true`""")
@cli_util.option('--public-ip-id', help=u"""The [OCID] of the public IP address associated with the NAT gateway.""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table used by the NAT gateway.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table used by the NAT gateway.
If you don't specify a route table here, the NAT gateway is created without an associated route table. The Networking service does NOT automatically associate the attached VCN's default route table with the NAT gateway.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3572,8 +3572,8 @@ def create_nat_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@network_security_group_group.command(name=cli_util.override('virtual_network.create_network_security_group.command_name', 'create'), help=u"""Creates a new network security group for the specified VCN. \n[Command Reference](createNetworkSecurityGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the network security group.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN to create the network security group in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the network security group.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN to create the network security group in.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3660,10 +3660,10 @@ def create_network_security_group(ctx, from_json, wait_for_state, max_wait_secon
@cli_util.option('--vlan-id', help=u"""Use this attribute only with the Oracle Cloud VMware Solution.
The [OCID] of the VLAN from which the private IP is to be drawn. The IP address, *if supplied*, must be valid for the given VLAN. See [Vlan].""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet from which the private IP is to be drawn. The IP address, *if supplied*, must be valid for the given subnet.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet from which the private IP is to be drawn. The IP address, *if supplied*, must be valid for the given subnet.""")
@cli_util.option('--ipv4-subnet-cidr-at-creation', help=u"""Any one of the IPv4 CIDRs allocated to the subnet.""")
@cli_util.option('--lifetime', type=custom_types.CliCaseInsensitiveChoice(["EPHEMERAL", "RESERVED"]), help=u"""Lifetime of the IP address. There are two types of IPs: - Ephemeral - Reserved""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
@json_skeleton_utils.get_cli_json_input_option({'defined-tags': {'module': 'core', 'class': 'dict(str, dict(str, object))'}, 'freeform-tags': {'module': 'core', 'class': 'dict(str, string)'}})
@cli_util.help_option
@click.pass_context
@@ -3728,7 +3728,7 @@ def create_private_ip(ctx, from_json, defined_tags, display_name, freeform_tags,
**Note:** When assigning a public IP to a private IP, the private IP must not already have a public IP with `lifecycleState` = ASSIGNING or ASSIGNED. If it does, an error is returned.
Also, for reserved public IPs, the optional assignment part of this operation is asynchronous. Poll the public IP's `lifecycleState` to determine if the assignment succeeded. \n[Command Reference](createPublicIp)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the public IP. For ephemeral public IPs, you must set this to the private IP's compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the public IP. For ephemeral public IPs, you must set this to the private IP's compartment [OCID].""")
@cli_util.option('--lifetime', required=True, type=custom_types.CliCaseInsensitiveChoice(["EPHEMERAL", "RESERVED"]), help=u"""Defines when the public IP is deleted and released back to the Oracle Cloud Infrastructure public IP pool. For more information, see [Public IP Addresses].""")
@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].
@@ -3806,7 +3806,7 @@ def create_public_ip(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@public_ip_pool_group.command(name=cli_util.override('virtual_network.create_public_ip_pool.command_name', 'create'), help=u"""Creates a public IP pool. \n[Command Reference](createPublicIpPool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the public IP pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the public IP pool.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3871,8 +3871,8 @@ def create_public_ip_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait
@remote_peering_connection_group.command(name=cli_util.override('virtual_network.create_remote_peering_connection.command_name', 'create'), help=u"""Creates a new remote peering connection (RPC) for the specified DRG. \n[Command Reference](createRemotePeeringConnection)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the RPC.""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG the RPC belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the RPC.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG the RPC belongs to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3941,9 +3941,9 @@ def create_remote_peering_connection(ctx, from_json, wait_for_state, max_wait_se
For the purposes of access control, you must provide the [OCID] of the compartment where you want the route table to reside. Notice that the route table doesn't have to be in the same compartment as the VCN, subnets, or other Networking Service components. If you're not sure which compartment to use, put the route table in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the route table, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createRouteTable)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the route table.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the route table.""")
@cli_util.option('--route-rules', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The collection of rules used for routing destination IPs to network devices.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN the route table belongs to.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN the route table belongs to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4013,10 +4013,10 @@ def create_route_table(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
For the purposes of access control, you must provide the [OCID] of the compartment where you want the security list to reside. Notice that the security list doesn't have to be in the same compartment as the VCN, subnets, or other Networking Service components. If you're not sure which compartment to use, put the security list in the same compartment as the VCN. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the security list, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information. \n[Command Reference](createSecurityList)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the security list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the security list.""")
@cli_util.option('--egress-security-rules', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Rules for allowing egress IP packets.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--ingress-security-rules', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Rules for allowing ingress IP packets.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN the security list belongs to.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN the security list belongs to.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4089,11 +4089,11 @@ def create_security_list(ctx, from_json, wait_for_state, max_wait_seconds, wait_
You may optionally specify a *display name* for the service gateway, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.
Use the [ListServices] operation to find service CIDR labels available in the region. \n[Command Reference](createServiceGateway)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the service gateway.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the service gateway.""")
@cli_util.option('--services', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of the OCIDs of the [Service] objects to enable for the service gateway. This list can be empty if you don't want to enable any `Service` objects when you create the gateway. You can enable a `Service` object later by using either [AttachServiceId] or [UpdateServiceGateway].
For each enabled `Service`, make sure there's a route rule with the `Service` object's `cidrBlock` as the rule's destination and the service gateway as the rule's target. See [Route Table].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4101,7 +4101,7 @@ def create_security_list(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the service gateway will use.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the service gateway will use.
If you don't specify a route table here, the service gateway is created without an associated route table. The Networking service does NOT automatically associate the attached VCN's default route table with the service gateway.
@@ -4179,8 +4179,8 @@ def create_service_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wai
You may optionally specify a *display name* for the subnet, otherwise a default is provided. It does not have to be unique, and you can change it. Avoid entering confidential information.
You can also add a DNS label for the subnet, which is required if you want the Internet and VCN Resolver to resolve hostnames for instances in the subnet. For more information, see [DNS in Your Virtual Cloud Network]. \n[Command Reference](createSubnet)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the subnet.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN to contain the subnet.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the subnet.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN to contain the subnet.""")
@cli_util.option('--availability-domain', help=u"""Controls whether the subnet is regional or specific to an availability domain. Oracle recommends creating regional subnets because they're more flexible and make it easier to implement failover across availability domains. Originally, AD-specific subnets were the only kind available to use.
To create a regional subnet, omit this attribute. Then any resources later created in this subnet (such as a Compute instance) can be created in any availability domain in the region.
@@ -4197,7 +4197,7 @@ def create_service_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wai
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dhcp-options-id', help=u"""The [OCID] of the set of DHCP options the subnet will use. If you don't provide a value, the subnet uses the VCN's default set of DHCP options.""")
+@cli_util.option('--dhcp-options-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the set of DHCP options the subnet will use. If you don't provide a value, the subnet uses the VCN's default set of DHCP options.""")
@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.""")
@cli_util.option('--dns-label', help=u"""A DNS label for the subnet, used in conjunction with the VNIC's hostname and VCN's DNS label to form a fully qualified domain name (FQDN) for each VNIC within this subnet (for example, `bminstance1.subnet123.vcn1.oraclevcn.com`). Must be an alphanumeric string that begins with a letter and is unique within the VCN. The value cannot be changed.
@@ -4227,7 +4227,7 @@ def create_service_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wai
If you intend to use an IPv6 prefix, you should use the flag `prohibitInternetIngress` to specify ingress internet traffic behavior of the subnet.
Example: `true`""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the subnet will use. If you don't provide a value, the subnet uses the VCN's default route table.""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the subnet will use. If you don't provide a value, the subnet uses the VCN's default route table.""")
@cli_util.option('--security-list-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OCIDs of the security list or lists the subnet will use. If you don't provide a value, the subnet uses the VCN's default security list. Remember that security lists are associated *with the subnet*, but the rules are applied to the individual VNICs in the subnet.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -4335,7 +4335,7 @@ def create_subnet(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
The VCN automatically comes with a default route table, default security list, and default set of DHCP options. The [OCID] for each is returned in the response. You can't delete these default objects, but you can change their contents (that is, change the route rules, security list rules, and so on).
The VCN and subnets you create are not accessible until you attach an internet gateway or set up a Site-to-Site VPN or FastConnect. For more information, see [Overview of the Networking Service]. \n[Command Reference](createVcn)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the VCN.""")
@cli_util.option('--cidr-block', help=u"""**Deprecated.** Do *not* set this value. Use `cidrBlocks` instead. Example: `10.0.0.0/16`""")
@cli_util.option('--cidr-blocks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of one or more IPv4 CIDR blocks for the VCN that meet the following criteria: - The CIDR blocks must be valid. - They must not overlap with each other or with the on-premises network CIDR block. - The number of CIDR blocks must not exceed the limit of CIDR blocks allowed per VCN.
@@ -4457,7 +4457,7 @@ def create_vcn(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
You may optionally specify a *display name* for the virtual circuit. It does not have to be unique, and you can change it. Avoid entering confidential information.
**Important:** When creating a virtual circuit, you specify a DRG for the traffic to flow through. Make sure you attach the DRG to your VCN and confirm the VCN's routing sends traffic to the DRG. Otherwise traffic will not flow. For more information, see [Route Tables]. \n[Command Reference](createVirtualCircuit)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the virtual circuit.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the virtual circuit.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["PUBLIC", "PRIVATE"]), help=u"""The type of IP addresses used in this virtual circuit. PRIVATE means [RFC 1918] addresses (10.0.0.0/8, 172.16/12, and 192.168/16).""")
@cli_util.option('--bandwidth-shape-name', help=u"""The provisioned data rate of the connection. To get a list of the available bandwidth levels (that is, shapes), see [ListFastConnectProviderServiceVirtualCircuitBandwidthShapes].
@@ -4600,8 +4600,8 @@ def create_virtual_circuit(ctx, from_json, wait_for_state, max_wait_seconds, wai
1. The CIDR block is valid and correctly formatted. 2. The new range is within one of the parent VCN ranges.
Example: `192.0.2.0/24`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the VLAN.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN to contain the VLAN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the VLAN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN to contain the VLAN.""")
@cli_util.option('--availability-domain', help=u"""Controls whether the VLAN is regional or specific to an availability domain. A regional VLAN has the flexibility to implement failover across availability domains. Previously, all VLANs were AD-specific.
To create a regional VLAN, omit this attribute. Resources created subsequently in this VLAN (such as a Compute instance) can be created in any availability domain in the region.
@@ -4617,7 +4617,7 @@ def create_virtual_circuit(ctx, from_json, wait_for_state, max_wait_seconds, wai
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of the OCIDs of the network security groups (NSGs) to add all VNICs in the VLAN to. For more information about NSGs, see [NetworkSecurityGroup].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the VLAN will use. If you don't provide a value, the VLAN uses the VCN's default route table.""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the VLAN will use. If you don't provide a value, the VLAN uses the VCN's default route table.""")
@cli_util.option('--vlan-tag', type=click.INT, help=u"""The IEEE 802.1Q VLAN tag for this VLAN. The value must be unique across all VLANs in the VCN. If you don't provide a value, Oracle assigns one. You cannot change the value later. VLAN tag 0 is reserved for use by Oracle.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -4694,8 +4694,8 @@ def create_vlan(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
For the purposes of access control, you must provide the [OCID] of the compartment that contains the VTAP. For more information about compartments and access control, see [Overview of the IAM Service]. For information about OCIDs, see [Resource Identifiers].
You may optionally specify a *display name* for the VTAP, otherwise a default is provided. It does not have to be unique, and you can change it. \n[Command Reference](createVtap)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the `Vtap` resource.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN containing the `Vtap` resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the `Vtap` resource.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN containing the `Vtap` resource.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the source point where packets are captured.""")
@cli_util.option('--capture-filter-id', required=True, help=u"""The capture filter's Oracle ID ([OCID]).""")
@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].
@@ -4996,7 +4996,7 @@ def delete_capture_filter(ctx, from_json, wait_for_state, max_wait_seconds, wait
@cpe_group.command(name=cli_util.override('virtual_network.delete_cpe.command_name', 'delete'), help=u"""Deletes the specified CPE object. The CPE must not be connected to a DRG. This is an asynchronous operation. The CPE's `lifecycleState` will change to TERMINATING temporarily until the CPE is completely removed. \n[Command Reference](deleteCpe)""")
-@cli_util.option('--cpe-id', required=True, help=u"""The [OCID] of the CPE.""")
+@cli_util.option('--cpe-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the CPE.""")
@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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -5021,7 +5021,7 @@ def delete_cpe(ctx, from_json, cpe_id, if_match):
@cross_connect_group.command(name=cli_util.override('virtual_network.delete_cross_connect.command_name', 'delete'), help=u"""Deletes the specified cross-connect. It must not be mapped to a [VirtualCircuit]. \n[Command Reference](deleteCrossConnect)""")
-@cli_util.option('--cross-connect-id', required=True, help=u"""The [OCID] of the cross-connect.""")
+@cli_util.option('--cross-connect-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PENDING_CUSTOMER", "PROVISIONING", "PROVISIONED", "INACTIVE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -5084,7 +5084,7 @@ def delete_cross_connect(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@cross_connect_group_group.command(name=cli_util.override('virtual_network.delete_cross_connect_group.command_name', 'delete'), help=u"""Deletes the specified cross-connect group. It must not contain any cross-connects, and it cannot be mapped to a [VirtualCircuit]. \n[Command Reference](deleteCrossConnectGroup)""")
-@cli_util.option('--cross-connect-group-id', required=True, help=u"""The [OCID] of the cross-connect group.""")
+@cli_util.option('--cross-connect-group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect group.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "PROVISIONED", "INACTIVE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -5212,7 +5212,7 @@ def delete_dhcp_options(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@drg_group.command(name=cli_util.override('virtual_network.delete_drg.command_name', 'delete'), help=u"""Deletes the specified DRG. The DRG must not be attached to a VCN or be connected to your on-premise network. Also, there must not be a route table that lists the DRG as a target. This is an asynchronous operation. The DRG's `lifecycleState` will change to TERMINATING temporarily until the DRG is completely removed. \n[Command Reference](deleteDrg)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -5662,7 +5662,7 @@ def delete_ipv6(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@local_peering_gateway_group.command(name=cli_util.override('virtual_network.delete_local_peering_gateway.command_name', 'delete'), help=u"""Deletes the specified local peering gateway (LPG).
This is an asynchronous operation; the local peering gateway's `lifecycleState` changes to TERMINATING temporarily until the local peering gateway is completely removed. \n[Command Reference](deleteLocalPeeringGateway)""")
-@cli_util.option('--local-peering-gateway-id', required=True, help=u"""The [OCID] of the local peering gateway.""")
+@cli_util.option('--local-peering-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the local peering gateway.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -5727,7 +5727,7 @@ def delete_local_peering_gateway(ctx, from_json, wait_for_state, max_wait_second
@nat_gateway_group.command(name=cli_util.override('virtual_network.delete_nat_gateway.command_name', 'delete'), help=u"""Deletes the specified NAT gateway. The NAT gateway does not have to be disabled, but there must not be a route rule that lists the NAT gateway as a target.
This is an asynchronous operation. The NAT gateway's `lifecycleState` will change to TERMINATING temporarily until the NAT gateway is completely removed. \n[Command Reference](deleteNatGateway)""")
-@cli_util.option('--nat-gateway-id', required=True, help=u"""The NAT gateway's [OCID].""")
+@cli_util.option('--nat-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The NAT gateway's [OCID].""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6019,7 +6019,7 @@ def delete_public_ip_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait
@remote_peering_connection_group.command(name=cli_util.override('virtual_network.delete_remote_peering_connection.command_name', 'delete'), help=u"""Deletes the remote peering connection (RPC).
This is an asynchronous operation; the RPC's `lifecycleState` changes to TERMINATING temporarily until the RPC is completely removed. \n[Command Reference](deleteRemotePeeringConnection)""")
-@cli_util.option('--remote-peering-connection-id', required=True, help=u"""The [OCID] of the remote peering connection (RPC).""")
+@cli_util.option('--remote-peering-connection-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the remote peering connection (RPC).""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["AVAILABLE", "PROVISIONING", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6149,7 +6149,7 @@ def delete_route_table(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@security_list_group.command(name=cli_util.override('virtual_network.delete_security_list.command_name', 'delete'), help=u"""Deletes the specified security list, but only if it's not associated with a subnet. You can't delete a VCN's default security list.
This is an asynchronous operation. The security list's `lifecycleState` will change to TERMINATING temporarily until the security list is completely removed. \n[Command Reference](deleteSecurityList)""")
-@cli_util.option('--security-list-id', required=True, help=u"""The [OCID] of the security list.""")
+@cli_util.option('--security-list-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the security list.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6212,7 +6212,7 @@ def delete_security_list(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@service_gateway_group.command(name=cli_util.override('virtual_network.delete_service_gateway.command_name', 'delete'), help=u"""Deletes the specified service gateway. There must not be a route table that lists the service gateway as a target. \n[Command Reference](deleteServiceGateway)""")
-@cli_util.option('--service-gateway-id', required=True, help=u"""The service gateway's [OCID].""")
+@cli_util.option('--service-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The service gateway's [OCID].""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6275,7 +6275,7 @@ def delete_service_gateway(ctx, from_json, wait_for_state, max_wait_seconds, wai
@subnet_group.command(name=cli_util.override('virtual_network.delete_subnet.command_name', 'delete'), help=u"""Deletes the specified subnet, but only if there are no instances in the subnet. This is an asynchronous operation. The subnet's `lifecycleState` will change to TERMINATING temporarily. If there are any instances in the subnet, the state will instead change back to AVAILABLE. \n[Command Reference](deleteSubnet)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6340,7 +6340,7 @@ def delete_subnet(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@vcn_group.command(name=cli_util.override('virtual_network.delete_vcn.command_name', 'delete'), help=u"""Deletes the specified VCN. The VCN must be completely empty and have no attached gateways. This is an asynchronous operation.
A deleted VCN's `lifecycleState` changes to TERMINATING and then TERMINATED temporarily until the VCN is completely removed. A completely removed VCN does not appear in the results of a `ListVcns` operation and can't be used in a `GetVcn` operation. \n[Command Reference](deleteVcn)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6405,7 +6405,7 @@ def delete_vcn(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@virtual_circuit_group.command(name=cli_util.override('virtual_network.delete_virtual_circuit.command_name', 'delete'), help=u"""Deletes the specified virtual circuit.
**Important:** If you're using FastConnect via a provider, make sure to also terminate the connection with the provider, or else the provider may continue to bill you. \n[Command Reference](deleteVirtualCircuit)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PENDING_PROVIDER", "VERIFYING", "PROVISIONING", "PROVISIONED", "FAILED", "INACTIVE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6591,7 +6591,7 @@ def delete_vtap(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@service_gateway_group.command(name=cli_util.override('virtual_network.detach_service_id.command_name', 'detach'), help=u"""Removes the specified [Service] from the list of enabled `Service` objects for the specified gateway. You do not need to remove any route rules that specify this `Service` object's `cidrBlock` as the destination CIDR. However, consider removing the rules if your intent is to permanently disable use of the `Service` through this service gateway.
**Note:** The `DetachServiceId` operation is an easy way to remove an individual `Service` from the service gateway. Compare it with [UpdateServiceGateway], which replaces the entire existing list of enabled `Service` objects with the list that you provide in the `Update` call. `UpdateServiceGateway` also lets you block all traffic through the service gateway without having to remove each of the individual `Service` objects. \n[Command Reference](detachServiceId)""")
-@cli_util.option('--service-gateway-id', required=True, help=u"""The service gateway's [OCID].""")
+@cli_util.option('--service-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The service gateway's [OCID].""")
@cli_util.option('--service-id', required=True, help=u"""The [OCID] of the [Service].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -6647,7 +6647,7 @@ def detach_service_id(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@drg_group.command(name=cli_util.override('virtual_network.get_all_drg_attachments.command_name', 'get-all-drg-attachments'), help=u"""Returns a complete list of DRG attachments that belong to a particular DRG. \n[Command Reference](getAllDrgAttachments)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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].
Example: `50`""")
@@ -6766,7 +6766,7 @@ def get_capture_filter(ctx, from_json, capture_filter_id):
@cpe_group.command(name=cli_util.override('virtual_network.get_cpe.command_name', 'get'), help=u"""Gets the specified CPE's information. \n[Command Reference](getCpe)""")
-@cli_util.option('--cpe-id', required=True, help=u"""The [OCID] of the CPE.""")
+@cli_util.option('--cpe-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the CPE.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -6793,7 +6793,7 @@ def get_cpe(ctx, from_json, cpe_id):
The operation returns configuration information for *all* of the [IPSecConnection] objects that use the specified CPE. Here are similar operations:
* [GetIpsecCpeDeviceConfigContent] returns CPE configuration content for all IPSec tunnels in a single IPSec connection. * [GetTunnelCpeDeviceConfigContent] returns CPE configuration content for a specific IPSec tunnel in an IPSec connection. \n[Command Reference](getCpeDeviceConfigContent)""")
-@cli_util.option('--cpe-id', required=True, help=u"""The [OCID] of the CPE.""")
+@cli_util.option('--cpe-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the CPE.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -6862,7 +6862,7 @@ def get_cpe_device_shape(ctx, from_json, cpe_device_shape_id):
@cross_connect_group.command(name=cli_util.override('virtual_network.get_cross_connect.command_name', 'get'), help=u"""Gets the specified cross-connect's information. \n[Command Reference](getCrossConnect)""")
-@cli_util.option('--cross-connect-id', required=True, help=u"""The [OCID] of the cross-connect.""")
+@cli_util.option('--cross-connect-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -6883,7 +6883,7 @@ def get_cross_connect(ctx, from_json, cross_connect_id):
@cross_connect_group_group.command(name=cli_util.override('virtual_network.get_cross_connect_group.command_name', 'get'), help=u"""Gets the specified cross-connect group's information. \n[Command Reference](getCrossConnectGroup)""")
-@cli_util.option('--cross-connect-group-id', required=True, help=u"""The [OCID] of the cross-connect group.""")
+@cli_util.option('--cross-connect-group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect group.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -6904,7 +6904,7 @@ def get_cross_connect_group(ctx, from_json, cross_connect_group_id):
@letter_of_authority_group.command(name=cli_util.override('virtual_network.get_cross_connect_letter_of_authority.command_name', 'get-cross-connect'), help=u"""Gets the Letter of Authority for the specified cross-connect. \n[Command Reference](getCrossConnectLetterOfAuthority)""")
-@cli_util.option('--cross-connect-id', required=True, help=u"""The [OCID] of the cross-connect.""")
+@cli_util.option('--cross-connect-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -6925,7 +6925,7 @@ def get_cross_connect_letter_of_authority(ctx, from_json, cross_connect_id):
@cross_connect_status_group.command(name=cli_util.override('virtual_network.get_cross_connect_status.command_name', 'get'), help=u"""Gets the status of the specified cross-connect. \n[Command Reference](getCrossConnectStatus)""")
-@cli_util.option('--cross-connect-id', required=True, help=u"""The [OCID] of the cross-connect.""")
+@cli_util.option('--cross-connect-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -6967,7 +6967,7 @@ def get_dhcp_options(ctx, from_json, dhcp_id):
@drg_group.command(name=cli_util.override('virtual_network.get_drg.command_name', 'get'), help=u"""Gets the specified DRG's information. \n[Command Reference](getDrg)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7009,7 +7009,7 @@ def get_drg_attachment(ctx, from_json, drg_attachment_id):
@drg_redundancy_status_group.command(name=cli_util.override('virtual_network.get_drg_redundancy_status.command_name', 'get'), help=u"""Gets the redundancy status for the specified DRG. For more information, see [Redundancy Remedies]. \n[Command Reference](getDrgRedundancyStatus)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7357,7 +7357,7 @@ def get_ipv6(ctx, from_json, ipv6_id):
@local_peering_gateway_group.command(name=cli_util.override('virtual_network.get_local_peering_gateway.command_name', 'get'), help=u"""Gets the specified local peering gateway's information. \n[Command Reference](getLocalPeeringGateway)""")
-@cli_util.option('--local-peering-gateway-id', required=True, help=u"""The [OCID] of the local peering gateway.""")
+@cli_util.option('--local-peering-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the local peering gateway.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7378,7 +7378,7 @@ def get_local_peering_gateway(ctx, from_json, local_peering_gateway_id):
@nat_gateway_group.command(name=cli_util.override('virtual_network.get_nat_gateway.command_name', 'get'), help=u"""Gets the specified NAT gateway's information. \n[Command Reference](getNatGateway)""")
-@cli_util.option('--nat-gateway-id', required=True, help=u"""The NAT gateway's [OCID].""")
+@cli_util.option('--nat-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The NAT gateway's [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7424,7 +7424,7 @@ def get_network_security_group(ctx, from_json, network_security_group_id):
@networking_topology_group.command(name=cli_util.override('virtual_network.get_networking_topology.command_name', 'get'), help=u"""Gets a virtual networking topology for the current region. \n[Command Reference](getNetworkingTopology)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["ANY", "ACCESSIBLE"]), help=u"""Valid values are `ANY` and `ACCESSIBLE`. The default is `ANY`. Setting this to `ACCESSIBLE` returns only compartments for which a user has INSPECT permissions, either directly or indirectly (permissions can be on a resource in a subcompartment). A restricted set of fields is returned for compartments in which a user has indirect INSPECT permissions.
When set to `ANY` permissions are not checked.""")
@@ -7575,7 +7575,7 @@ def get_public_ip_pool(ctx, from_json, public_ip_pool_id):
@remote_peering_connection_group.command(name=cli_util.override('virtual_network.get_remote_peering_connection.command_name', 'get'), help=u"""Get the specified remote peering connection's information. \n[Command Reference](getRemotePeeringConnection)""")
-@cli_util.option('--remote-peering-connection-id', required=True, help=u"""The [OCID] of the remote peering connection (RPC).""")
+@cli_util.option('--remote-peering-connection-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the remote peering connection (RPC).""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7639,7 +7639,7 @@ def get_route_table(ctx, from_json, rt_id):
@security_list_group.command(name=cli_util.override('virtual_network.get_security_list.command_name', 'get'), help=u"""Gets the specified security list's information. \n[Command Reference](getSecurityList)""")
-@cli_util.option('--security-list-id', required=True, help=u"""The [OCID] of the security list.""")
+@cli_util.option('--security-list-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the security list.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7681,7 +7681,7 @@ def get_service(ctx, from_json, service_id):
@service_gateway_group.command(name=cli_util.override('virtual_network.get_service_gateway.command_name', 'get'), help=u"""Gets the specified service gateway's information. \n[Command Reference](getServiceGateway)""")
-@cli_util.option('--service-gateway-id', required=True, help=u"""The service gateway's [OCID].""")
+@cli_util.option('--service-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The service gateway's [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7702,7 +7702,7 @@ def get_service_gateway(ctx, from_json, service_gateway_id):
@subnet_group.command(name=cli_util.override('virtual_network.get_subnet.command_name', 'get'), help=u"""Gets the specified subnet's information. \n[Command Reference](getSubnet)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7723,7 +7723,7 @@ def get_subnet(ctx, from_json, subnet_id):
@ip_inventory_cidr_utilization_collection_group.command(name=cli_util.override('virtual_network.get_subnet_cidr_utilization.command_name', 'get-subnet-cidr-utilization'), help=u"""Gets the CIDR utilization data of the specified subnet. Specify the [OCID]. \n[Command Reference](getSubnetCidrUtilization)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7745,7 +7745,7 @@ def get_subnet_cidr_utilization(ctx, from_json, subnet_id):
@ip_inventory_subnet_resource_collection_group.command(name=cli_util.override('virtual_network.get_subnet_ip_inventory.command_name', 'get-subnet-ip-inventory'), help=u"""Gets the IP Inventory data of the specified subnet. Specify the [OCID]. \n[Command Reference](getSubnetIpInventory)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7767,8 +7767,8 @@ def get_subnet_ip_inventory(ctx, from_json, subnet_id):
@subnet_topology_group.command(name=cli_util.override('virtual_network.get_subnet_topology.command_name', 'get'), help=u"""Gets a topology for a given subnet. \n[Command Reference](getSubnetTopology)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["ANY", "ACCESSIBLE"]), help=u"""Valid values are `ANY` and `ACCESSIBLE`. The default is `ANY`. Setting this to `ACCESSIBLE` returns only compartments for which a user has INSPECT permissions, either directly or indirectly (permissions can be on a resource in a subcompartment). A restricted set of fields is returned for compartments in which a user has indirect INSPECT permissions.
When set to `ANY` permissions are not checked.""")
@@ -7885,7 +7885,7 @@ def get_tunnel_cpe_device_config_content(ctx, from_json, file, ipsc_id, tunnel_i
@drg_group.command(name=cli_util.override('virtual_network.get_upgrade_status.command_name', 'get-upgrade-status'), help=u"""Returns the DRG upgrade status. The status can be not updated, in progress, or updated. Also indicates how much of the upgrade is completed. \n[Command Reference](getUpgradeStatus)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7907,7 +7907,7 @@ def get_upgrade_status(ctx, from_json, drg_id):
@vcn_group.command(name=cli_util.override('virtual_network.get_vcn.command_name', 'get'), help=u"""Gets the specified VCN's information. \n[Command Reference](getVcn)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7928,7 +7928,7 @@ def get_vcn(ctx, from_json, vcn_id):
@vcn_dns_resolver_association_group.command(name=cli_util.override('virtual_network.get_vcn_dns_resolver_association.command_name', 'get'), help=u"""Get the associated DNS resolver information with a vcn \n[Command Reference](getVcnDnsResolverAssociation)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -7950,7 +7950,7 @@ def get_vcn_dns_resolver_association(ctx, from_json, vcn_id):
@ip_inventory_vcn_overlap_collection_group.command(name=cli_util.override('virtual_network.get_vcn_overlap.command_name', 'get-vcn-overlap'), help=u"""Gets the CIDR overlap information of the specified VCN in selected compartments. Specify the [OCID]. \n[Command Reference](getVcnOverlap)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@cli_util.option('--region-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Lists the selected regions.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--compartment-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of [OCID] of the compartments.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'region-list': {'module': 'core', 'class': 'list[string]'}, 'compartment-list': {'module': 'core', 'class': 'list[string]'}})
@@ -7980,8 +7980,8 @@ def get_vcn_overlap(ctx, from_json, vcn_id, region_list, compartment_list):
@vcn_topology_group.command(name=cli_util.override('virtual_network.get_vcn_topology.command_name', 'get'), help=u"""Gets a virtual network topology for a given VCN. \n[Command Reference](getVcnTopology)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["ANY", "ACCESSIBLE"]), help=u"""Valid values are `ANY` and `ACCESSIBLE`. The default is `ANY`. Setting this to `ACCESSIBLE` returns only compartments for which a user has INSPECT permissions, either directly or indirectly (permissions can be on a resource in a subcompartment). A restricted set of fields is returned for compartments in which a user has indirect INSPECT permissions.
When set to `ANY` permissions are not checked.""")
@@ -8015,7 +8015,7 @@ def get_vcn_topology(ctx, from_json, compartment_id, vcn_id, access_level, query
@virtual_circuit_group.command(name=cli_util.override('virtual_network.get_virtual_circuit.command_name', 'get'), help=u"""Gets the specified virtual circuit's information. \n[Command Reference](getVirtualCircuit)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -8169,7 +8169,7 @@ def list_allowed_peer_regions_for_remote_peering(ctx, from_json, all_pages, ):
@byoasn_group.command(name=cli_util.override('virtual_network.list_byoasns.command_name', 'list'), help=u"""Lists the `Byoasn` resources in the specified compartment. You can filter the list using query parameters. \n[Command Reference](listByoasns)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -8284,7 +8284,7 @@ def list_byoip_allocated_ranges(ctx, from_json, all_pages, page_size, byoip_rang
@byoip_range_group.command(name=cli_util.override('virtual_network.list_byoip_ranges.command_name', 'list'), help=u"""Lists the `ByoipRange` resources in the specified compartment. You can filter the list using query parameters. \n[Command Reference](listByoipRanges)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -8348,7 +8348,7 @@ def list_byoip_ranges(ctx, from_json, all_pages, page_size, compartment_id, limi
@capture_filter_group.command(name=cli_util.override('virtual_network.list_capture_filters.command_name', 'list'), help=u"""Lists the capture filters in the specified compartment. \n[Command Reference](listCaptureFilters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -8467,7 +8467,7 @@ def list_cpe_device_shapes(ctx, from_json, all_pages, page_size, limit, page):
@cpe_group.command(name=cli_util.override('virtual_network.list_cpes.command_name', 'list'), help=u"""Lists the customer-premises equipment objects (CPEs) in the specified compartment. \n[Command Reference](listCpes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -8516,7 +8516,7 @@ def list_cpes(ctx, from_json, all_pages, page_size, compartment_id, limit, page)
@cross_connect_group_group.command(name=cli_util.override('virtual_network.list_cross_connect_groups.command_name', 'list'), help=u"""Lists the cross-connect groups in the specified compartment. \n[Command Reference](listCrossConnectGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -8579,7 +8579,7 @@ def list_cross_connect_groups(ctx, from_json, all_pages, page_size, compartment_
@cross_connect_location_group.command(name=cli_util.override('virtual_network.list_cross_connect_locations.command_name', 'list'), help=u"""Lists the available FastConnect locations for cross-connect installation. You need this information so you can specify your desired location when you create a cross-connect. \n[Command Reference](listCrossConnectLocations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -8628,7 +8628,7 @@ def list_cross_connect_locations(ctx, from_json, all_pages, page_size, compartme
@cross_connect_mapping_details_collection_group.command(name=cli_util.override('virtual_network.list_cross_connect_mappings.command_name', 'list-cross-connect-mappings'), help=u"""Lists the Cross Connect mapping Details for the specified virtual circuit. \n[Command Reference](listCrossConnectMappings)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -8651,8 +8651,8 @@ def list_cross_connect_mappings(ctx, from_json, all_pages, virtual_circuit_id):
@cross_connect_group.command(name=cli_util.override('virtual_network.list_cross_connects.command_name', 'list'), help=u"""Lists the cross-connects in the specified compartment. You can filter the list by specifying the [OCID] of a cross-connect group. \n[Command Reference](listCrossConnects)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--cross-connect-group-id', help=u"""The [OCID] of the cross-connect group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--cross-connect-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect group.""")
@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].
Example: `50`""")
@@ -8717,7 +8717,7 @@ def list_cross_connects(ctx, from_json, all_pages, page_size, compartment_id, cr
@cross_connect_port_speed_shape_group.command(name=cli_util.override('virtual_network.list_crossconnect_port_speed_shapes.command_name', 'list-crossconnect-port-speed-shapes'), help=u"""Lists the available port speeds for cross-connects. You need this information so you can specify your desired port speed (that is, shape) when you create a cross-connect. \n[Command Reference](listCrossconnectPortSpeedShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -8766,8 +8766,8 @@ def list_crossconnect_port_speed_shapes(ctx, from_json, all_pages, page_size, co
@dhcp_options_group.command(name=cli_util.override('virtual_network.list_dhcp_options.command_name', 'list'), help=u"""Lists the sets of DHCP options in the specified VCN and specified compartment. If the VCN ID is not provided, then the list includes the sets of DHCP options from all VCNs in the specified compartment. The response includes the default set of options that automatically comes with each VCN, plus any other sets you've created. \n[Command Reference](listDhcpOptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@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].
Example: `50`""")
@@ -8834,9 +8834,9 @@ def list_dhcp_options(ctx, from_json, all_pages, page_size, compartment_id, vcn_
@drg_attachment_group.command(name=cli_util.override('virtual_network.list_drg_attachments.command_name', 'list'), help=u"""Lists the `DrgAttachment` resource for the specified compartment. You can filter the results by DRG, attached network, attachment type, DRG route table or VCN route table.
The LIST API lists DRG attachments by attachment type. It will default to list VCN attachments, but you may request to list ALL attachments of ALL types. \n[Command Reference](listDrgAttachments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
-@cli_util.option('--drg-id', help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--drg-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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].
Example: `50`""")
@@ -8972,7 +8972,7 @@ def list_drg_route_distribution_statements(ctx, from_json, all_pages, page_size,
@drg_route_distribution_group.command(name=cli_util.override('virtual_network.list_drg_route_distributions.command_name', 'list'), help=u"""Lists the route distributions in the specified DRG.
To retrieve the statements in a distribution, use the ListDrgRouteDistributionStatements operation. \n[Command Reference](listDrgRouteDistributions)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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].
Example: `50`""")
@@ -9092,7 +9092,7 @@ def list_drg_route_rules(ctx, from_json, all_pages, page_size, drg_route_table_i
@drg_route_table_group.command(name=cli_util.override('virtual_network.list_drg_route_tables.command_name', 'list'), help=u"""Lists the DRG route tables for the specified DRG.
Use the `ListDrgRouteRules` operation to retrieve the route rules in a table. \n[Command Reference](listDrgRouteTables)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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].
Example: `50`""")
@@ -9158,7 +9158,7 @@ def list_drg_route_tables(ctx, from_json, all_pages, page_size, drg_id, limit, p
@drg_group.command(name=cli_util.override('virtual_network.list_drgs.command_name', 'list'), help=u"""Lists the DRGs in the specified compartment. \n[Command Reference](listDrgs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -9211,7 +9211,7 @@ def list_drgs(ctx, from_json, all_pages, page_size, compartment_id, limit, page)
For the compartment ID, provide the [OCID] of your tenancy (the root compartment).
For more information, see [FastConnect Overview]. \n[Command Reference](listFastConnectProviderServices)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -9314,8 +9314,8 @@ def list_fast_connect_provider_virtual_circuit_bandwidth_shapes(ctx, from_json,
@internet_gateway_group.command(name=cli_util.override('virtual_network.list_internet_gateways.command_name', 'list'), help=u"""Lists the internet gateways in the specified VCN and the specified compartment. If the VCN ID is not provided, then the list includes the internet gateways from all VCNs in the specified compartment. \n[Command Reference](listInternetGateways)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@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].
Example: `50`""")
@@ -9623,9 +9623,9 @@ def list_ip_sec_connection_tunnels(ctx, from_json, all_pages, page_size, ipsc_id
@ip_sec_connection_group.command(name=cli_util.override('virtual_network.list_ip_sec_connections.command_name', 'list'), help=u"""Lists the IPSec connections for the specified compartment. You can filter the results by DRG or CPE. \n[Command Reference](listIPSecConnections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--drg-id', help=u"""The [OCID] of the DRG.""")
-@cli_util.option('--cpe-id', help=u"""The [OCID] of the CPE.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--drg-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--cpe-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the CPE.""")
@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].
Example: `50`""")
@@ -9685,7 +9685,7 @@ def list_ip_sec_connections(ctx, from_json, all_pages, page_size, compartment_id
Example: `50`""")
@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].""")
@cli_util.option('--ip-address', help=u"""An IP address. This could be either IPv4 or IPv6, depending on the resource. Example: `10.0.3.3`""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet.""")
@cli_util.option('--vnic-id', help=u"""The OCID of the VNIC.""")
@cli_util.option('--ip-state', help=u"""State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED otherwise AVAILABLE""")
@cli_util.option('--lifetime', help=u"""Lifetime of the IP address. There are two types of IPs: - Ephemeral - Reserved""")
@@ -9741,12 +9741,12 @@ def list_ipv6s(ctx, from_json, all_pages, page_size, limit, page, ip_address, su
@local_peering_gateway_group.command(name=cli_util.override('virtual_network.list_local_peering_gateways.command_name', 'list'), help=u"""Lists the local peering gateways (LPGs) for the specified VCN and specified compartment. If the VCN ID is not provided, then the list includes the LPGs from all VCNs in the specified compartment. \n[Command Reference](listLocalPeeringGateways)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@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].""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -9793,8 +9793,8 @@ def list_local_peering_gateways(ctx, from_json, all_pages, page_size, compartmen
@nat_gateway_group.command(name=cli_util.override('virtual_network.list_nat_gateways.command_name', 'list'), help=u"""Lists the NAT gateways in the specified compartment. You may optionally specify a VCN OCID to filter the results by VCN. \n[Command Reference](listNatGateways)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@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].
Example: `50`""")
@@ -9978,9 +9978,9 @@ def list_network_security_group_vnics(ctx, from_json, all_pages, page_size, netw
@network_security_group_group.command(name=cli_util.override('virtual_network.list_network_security_groups.command_name', 'list'), help=u"""Lists either the network security groups in the specified compartment, or those associated with the specified VLAN. You must specify either a `vlanId` or a `compartmentId`, but not both. If you specify a `vlanId`, all other parameters are ignored. \n[Command Reference](listNetworkSecurityGroups)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--vlan-id', help=u"""The [OCID] of the VLAN.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@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].
Example: `50`""")
@@ -10057,7 +10057,7 @@ def list_network_security_groups(ctx, from_json, all_pages, page_size, compartme
Example: `50`""")
@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].""")
@cli_util.option('--ip-address', help=u"""An IP address. This could be either IPv4 or IPv6, depending on the resource. Example: `10.0.3.3`""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet.""")
@cli_util.option('--vnic-id', help=u"""The OCID of the VNIC.""")
@cli_util.option('--ip-state', help=u"""State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED otherwise AVAILABLE""")
@cli_util.option('--lifetime', help=u"""Lifetime of the IP address. There are two types of IPs: - Ephemeral - Reserved""")
@@ -10115,7 +10115,7 @@ def list_private_ips(ctx, from_json, all_pages, page_size, limit, page, ip_addre
@public_ip_pool_group.command(name=cli_util.override('virtual_network.list_public_ip_pools.command_name', 'list'), help=u"""Lists the public IP pools in the specified compartment. You can filter the list using query parameters. \n[Command Reference](listPublicIpPools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -10192,7 +10192,7 @@ def list_public_ip_pools(ctx, from_json, all_pages, page_size, compartment_id, l
* `REGION`: The public IP exists within a region and is assigned to a regional entity (such as a [NatGateway]), or can be assigned to a private IP in any availability domain in the region. Reserved public IPs have `scope` = `REGION`, as do ephemeral public IPs assigned to a regional entity.
* `AVAILABILITY_DOMAIN`: The public IP exists within the availability domain of the entity it's assigned to, which is specified by the `availabilityDomain` property of the public IP object. Ephemeral public IPs that are assigned to private IPs have `scope` = `AVAILABILITY_DOMAIN`.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -10255,8 +10255,8 @@ def list_public_ips(ctx, from_json, all_pages, page_size, scope, compartment_id,
@remote_peering_connection_group.command(name=cli_util.override('virtual_network.list_remote_peering_connections.command_name', 'list'), help=u"""Lists the remote peering connections (RPCs) for the specified DRG and compartment (the RPC's compartment). \n[Command Reference](listRemotePeeringConnections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--drg-id', help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--drg-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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].
Example: `50`""")
@@ -10307,12 +10307,12 @@ def list_remote_peering_connections(ctx, from_json, all_pages, page_size, compar
@route_table_group.command(name=cli_util.override('virtual_network.list_route_tables.command_name', 'list'), help=u"""Lists the route tables in the specified VCN and specified compartment. If the VCN ID is not provided, then the list includes the route tables from all VCNs in the specified compartment. The response includes the default route table that automatically comes with each VCN in the specified compartment, plus any route tables you've created. \n[Command Reference](listRouteTables)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@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].""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
@@ -10373,12 +10373,12 @@ def list_route_tables(ctx, from_json, all_pages, page_size, compartment_id, limi
@security_list_group.command(name=cli_util.override('virtual_network.list_security_lists.command_name', 'list'), help=u"""Lists the security lists in the specified VCN and compartment. If the VCN ID is not provided, then the list includes the security lists from all VCNs in the specified compartment. \n[Command Reference](listSecurityLists)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@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].""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
@@ -10439,8 +10439,8 @@ def list_security_lists(ctx, from_json, all_pages, page_size, compartment_id, li
@service_gateway_group.command(name=cli_util.override('virtual_network.list_service_gateways.command_name', 'list'), help=u"""Lists the service gateways in the specified compartment. You may optionally specify a VCN OCID to filter the results by VCN. \n[Command Reference](listServiceGateways)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@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].
Example: `50`""")
@@ -10547,12 +10547,12 @@ def list_services(ctx, from_json, all_pages, page_size, limit, page):
@subnet_group.command(name=cli_util.override('virtual_network.list_subnets.command_name', 'list'), help=u"""Lists the subnets in the specified VCN and the specified compartment. If the VCN ID is not provided, then the list includes the subnets from all VCNs in the specified compartment. \n[Command Reference](listSubnets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@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].""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
@@ -10613,7 +10613,7 @@ def list_subnets(ctx, from_json, all_pages, page_size, compartment_id, limit, pa
@vcn_group.command(name=cli_util.override('virtual_network.list_vcns.command_name', 'list'), help=u"""Lists the virtual cloud networks (VCNs) in the specified compartment. \n[Command Reference](listVcns)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -10676,7 +10676,7 @@ def list_vcns(ctx, from_json, all_pages, page_size, compartment_id, limit, page,
@virtual_circuit_associated_tunnel_details_group.command(name=cli_util.override('virtual_network.list_virtual_circuit_associated_tunnels.command_name', 'list-virtual-circuit-associated-tunnels'), help=u"""Gets the specified virtual circuit's associatedTunnelsInfo. \n[Command Reference](listVirtualCircuitAssociatedTunnels)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@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].
Example: `50`""")
@@ -10728,7 +10728,7 @@ def list_virtual_circuit_associated_tunnels(ctx, from_json, all_pages, page_size
@virtual_circuit_bandwidth_shape_group.command(name=cli_util.override('virtual_network.list_virtual_circuit_bandwidth_shapes.command_name', 'list'), help=u"""The operation lists available bandwidth levels for virtual circuits. For the compartment ID, provide the [OCID] of your tenancy (the root compartment). \n[Command Reference](listVirtualCircuitBandwidthShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -10777,7 +10777,7 @@ def list_virtual_circuit_bandwidth_shapes(ctx, from_json, all_pages, page_size,
@virtual_circuit_public_prefix_group.command(name=cli_util.override('virtual_network.list_virtual_circuit_public_prefixes.command_name', 'list'), help=u"""Lists the public IP prefixes and their details for the specified public virtual circuit. \n[Command Reference](listVirtualCircuitPublicPrefixes)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@cli_util.option('--verification-state', type=custom_types.CliCaseInsensitiveChoice(["IN_PROGRESS", "COMPLETED", "FAILED"]), help=u"""A filter to only return resources that match the given verification state.
The state value is case-insensitive.""")
@@ -10804,7 +10804,7 @@ def list_virtual_circuit_public_prefixes(ctx, from_json, all_pages, virtual_circ
@virtual_circuit_group.command(name=cli_util.override('virtual_network.list_virtual_circuits.command_name', 'list'), help=u"""Lists the virtual circuits in the specified compartment. \n[Command Reference](listVirtualCircuits)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@@ -10867,12 +10867,12 @@ def list_virtual_circuits(ctx, from_json, all_pages, page_size, compartment_id,
@vlan_group.command(name=cli_util.override('virtual_network.list_vlans.command_name', 'list'), help=u"""Lists the VLANs in the specified VCN and the specified compartment. \n[Command Reference](listVlans)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `50`""")
@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].""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
@@ -10934,8 +10934,8 @@ def list_vlans(ctx, from_json, all_pages, page_size, compartment_id, limit, page
@vtap_group.command(name=cli_util.override('virtual_network.list_vtaps.command_name', 'list'), help=u"""Lists the virtual test access points (VTAPs) in the specified compartment. \n[Command Reference](listVtaps)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--source', help=u"""The [OCID] of the VTAP source.""")
@cli_util.option('--target-id', help=u"""The [OCID] of the VTAP target.""")
@cli_util.option('--target-ip', help=u"""The IP address of the VTAP target.""")
@@ -11017,7 +11017,7 @@ def list_vtaps(ctx, from_json, all_pages, page_size, compartment_id, vcn_id, sou
@subnet_group.command(name=cli_util.override('virtual_network.modify_ipv4_subnet_cidr.command_name', 'modify-ipv4-subnet-cidr'), help=u"""Updates the specified Ipv4 CIDR block of a Subnet. The new Ipv4 CIDR IP range must meet the following criteria:
- Must be valid. - Must not overlap with another Ipv4 CIDR block in the Subnet or the on-premises network CIDR block. - Must not exceed the limit of Ipv4 CIDR blocks allowed per Subnet. - Must include IP addresses from the original CIDR block that are used in the VCN's existing route rules. - No IP address in an existing subnet should be outside of the new CIDR block range. \n[Command Reference](modifyIpv4SubnetCidr)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@cli_util.option('--ipv4-cidr-block', required=True, help=u"""The Ipv4 CIDR IP address to update.""")
@cli_util.option('--updated-ipv4-cidr-block', required=True, help=u"""The new Ipv4 CIDR IP address.""")
@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.""")
@@ -11092,7 +11092,7 @@ def modify_ipv4_subnet_cidr(ctx, from_json, wait_for_state, max_wait_seconds, wa
- Must be valid. - Must not overlap with another CIDR block in the VCN, a CIDR block of a peered VCN, or the on-premises network CIDR block. - Must not exceed the limit of CIDR blocks allowed per VCN. - Must include IP addresses from the original CIDR block that are used in the VCN's existing route rules. - No IP address in an existing subnet should be outside of the new CIDR block range.
**Note:** Modifying a CIDR block places your VCN in an updating state until the changes are complete. You cannot create or update the VCN's subnets, VLANs, LPGs, or route tables during this operation. The time to completion can vary depending on the size of your network. Updating a small network could take about a minute, and updating a large network could take up to an hour. You can use the `GetWorkRequest` operation to check the status of the update. \n[Command Reference](modifyVcnCidr)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@cli_util.option('--original-cidr-block', required=True, help=u"""The CIDR IP address to update.""")
@cli_util.option('--new-cidr-block', required=True, help=u"""The new CIDR IP address.""")
@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.""")
@@ -11348,7 +11348,7 @@ def remove_import_drg_route_distribution(ctx, from_json, wait_for_state, max_wai
@subnet_group.command(name=cli_util.override('virtual_network.remove_ipv4_subnet_cidr.command_name', 'remove'), help=u"""Remove an IPv4 prefix from a subnet \n[Command Reference](removeIpv4SubnetCidr)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@cli_util.option('--ipv4-cidr-block', required=True, help=u"""This field should only be specified when removing an IPv4 prefix from a subnet's IPv4 address space. The CIDR must maintain the following rules -
a. The CIDR block is valid and correctly formatted. b. The CIDR range is within one of the parent VCN ranges. c. The CIDR range to be removed is already present in the list of ipv4CidrBlocks
@@ -11421,7 +11421,7 @@ def remove_ipv4_subnet_cidr(ctx, from_json, wait_for_state, max_wait_seconds, wa
@subnet_group.command(name=cli_util.override('virtual_network.remove_ipv6_subnet_cidr.command_name', 'remove'), help=u"""Remove an IPv6 prefix from a subnet. At least one IPv6 CIDR should remain. \n[Command Reference](removeIpv6SubnetCidr)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@cli_util.option('--ipv6-cidr-block', required=True, help=u"""This field is not required and should only be specified when removing an IPv6 prefix from a subnet's IPv6 address space. See[IPv6 Addresses].
Example: `2001:0db8:0123::/64`""")
@@ -11492,7 +11492,7 @@ def remove_ipv6_subnet_cidr(ctx, from_json, wait_for_state, max_wait_seconds, wa
@vcn_group.command(name=cli_util.override('virtual_network.remove_ipv6_vcn_cidr.command_name', 'remove'), help=u"""Removing an existing IPv6 prefix from a VCN. \n[Command Reference](removeIpv6VcnCidr)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@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.""")
@cli_util.option('--ipv6-cidr-block', help=u"""This field is not required and should only be specified when removing ULA or private IPv6 prefix or an IPv6 GUA assigned by Oracle or BYOIPv6 prefix from a VCN's IPv6 address space. See[IPv6 Addresses].
@@ -11650,7 +11650,7 @@ def remove_public_ip_pool_capacity(ctx, from_json, wait_for_state, max_wait_seco
@vcn_group.command(name=cli_util.override('virtual_network.remove_vcn_cidr.command_name', 'remove'), help=u"""Removes a specified CIDR block from a VCN.
**Notes:** - You cannot remove a CIDR block if an IP address in its range is in use. - Removing a CIDR block places your VCN in an updating state until the changes are complete. You cannot create or update the VCN's subnets, VLANs, LPGs, or route tables during this operation. The time to completion can take a few minutes. You can use the `GetWorkRequest` operation to check the status of the update. \n[Command Reference](removeVcnCidr)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@cli_util.option('--cidr-block', required=True, help=u"""The CIDR block to remove.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -12057,7 +12057,7 @@ def update_capture_filter(ctx, from_json, force, wait_for_state, max_wait_second
@cpe_group.command(name=cli_util.override('virtual_network.update_cpe.command_name', 'update'), help=u"""Updates the specified CPE's display name or tags. Avoid entering confidential information. \n[Command Reference](updateCpe)""")
-@cli_util.option('--cpe-id', required=True, help=u"""The [OCID] of the CPE.""")
+@cli_util.option('--cpe-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the CPE.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12114,7 +12114,7 @@ def update_cpe(ctx, from_json, force, cpe_id, defined_tags, display_name, freefo
@cross_connect_group.command(name=cli_util.override('virtual_network.update_cross_connect.command_name', 'update'), help=u"""Updates the specified cross-connect. \n[Command Reference](updateCrossConnect)""")
-@cli_util.option('--cross-connect-id', required=True, help=u"""The [OCID] of the cross-connect.""")
+@cli_util.option('--cross-connect-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12203,7 +12203,7 @@ def update_cross_connect(ctx, from_json, force, wait_for_state, max_wait_seconds
@cross_connect_group_group.command(name=cli_util.override('virtual_network.update_cross_connect_group.command_name', 'update'), help=u"""Updates the specified cross-connect group's display name. Avoid entering confidential information. \n[Command Reference](updateCrossConnectGroup)""")
-@cli_util.option('--cross-connect-group-id', required=True, help=u"""The [OCID] of the cross-connect group.""")
+@cli_util.option('--cross-connect-group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cross-connect group.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12373,7 +12373,7 @@ def update_dhcp_options(ctx, from_json, force, wait_for_state, max_wait_seconds,
@drg_group.command(name=cli_util.override('virtual_network.update_drg.command_name', 'update'), help=u"""Updates the specified DRG's display name or tags. Avoid entering confidential information. \n[Command Reference](updateDrg)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12467,7 +12467,7 @@ def update_drg(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_int
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--export-drg-route-distribution-id', help=u"""The [OCID] of the export route distribution used to specify how routes in the assigned DRG route table are advertised out through the attachment. If this value is null, no routes are advertised through this attachment.""")
-@cli_util.option('--route-table-id', help=u"""This is the [OCID] of the route table that is used to route the traffic as it enters a VCN through this attachment.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""This is the [OCID] of the route table that is used to route the traffic as it enters a VCN through this attachment.
For information about why you would associate a route table with a DRG attachment, see:
@@ -12565,7 +12565,7 @@ def update_drg_attachment(ctx, from_json, force, wait_for_state, max_wait_second
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--export-drg-route-distribution-id', help=u"""The [OCID] of the export route distribution used to specify how routes in the assigned DRG route table are advertised out through the attachment. If this value is null, no routes are advertised through this attachment.""")
-@cli_util.option('--route-table-id', help=u"""This is the [OCID] of the route table that is used to route the traffic as it enters a VCN through this attachment.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""This is the [OCID] of the route table that is used to route the traffic as it enters a VCN through this attachment.
For information about why you would associate a route table with a DRG attachment, see:
@@ -12888,7 +12888,7 @@ def update_drg_route_table(ctx, from_json, force, wait_for_state, max_wait_secon
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-enabled', type=click.BOOL, help=u"""Whether the gateway is enabled.""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the Internet Gateway is using.""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the Internet Gateway is using.""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -13226,7 +13226,7 @@ def update_ip_sec_connection_tunnel_shared_secret(ctx, from_json, ipsc_id, tunne
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vnic-id', help=u"""The [OCID] of the VNIC to reassign the IPv6 to. The VNIC must be in the same subnet as the current VNIC.""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
@cli_util.option('--lifetime', type=custom_types.CliCaseInsensitiveChoice(["EPHEMERAL", "RESERVED"]), help=u"""Lifetime of the IP address. There are two types of IPs: - Ephemeral - Reserved""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -13305,7 +13305,7 @@ def update_ipv6(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_in
@local_peering_gateway_group.command(name=cli_util.override('virtual_network.update_local_peering_gateway.command_name', 'update'), help=u"""Updates the specified local peering gateway (LPG). \n[Command Reference](updateLocalPeeringGateway)""")
-@cli_util.option('--local-peering-gateway-id', required=True, help=u"""The [OCID] of the local peering gateway.""")
+@cli_util.option('--local-peering-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the local peering gateway.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -13316,7 +13316,7 @@ def update_ipv6(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""[Security attributes] are labels for a resource that can be referenced in a [Zero Trust Packet Routing] (ZPR) policy to control access to ZPR-supported resources.
Example: `{\"Oracle-DataSecurity-ZPR\": {\"MaxEgressCount\": {\"value\":\"42\",\"mode\":\"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the LPG will use.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the LPG will use.
For information about why you would associate a route table with an LPG, see [Transit Routing: Access to Multiple VCNs in Same Region].""")
@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.""")
@@ -13392,7 +13392,7 @@ def update_local_peering_gateway(ctx, from_json, force, wait_for_state, max_wait
@nat_gateway_group.command(name=cli_util.override('virtual_network.update_nat_gateway.command_name', 'update'), help=u"""Updates the specified NAT gateway. \n[Command Reference](updateNatGateway)""")
-@cli_util.option('--nat-gateway-id', required=True, help=u"""The NAT gateway's [OCID].""")
+@cli_util.option('--nat-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The NAT gateway's [OCID].""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -13403,7 +13403,7 @@ def update_local_peering_gateway(ctx, from_json, force, wait_for_state, max_wait
@cli_util.option('--block-traffic', type=click.BOOL, help=u"""Whether the NAT gateway blocks traffic through it. The default is `false`.
Example: `true`""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table used by the NAT gateway.
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table used by the NAT gateway.
If you don't specify a route table here, the NAT gateway is created without an associated route table. The Networking service does NOT automatically associate the attached VCN's default route table with the NAT gateway.""")
@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.""")
@@ -13612,7 +13612,7 @@ def update_network_security_group_security_rules(ctx, from_json, network_securit
Example: `bminstance1`""")
@cli_util.option('--vnic-id', help=u"""The [OCID] of the VNIC to reassign the private IP to. The VNIC must be in the same subnet as the current VNIC.""")
@cli_util.option('--lifetime', type=custom_types.CliCaseInsensitiveChoice(["EPHEMERAL", "RESERVED"]), help=u"""Lifetime of the IP address. There are two types of IPs: - Ephemeral - Reserved""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@json_skeleton_utils.get_cli_json_input_option({'defined-tags': {'module': 'core', 'class': 'dict(str, dict(str, object))'}, 'freeform-tags': {'module': 'core', 'class': 'dict(str, string)'}})
@@ -13835,7 +13835,7 @@ def update_public_ip_pool(ctx, from_json, force, wait_for_state, max_wait_second
@remote_peering_connection_group.command(name=cli_util.override('virtual_network.update_remote_peering_connection.command_name', 'update'), help=u"""Updates the specified remote peering connection (RPC). \n[Command Reference](updateRemotePeeringConnection)""")
-@cli_util.option('--remote-peering-connection-id', required=True, help=u"""The [OCID] of the remote peering connection (RPC).""")
+@cli_util.option('--remote-peering-connection-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the remote peering connection (RPC).""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -13995,7 +13995,7 @@ def update_route_table(ctx, from_json, force, wait_for_state, max_wait_seconds,
@security_list_group.command(name=cli_util.override('virtual_network.update_security_list.command_name', 'update'), help=u"""Updates the specified security list's display name or rules. Avoid entering confidential information.
Note that the `egressSecurityRules` or `ingressSecurityRules` objects you provide replace the entire existing objects. \n[Command Reference](updateSecurityList)""")
-@cli_util.option('--security-list-id', required=True, help=u"""The [OCID] of the security list.""")
+@cli_util.option('--security-list-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the security list.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -14082,7 +14082,7 @@ def update_security_list(ctx, from_json, force, wait_for_state, max_wait_seconds
@service_gateway_group.command(name=cli_util.override('virtual_network.update_service_gateway.command_name', 'update'), help=u"""Updates the specified service gateway. The information you provide overwrites the existing attributes of the gateway. \n[Command Reference](updateServiceGateway)""")
-@cli_util.option('--service-gateway-id', required=True, help=u"""The service gateway's [OCID].""")
+@cli_util.option('--service-gateway-id', required=True, type=custom_types.CLI_OCID, help=u"""The service gateway's [OCID].""")
@cli_util.option('--block-traffic', type=click.BOOL, help=u"""Whether the service gateway blocks all traffic through it. The default is `false`. When this is `true`, traffic is not routed to any services, regardless of route rules.
Example: `true`""")
@@ -14093,7 +14093,7 @@ def update_security_list(ctx, from_json, force, wait_for_state, max_wait_seconds
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the service gateway will use. For information about why you would associate a route table with a service gateway, see [Transit Routing: Private Access to Oracle Services].""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the service gateway will use. For information about why you would associate a route table with a service gateway, see [Transit Routing: Private Access to Oracle Services].""")
@cli_util.option('--services', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of all the `Service` objects you want enabled on this service gateway. Sending an empty list means you want to disable all services. Omitting this parameter entirely keeps the existing list of services intact.
You can also enable or disable a particular `Service` by using [AttachServiceId] or [DetachServiceId].
@@ -14177,16 +14177,16 @@ def update_service_gateway(ctx, from_json, force, wait_for_state, max_wait_secon
@subnet_group.command(name=cli_util.override('virtual_network.update_subnet.command_name', 'update'), help=u"""Updates the specified subnet. \n[Command Reference](updateSubnet)""")
-@cli_util.option('--subnet-id', required=True, help=u"""Specify the [OCID] of the subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the subnet.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--dhcp-options-id', help=u"""The [OCID] of the set of DHCP options the subnet will use.""")
+@cli_util.option('--dhcp-options-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the set of DHCP options the subnet will use.""")
@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.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the subnet will use.""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the subnet will use.""")
@cli_util.option('--security-list-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OCIDs of the security list or lists the subnet will use. This replaces the entire current set of security lists. Remember that security lists are associated *with the subnet*, but the rules are applied to the individual VNICs in the subnet.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--cidr-block', help=u"""The CIDR block of the subnet. The new CIDR block must meet the following criteria:
@@ -14331,7 +14331,7 @@ def update_tunnel_cpe_device_config(ctx, from_json, force, ipsc_id, tunnel_id, t
@vcn_group.command(name=cli_util.override('virtual_network.update_vcn.command_name', 'update'), help=u"""Updates the specified VCN. \n[Command Reference](updateVcn)""")
-@cli_util.option('--vcn-id', required=True, help=u"""Specify the [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""Specify the [OCID] of the VCN.""")
@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].
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -14420,7 +14420,7 @@ def update_vcn(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_int
**Important:** If the virtual circuit is working and in the PROVISIONED state, updating any of the network-related properties (such as the DRG being used, the BGP ASN, and so on) will cause the virtual circuit's state to switch to PROVISIONING and the related BGP session to go down. After Oracle re-provisions the virtual circuit, its state will return to PROVISIONED. Make sure you confirm that the associated BGP session is back up. For more information about the various states and how to test connectivity, see [FastConnect Overview].
To change the list of public IP prefixes for a public virtual circuit, use [BulkAddVirtualCircuitPublicPrefixes] and [BulkDeleteVirtualCircuitPublicPrefixes]. Updating the list of prefixes does NOT cause the BGP session to go down. However, Oracle must verify the customer's ownership of each added prefix before traffic for that prefix will flow across the virtual circuit. \n[Command Reference](updateVirtualCircuit)""")
-@cli_util.option('--virtual-circuit-id', required=True, help=u"""The [OCID] of the virtual circuit.""")
+@cli_util.option('--virtual-circuit-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the virtual circuit.""")
@cli_util.option('--bandwidth-shape-name', help=u"""The provisioned data rate of the connection. To get a list of the available bandwidth levels (that is, shapes), see [ListFastConnectProviderVirtualCircuitBandwidthShapes]. To be updated only by the customer who owns the virtual circuit.""")
@cli_util.option('--cross-connect-mappings', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of mappings, each containing properties for a cross-connect or cross-connect group associated with this virtual circuit.
@@ -14572,7 +14572,7 @@ def update_virtual_circuit(ctx, from_json, force, wait_for_state, max_wait_secon
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of the OCIDs of the network security groups (NSGs) to use with this VLAN. All VNICs in the VLAN will belong to these NSGs. For more information about NSGs, see [NetworkSecurityGroup].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the VLAN will use.""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the VLAN will use.""")
@cli_util.option('--cidr-block', help=u"""The CIDR block of the VLAN. The new CIDR block must meet the following criteria:
- Must be valid. - The CIDR block's IP range must be completely within one of the VCN's CIDR block ranges. - The old and new CIDR block ranges must use the same network address. Example: `10.0.0.0/25` and `10.0.0.0/24`. - Must contain all IP addresses in use in the old CIDR range. - The new CIDR range's broadcast address (last IP address of CIDR range) must not be an IP address in use in the old CIDR range.
@@ -14677,7 +14677,7 @@ def update_vlan(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--skip-source-dest-check', type=click.BOOL, help=u"""Whether the source/destination check is disabled on the VNIC. Defaults to `false`, which means the check is performed. For information about why you would skip the source/destination check, see [Using a Private IP as a Route Target].
If the VNIC belongs to a VLAN as part of the Oracle Cloud VMware Solution (instead of belonging to a subnet), the value of the `skipSourceDestCheck` attribute is ignored. This is because the source/destination check is always disabled for VNICs in a VLAN. Example: `true`""")
-@cli_util.option('--route-table-id', help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
+@cli_util.option('--route-table-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the route table the IP address or VNIC will use. For more information, see [Per-resource Routing].""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "TERMINATING", "TERMINATED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -14890,7 +14890,7 @@ def update_vtap(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_in
@drg_group.command(name=cli_util.override('virtual_network.upgrade_drg.command_name', 'upgrade'), help=u"""Upgrades the DRG. After upgrade, you can control routing inside your DRG via DRG attachments, route distributions, and DRG route tables. \n[Command Reference](upgradeDrg)""")
-@cli_util.option('--drg-id', required=True, help=u"""The [OCID] of the DRG.""")
+@cli_util.option('--drg-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DRG.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@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.""")
diff --git a/services/dashboard_service/src/oci_cli_dashboard_group/generated/dashboardgroup_cli.py b/services/dashboard_service/src/oci_cli_dashboard_group/generated/dashboardgroup_cli.py
index cd57d11b..a6dc220c 100644
--- a/services/dashboard_service/src/oci_cli_dashboard_group/generated/dashboardgroup_cli.py
+++ b/services/dashboard_service/src/oci_cli_dashboard_group/generated/dashboardgroup_cli.py
@@ -48,7 +48,7 @@ def dashboard_group_group():
@dashboard_group_group.command(name=cli_util.override('dashboard_group.change_dashboard_group_compartment.command_name', 'change-compartment'), help=u"""Moves a DashboardGroup resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeDashboardGroupCompartment)""")
@cli_util.option('--dashboard-group-id', required=True, help=u"""The [OCID] of the dashboard group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -80,7 +80,7 @@ def change_dashboard_group_compartment(ctx, from_json, dashboard_group_id, compa
@dashboard_group_group.command(name=cli_util.override('dashboard_group.create_dashboard_group.command_name', 'create'), help=u"""Creates a new dashboard group using the details provided in request body.
**Caution:** Resources for the Dashboard service are created in the tenacy's home region. Although it is possible to create dashboard group resource in regions other than the home region, you won't be able to view those resources in the Console. Therefore, creating resources outside of the home region is not recommended. \n[Command Reference](createDashboardGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the dashboard group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the dashboard group.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the dashboard. Does not have to be unique, and it can be changed. Avoid entering confidential information. Leading and trailing spaces and the following special characters are not allowed: <>()=/'\"&\\""")
@cli_util.option('--description', help=u"""A short description of the dashboard group. It can be changed. Avoid entering confidential information. The following special characters are not allowed: <>()=/'\"&\\""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -240,7 +240,7 @@ def get_dashboard_group(ctx, from_json, dashboard_group_id, opc_cross_region):
@dashboard_group_collection_group.command(name=cli_util.override('dashboard_group.list_dashboard_groups.command_name', 'list-dashboard-groups'), help=u"""Returns a list of dashboard groups with a specific compartment ID. \n[Command Reference](listDashboardGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter that returns dashboard groups that match the lifecycle state specified.""")
@cli_util.option('--display-name', help=u"""A case-sensitive filter that returns resources that match the entire display name specified.""")
@cli_util.option('--id', help=u"""The [OCID] of the dashboard group.""")
diff --git a/services/data_catalog/src/oci_cli_data_catalog/generated/datacatalog_cli.py b/services/data_catalog/src/oci_cli_data_catalog/generated/datacatalog_cli.py
index 5317d4f4..3377e3c3 100644
--- a/services/data_catalog/src/oci_cli_data_catalog/generated/datacatalog_cli.py
+++ b/services/data_catalog/src/oci_cli_data_catalog/generated/datacatalog_cli.py
@@ -813,7 +813,7 @@ def attach_catalog_private_endpoint(ctx, from_json, wait_for_state, max_wait_sec
@catalog_group.command(name=cli_util.override('data_catalog.change_catalog_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeCatalogCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The identifier of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The identifier of the compartment where the resource should be moved.""")
@cli_util.option('--catalog-id', required=True, help=u"""Unique catalog identifier.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@@ -877,7 +877,7 @@ def change_catalog_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@catalog_private_endpoint_group.command(name=cli_util.override('data_catalog.change_catalog_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeCatalogPrivateEndpointCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The identifier of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The identifier of the compartment where the resource should be moved.""")
@cli_util.option('--catalog-private-endpoint-id', required=True, help=u"""Unique private reverse connection identifier.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@@ -941,7 +941,7 @@ def change_catalog_private_endpoint_compartment(ctx, from_json, wait_for_state,
@metastore_group.command(name=cli_util.override('data_catalog.change_metastore_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeMetastoreCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the metastore should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the metastore should be moved.""")
@cli_util.option('--metastore-id', required=True, help=u"""The metastore's OCID.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@@ -1210,7 +1210,7 @@ def create_attribute_tag(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@catalog_group.command(name=cli_util.override('data_catalog.create_catalog.command_name', 'create'), help=u"""Creates a new data catalog instance that includes a console and an API URL for managing metadata operations. For more information, please see the documentation. \n[Command Reference](createCatalog)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier.""")
@cli_util.option('--display-name', help=u"""Data catalog identifier.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1276,8 +1276,8 @@ def create_catalog(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@catalog_private_endpoint_group.command(name=cli_util.override('data_catalog.create_catalog_private_endpoint.command_name', 'create'), help=u"""Create a new private reverse connection endpoint. \n[Command Reference](createCatalogPrivateEndpoint)""")
@cli_util.option('--dns-zones', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of DNS zones to be used by the data assets to be harvested. Example: custpvtsubnet.oraclevcn.com for data asset: db.custpvtsubnet.oraclevcn.com""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of subnet to which the reverse connection is to be created""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of subnet to which the reverse connection is to be created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Display name of the private endpoint resource being created.""")
@@ -2368,7 +2368,7 @@ def create_job_execution(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@metastore_group.command(name=cli_util.override('data_catalog.create_metastore.command_name', 'create'), help=u"""Creates a new metastore. \n[Command Reference](createMetastore)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment which holds the metastore.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment which holds the metastore.""")
@cli_util.option('--default-managed-table-location', required=True, help=u"""Location under which managed tables will be created by default. This references Object Storage using an HDFS URI format. Example: oci://bucket@namespace/sub-dir/""")
@cli_util.option('--default-external-table-location', required=True, help=u"""Location under which external tables will be created by default. This references Object Storage using an HDFS URI format. Example: oci://bucket@namespace/sub-dir/""")
@cli_util.option('--display-name', help=u"""Mutable name of the metastore.""")
@@ -5068,7 +5068,7 @@ def list_attributes(ctx, from_json, all_pages, page_size, catalog_id, data_asset
@catalog_private_endpoint_group.command(name=cli_util.override('data_catalog.list_catalog_private_endpoints.command_name', 'list'), help=u"""Returns a list of all the catalog private endpoints in the specified compartment. \n[Command Reference](listCatalogPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given. The match is not case sensitive.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -5128,7 +5128,7 @@ def list_catalog_private_endpoints(ctx, from_json, all_pages, page_size, compart
@catalog_group.command(name=cli_util.override('data_catalog.list_catalogs.command_name', 'list'), help=u"""Returns a list of all the data catalogs in the specified compartment. \n[Command Reference](listCatalogs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given. The match is not case sensitive.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -6661,7 +6661,7 @@ def list_jobs(ctx, from_json, all_pages, page_size, catalog_id, display_name, di
@metastore_group.command(name=cli_util.override('data_catalog.list_metastores.command_name', 'list'), help=u"""Returns a list of all metastores in the specified compartment. \n[Command Reference](listMetastores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given. The match is not case sensitive.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -7422,7 +7422,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('data_catalog.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
diff --git a/services/data_flow/src/oci_cli_data_flow/generated/dataflow_cli.py b/services/data_flow/src/oci_cli_data_flow/generated/dataflow_cli.py
index e84965eb..8da02847 100644
--- a/services/data_flow/src/oci_cli_data_flow/generated/dataflow_cli.py
+++ b/services/data_flow/src/oci_cli_data_flow/generated/dataflow_cli.py
@@ -165,7 +165,7 @@ def cascading_delete_application(ctx, from_json, wait_for_state, max_wait_second
@application_group.command(name=cli_util.override('data_flow.change_application_compartment.command_name', 'change-compartment'), help=u"""Moves an application into a different compartment. When provided, If-Match is checked against ETag values of the resource. Associated resources, like runs, will not be automatically moved. \n[Command Reference](changeApplicationCompartment)""")
@cli_util.option('--application-id', required=True, help=u"""The unique ID for an application.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -196,7 +196,7 @@ def change_application_compartment(ctx, from_json, application_id, compartment_i
@pool_group.command(name=cli_util.override('data_flow.change_pool_compartment.command_name', 'change-compartment'), help=u"""Moves a pool into a different compartment. When provided, If-Match is checked against ETag values of the resource. Associated resources, like historical metrics, will not be automatically moved. The pool must be in a terminal state (STOPPED, FAILED) in order for it to be moved to a different compartment \n[Command Reference](changePoolCompartment)""")
@cli_util.option('--pool-id', required=True, help=u"""The unique ID for a pool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -227,7 +227,7 @@ def change_pool_compartment(ctx, from_json, pool_id, compartment_id, if_match):
@private_endpoint_group.command(name=cli_util.override('data_flow.change_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a private endpoint into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changePrivateEndpointCompartment)""")
@cli_util.option('--private-endpoint-id', required=True, help=u"""The unique ID for a private endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "CANCELLED", "CANCELLING", "FAILED", "INPROGRESS", "SUCCEEDED"]), 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.""")
@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.""")
@@ -288,7 +288,7 @@ def change_private_endpoint_compartment(ctx, from_json, wait_for_state, max_wait
@run_group.command(name=cli_util.override('data_flow.change_run_compartment.command_name', 'change-compartment'), help=u"""Moves a run into a different compartment. When provided, If-Match is checked against ETag values of the resource. Associated resources, like historical metrics, will not be automatically moved. The run must be in a terminal state (CANCELED, FAILED, SUCCEEDED) in order for it to be moved to a different compartment \n[Command Reference](changeRunCompartment)""")
@cli_util.option('--run-id', required=True, help=u"""The unique ID for the run""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -319,7 +319,7 @@ def change_run_compartment(ctx, from_json, run_id, compartment_id, if_match):
@sql_endpoint_group.command(name=cli_util.override('data_flow.change_sql_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves an Sql Endpoint from one compartment to another. When provided, If-Match is checked against ETag values of the Sql Endpoint. \n[Command Reference](changeSqlEndpointCompartment)""")
@cli_util.option('--sql-endpoint-id', required=True, help=u"""The unique id of the SQL Endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "CANCELLED", "CANCELLING", "FAILED", "INPROGRESS", "SUCCEEDED"]), 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.""")
@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.""")
@@ -379,7 +379,7 @@ def change_sql_endpoint_compartment(ctx, from_json, wait_for_state, max_wait_sec
@application_group.command(name=cli_util.override('data_flow.create_application.command_name', 'create'), help=u"""Creates an application. \n[Command Reference](createApplication)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique. Avoid entering confidential information.""")
@cli_util.option('--driver-shape', required=True, help=u"""The VM shape for the driver. Sets the driver cores and memory.""")
@cli_util.option('--executor-shape', required=True, help=u"""The VM shape for the executors. Sets the executor cores and memory.""")
@@ -526,7 +526,7 @@ def create_application(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@pool_group.command(name=cli_util.override('data_flow.create_pool.command_name', 'create'), help=u"""Create a pool to be used by dataflow runs or applications. \n[Command Reference](createPool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique. Avoid entering confidential information.""")
@cli_util.option('--configurations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of PoolConfig items.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. Avoid entering confidential information.""")
@@ -605,9 +605,9 @@ def create_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@private_endpoint_group.command(name=cli_util.override('data_flow.create_private_endpoint.command_name', 'create'), help=u"""Creates a private endpoint to be used by applications. \n[Command Reference](createPrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@cli_util.option('--dns-zones', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of DNS zone names. Example: `[ \"app.examplecorp.com\", \"app.examplecorp2.com\" ]`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of a subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a subnet.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. Avoid entering confidential information.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique. Avoid entering confidential information.""")
@@ -692,7 +692,7 @@ def create_private_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wa
@run_group.command(name=cli_util.override('data_flow.create_run.command_name', 'create'), help=u"""Creates a run for an application. \n[Command Reference](createRun)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of a compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a compartment.""")
@cli_util.option('--application-log-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--application-id', help=u"""The OCID of the associated application. If this value is set, then no value for the execute parameter is required. If this value is not set, then a value for the execute parameter is required, and a new application is created and associated with the new run.""")
@cli_util.option('--archive-uri', help=u"""A comma separated list of one or more archive files as Oracle Cloud Infrastructure URIs. For example, ``oci://path/to/a.zip,oci://path/to/b.zip``. An Oracle Cloud Infrastructure URI of an archive.zip file containing custom dependencies that may be used to support the execution of a Python, Java, or Scala application. See https://docs.cloud.oracle.com/iaas/Content/API/SDKDocs/hdfsconnector.htm#uriformat.""")
@@ -838,7 +838,7 @@ def create_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@sql_endpoint_group.command(name=cli_util.override('data_flow.create_sql_endpoint.command_name', 'create'), help=u"""Create a new Sql Endpoint. \n[Command Reference](createSqlEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The identifier of the compartment used with the SQL Endpoint.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The identifier of the compartment used with the SQL Endpoint.""")
@cli_util.option('--display-name', required=True, help=u"""The SQL Endpoint name, which can be changed.""")
@cli_util.option('--sql-endpoint-version', required=True, help=u"""The version of the SQL Endpoint.""")
@cli_util.option('--driver-shape', required=True, help=u"""The shape of the SQL Endpoint driver instance.""")
@@ -1533,7 +1533,7 @@ def get_work_request(ctx, from_json, work_request_id):
@application_group.command(name=cli_util.override('data_flow.list_applications.command_name', 'list'), help=u"""Lists all applications in the specified compartment. Only one parameter other than compartmentId may also be included in a query. The query must include compartmentId. If the query does not include compartmentId, or includes compartmentId but two or more other parameters an error is returned. \n[Command Reference](listApplications)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of results to return in a paginated `List` call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` or `opc-prev-page` response header from the last `List` call to sent back to server for getting the next page of results.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName", "language"]), help=u"""The field used to sort the results. Multiple fields are not supported.""")
@@ -1599,7 +1599,7 @@ def list_applications(ctx, from_json, all_pages, page_size, compartment_id, limi
@pool_group.command(name=cli_util.override('data_flow.list_pools.command_name', 'list'), help=u"""Lists all pools in the specified compartment. The query must include compartmentId. The query may also include one other parameter. If the query does not include compartmentId, or includes compartmentId, but with two or more other parameters, an error is returned. \n[Command Reference](listPools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of results to return in a paginated `List` call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` or `opc-prev-page` response header from the last `List` call to sent back to server for getting the next page of results.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "SCHEDULED", "CREATING", "ACTIVE", "STOPPING", "STOPPED", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""The LifecycleState of the pool.""")
@@ -1665,7 +1665,7 @@ def list_pools(ctx, from_json, all_pages, page_size, compartment_id, limit, page
@private_endpoint_group.command(name=cli_util.override('data_flow.list_private_endpoints.command_name', 'list'), help=u"""Lists all private endpoints in the specified compartment. The query must include compartmentId. The query may also include one other parameter. If the query does not include compartmentId, or includes compartmentId, but with two or more other parameters, an error is returned. \n[Command Reference](listPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of results to return in a paginated `List` call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` or `opc-prev-page` response header from the last `List` call to sent back to server for getting the next page of results.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""The LifecycleState of the private endpoint.""")
@@ -1782,7 +1782,7 @@ def list_run_logs(ctx, from_json, all_pages, page_size, run_id, limit, page):
@run_group.command(name=cli_util.override('data_flow.list_runs.command_name', 'list'), help=u"""Lists all runs of an application in the specified compartment. Only one parameter other than compartmentId may also be included in a query. The query must include compartmentId. If the query does not include compartmentId, or includes compartmentId but two or more other parameters an error is returned. \n[Command Reference](listRuns)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--application-id', help=u"""The ID of the application.""")
@cli_util.option('--pool-id', help=u"""The ID of the pool.""")
@cli_util.option('--owner-principal-id', help=u"""The OCID of the user who created the resource.""")
@@ -1857,7 +1857,7 @@ def list_runs(ctx, from_json, all_pages, page_size, compartment_id, application_
@sql_endpoint_collection_group.command(name=cli_util.override('data_flow.list_sql_endpoints.command_name', 'list-sql-endpoints'), help=u"""Lists all Sql Endpoints in the specified compartment. The query must include compartmentId or sqlEndpointId. If the query does not include either compartmentId or sqlEndpointId, an error is returned. \n[Command Reference](listSqlEndpoints)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to query resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to query resources.""")
@cli_util.option('--sql-endpoint-id', help=u"""The unique id of the SQL Endpoint.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING", "NEEDS_ATTENTION", "INACTIVE"]), help=u"""A filter to return only those resources whose sqlEndpointLifecycleState matches the given sqlEndpointLifecycleState.""")
@cli_util.option('--display-name', help=u"""The query parameter for the Spark application name.""")
@@ -2081,7 +2081,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('data_flow.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of results to return in a paginated `List` call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` or `opc-prev-page` response header from the last `List` call to sent back to server for getting the next page of results.""")
@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.""")
diff --git a/services/data_integration/src/oci_cli_data_integration/dataintegration_cli_extended.py b/services/data_integration/src/oci_cli_data_integration/dataintegration_cli_extended.py
index 4db61fa6..cec97282 100644
--- a/services/data_integration/src/oci_cli_data_integration/dataintegration_cli_extended.py
+++ b/services/data_integration/src/oci_cli_data_integration/dataintegration_cli_extended.py
@@ -41,7 +41,7 @@
@cli_util.option('--username', help=copy_help_from_generated_code(dataintegration_cli.create_connection_create_connection_from_oracle, 'username', remove_required=True))
@cli_util.option('--password', help=copy_help_from_generated_code(dataintegration_cli.create_connection_create_connection_from_oracle, 'password', remove_required=True))
@cli_util.option('--credential-file-content', help=copy_help_from_generated_code(dataintegration_cli.create_connection_create_connection_from_object_storage, 'credential_file_content', remove_required=True))
-@cli_util.option('--user-id', help=copy_help_from_generated_code(dataintegration_cli.create_connection_create_connection_from_object_storage, 'user_id', remove_required=True))
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=copy_help_from_generated_code(dataintegration_cli.create_connection_create_connection_from_object_storage, 'user_id', remove_required=True))
@cli_util.option('--finger-print', help=copy_help_from_generated_code(dataintegration_cli.create_connection_create_connection_from_object_storage, 'finger_print', remove_required=True))
@cli_util.option('--pass-phrase', help=copy_help_from_generated_code(dataintegration_cli.create_connection_create_connection_from_object_storage, 'pass_phrase', remove_required=True))
@dataintegration_cli.connection_group.command(name=cli_util.override('data_integration.create_connection.command_name', 'create'), help=u"""Creates a connection under an existing data asset.""")
@@ -249,7 +249,7 @@ def create_connection_extended(ctx, **kwargs):
@cli_util.option('--username', help=copy_help_from_generated_code(dataintegration_cli.update_connection_update_connection_from_oracle, 'username', remove_required=True))
@cli_util.option('--password', help=copy_help_from_generated_code(dataintegration_cli.update_connection_update_connection_from_oracle, 'password', remove_required=True))
@cli_util.option('--credential-file-content', help=copy_help_from_generated_code(dataintegration_cli.update_connection_update_connection_from_object_storage, 'credential_file_content', remove_required=True))
-@cli_util.option('--user-id', help=copy_help_from_generated_code(dataintegration_cli.update_connection_update_connection_from_object_storage, 'user_id', remove_required=True))
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=copy_help_from_generated_code(dataintegration_cli.update_connection_update_connection_from_object_storage, 'user_id', remove_required=True))
@cli_util.option('--finger-print', help=copy_help_from_generated_code(dataintegration_cli.update_connection_update_connection_from_object_storage, 'finger_print', remove_required=True))
@cli_util.option('--pass-phrase', help=copy_help_from_generated_code(dataintegration_cli.update_connection_update_connection_from_object_storage, 'pass_phrase', remove_required=True))
@dataintegration_cli.connection_group.command(name=cli_util.override('data_integration.update_connection.command_name', 'update'), help=u"""Updates a connection under a data asset.""")
@@ -446,7 +446,7 @@ def update_connection_extended(ctx, **kwargs):
@cli_util.option('--credential-file-content', help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_adwc, 'credential_file_content', remove_required=True))
@cli_util.option('--default-connection', help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_adwc, 'default_connection', remove_required=True))
@cli_util.option('--url', help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_object_storage, 'url', remove_required=True))
-@cli_util.option('--tenancy-id', help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_object_storage, 'tenancy_id', remove_required=True))
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_object_storage, 'tenancy_id', remove_required=True))
@cli_util.option('--namespace', help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_object_storage, 'namespace', remove_required=True))
@cli_util.option('--host', help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_oracle, 'host', remove_required=True))
@cli_util.option('--port', help=copy_help_from_generated_code(dataintegration_cli.create_data_asset_create_data_asset_from_oracle, 'port', remove_required=True))
@@ -630,7 +630,7 @@ def create_data_asset_extended(ctx, **kwargs):
@cli_util.option('--credential-file-content', help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_adwc, 'credential_file_content', remove_required=True))
@cli_util.option('--default-connection', help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_adwc, 'default_connection', remove_required=True))
@cli_util.option('--url', help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_object_storage, 'url', remove_required=True))
-@cli_util.option('--tenancy-id', help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_object_storage, 'tenancy_id', remove_required=True))
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_object_storage, 'tenancy_id', remove_required=True))
@cli_util.option('--namespace', help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_object_storage, 'namespace', remove_required=True))
@cli_util.option('--host', help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_oracle, 'host', remove_required=True))
@cli_util.option('--port', help=copy_help_from_generated_code(dataintegration_cli.update_data_asset_update_data_asset_from_oracle, 'port', remove_required=True))
diff --git a/services/data_integration/src/oci_cli_data_integration/generated/dataintegration_cli.py b/services/data_integration/src/oci_cli_data_integration/generated/dataintegration_cli.py
index e19adbfc..874556ed 100644
--- a/services/data_integration/src/oci_cli_data_integration/generated/dataintegration_cli.py
+++ b/services/data_integration/src/oci_cli_data_integration/generated/dataintegration_cli.py
@@ -313,7 +313,7 @@ def runtime_pipeline_group():
@workspace_group.command(name=cli_util.override('data_integration.change_compartment.command_name', 'change-compartment'), help=u"""Moves a workspace to a specified compartment. \n[Command Reference](changeCompartment)""")
@cli_util.option('--workspace-id', required=True, help=u"""The workspace ID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to move the the workspace to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to move the the workspace to.""")
@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. When 'if-match' is provided and its value does not exactly match the 'etag' of the resource on the server, the request fails with the 412 response code.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -375,7 +375,7 @@ def change_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@dis_application_group.command(name=cli_util.override('data_integration.change_dis_application_compartment.command_name', 'change-compartment'), help=u"""Moves a DIS Application to a specified compartment. \n[Command Reference](changeDisApplicationCompartment)""")
@cli_util.option('--workspace-id', required=True, help=u"""The workspace ID.""")
@cli_util.option('--dis-application-id', required=True, help=u"""The OCID of the DIS Application.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to move the the DIS Application to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to move the the DIS Application to.""")
@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. When 'if-match' is provided and its value does not exactly match the 'etag' of the resource on the server, the request fails with the 412 response code.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1827,7 +1827,7 @@ def create_connection_create_connection_from_rest_no_auth(ctx, from_json, worksp
This option is a JSON list with items of type ConnectionProperty. For documentation on ConnectionProperty please see our API reference: https://docs.cloud.oracle.com/api/#/en/dataintegration/20200430/datatypes/ConnectionProperty.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--registry-metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--credential-file-content', help=u"""The credential file content from an Oracle Object Storage wallet.""")
-@cli_util.option('--user-id', help=u"""The OCI user OCID for the user to connect to.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The OCI user OCID for the user to connect to.""")
@cli_util.option('--finger-print', help=u"""The fingerprint for the user.""")
@cli_util.option('--pass-phrase', help=u"""The passphrase for the connection.""")
@json_skeleton_utils.get_cli_json_input_option({'parent-ref': {'module': 'data_integration', 'class': 'ParentReference'}, 'connection-properties': {'module': 'data_integration', 'class': 'list[ConnectionProperty]'}, 'registry-metadata': {'module': 'data_integration', 'class': 'RegistryMetadata'}})
@@ -5659,8 +5659,8 @@ def create_data_asset_create_data_asset_from_oracle(ctx, from_json, workspace_id
@cli_util.option('--wallet-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wallet-password-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--region-id', help=u"""The Autonomous Data Warehouse instance region Id.""")
-@cli_util.option('--tenancy-id', help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
-@cli_util.option('--compartment-id', help=u"""The Autonomous Data Warehouse instance compartment Id.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance compartment Id.""")
@cli_util.option('--autonomous-db-id', help=u"""Tha Autonomous Database Id""")
@cli_util.option('--default-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--staging-data-asset', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6023,8 +6023,8 @@ def create_data_asset_create_data_asset_from_fusion_app(ctx, from_json, workspac
@cli_util.option('--wallet-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wallet-password-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--region-id', help=u"""The Autonomous Data Warehouse instance region Id.""")
-@cli_util.option('--tenancy-id', help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
-@cli_util.option('--compartment-id', help=u"""The Autonomous Data Warehouse instance compartment Id.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance compartment Id.""")
@cli_util.option('--autonomous-db-id', help=u"""Tha Autonomous Database Id""")
@cli_util.option('--default-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--staging-data-asset', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6131,7 +6131,7 @@ def create_data_asset_create_data_asset_from_atp(ctx, from_json, workspace_id, n
@cli_util.option('--registry-metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--oci-region', help=u"""The Oracle Object storage Region ie. us-ashburn-1""")
@cli_util.option('--url', help=u"""The Oracle Object storage URL.""")
-@cli_util.option('--tenancy-id', help=u"""The OCI tenancy OCID.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The OCI tenancy OCID.""")
@cli_util.option('--namespace', help=u"""The namespace for the specified Oracle Object storage resource. You can find the namespace under Object Storage Settings in the Console.""")
@cli_util.option('--default-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'asset-properties': {'module': 'data_integration', 'class': 'dict(str, string)'}, 'registry-metadata': {'module': 'data_integration', 'class': 'RegistryMetadata'}, 'default-connection': {'module': 'data_integration', 'class': 'CreateConnectionFromObjectStorage'}})
@@ -6368,7 +6368,7 @@ def create_data_flow_validation(ctx, from_json, workspace_id, key, model_type, m
@cli_util.option('--workspace-id', required=True, help=u"""The workspace ID.""")
@cli_util.option('--name', required=True, help=u"""Free form text without any restriction on permitted characters. Name can have letters, numbers, and special characters. The value is editable and is restricted to 1000 characters.""")
@cli_util.option('--identifier', required=True, help=u"""Value can only contain upper case letters, underscore, and numbers. It should begin with upper case letter or underscore. The value can be modified.""")
-@cli_util.option('--compartment-id', help=u"""OCID of the compartment that this resource belongs to. Defaults to compartment of the Workspace.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""OCID of the compartment that this resource belongs to. Defaults to compartment of the Workspace.""")
@cli_util.option('--key', help=u"""Currently not used on application creation. Reserved for future.""")
@cli_util.option('--model-version', help=u"""The object's model version.""")
@cli_util.option('--model-type', type=custom_types.CliCaseInsensitiveChoice(["INTEGRATION_APPLICATION"]), help=u"""The type of the application.""")
@@ -6558,7 +6558,7 @@ def create_entity_shape(ctx, from_json, workspace_id, connection_key, schema_res
@cli_util.option('--description', help=u"""Detailed description for the object.""")
@cli_util.option('--external-key', help=u"""The external key for the object.""")
@cli_util.option('--shape', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--shape-id', help=u"""The shape ID.""")
+@cli_util.option('--shape-id', type=custom_types.CLI_OCID, help=u"""The shape ID.""")
@cli_util.option('--entity-type', type=custom_types.CliCaseInsensitiveChoice(["TABLE", "VIEW", "FILE", "SQL", "OBJECT"]), help=u"""The entity type.""")
@cli_util.option('--other-type-label', help=u"""Specifies other type label.""")
@cli_util.option('--unique-keys', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of unique keys.
@@ -6659,7 +6659,7 @@ def create_entity_shape_create_entity_shape_from_object(ctx, from_json, workspac
@cli_util.option('--object-version', type=click.INT, help=u"""The version of the object that is used to track changes in the object instance.""")
@cli_util.option('--external-key', help=u"""The external key for the object.""")
@cli_util.option('--shape', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--shape-id', help=u"""The shape ID.""")
+@cli_util.option('--shape-id', type=custom_types.CLI_OCID, help=u"""The shape ID.""")
@cli_util.option('--entity-type', type=custom_types.CliCaseInsensitiveChoice(["TABLE", "VIEW", "FILE", "SQL"]), help=u"""The entity type.""")
@cli_util.option('--other-type-label', help=u"""Specifies other type label.""")
@cli_util.option('--unique-keys', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of unique keys.
@@ -6776,7 +6776,7 @@ def create_entity_shape_create_entity_shape_from_sql(ctx, from_json, workspace_i
@cli_util.option('--object-version', type=click.INT, help=u"""The version of the object that is used to track changes in the object instance.""")
@cli_util.option('--external-key', help=u"""The external key for the object.""")
@cli_util.option('--shape', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--shape-id', help=u"""The shape ID.""")
+@cli_util.option('--shape-id', type=custom_types.CLI_OCID, help=u"""The shape ID.""")
@cli_util.option('--types', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--entity-type', type=custom_types.CliCaseInsensitiveChoice(["TABLE", "VIEW", "FILE", "QUEUE", "STREAM", "OTHER"]), help=u"""The entity type.""")
@cli_util.option('--other-type-label', help=u"""Specifies other type label.""")
@@ -9489,9 +9489,9 @@ def create_user_defined_function_validation(ctx, from_json, workspace_id, key, m
@workspace_group.command(name=cli_util.override('data_integration.create_workspace.command_name', 'create'), help=u"""Creates a new Data Integration workspace ready for performing data integration tasks. To retrieve the OCID for the new workspace, use the opc-work-request-id returned by this API and call the [GetWorkRequest] API. \n[Command Reference](createWorkspace)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the workspace. Does not have to be unique, and can be modified. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the workspace.""")
-@cli_util.option('--vcn-id', help=u"""The OCID of the VCN the subnet is in.""")
-@cli_util.option('--subnet-id', help=u"""The OCID of the subnet for customer connected databases.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the workspace.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The OCID of the VCN the subnet is in.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The OCID of the subnet for customer connected databases.""")
@cli_util.option('--dns-server-ip', help=u"""The IP of the custom DNS.""")
@cli_util.option('--dns-server-zone', help=u"""The DNS zone of the custom DNS to use to resolve names.""")
@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. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12420,7 +12420,7 @@ def list_dis_application_task_run_lineages(ctx, from_json, all_pages, page_size,
@dis_application_group.command(name=cli_util.override('data_integration.list_dis_applications.command_name', 'list'), help=u"""Retrieves a list of DIS Applications in a compartment and provides options to filter the list. \n[Command Reference](listDisApplications)""")
@cli_util.option('--workspace-id', required=True, help=u"""The workspace ID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment for which the list of DIS Applications is to be retrieved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment for which the list of DIS Applications is to be retrieved.""")
@cli_util.option('--name', help=u"""Used to filter by the name of the object.""")
@cli_util.option('--name-contains', help=u"""This parameter can be used to filter objects by the names that match partially or fully with the given value.""")
@cli_util.option('--identifier', multiple=True, help=u"""Used to filter by the identifier of the published object.""")
@@ -14534,7 +14534,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('data_integration.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the resources you want to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the resources you want to list.""")
@cli_util.option('--workspace-id', help=u"""DIS workspace id""")
@cli_util.option('--work-request-status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""The work request status.""")
@cli_util.option('--page', help=u"""For list pagination. The value for this parameter is the `opc-next-page` or the `opc-prev-page` response header from the previous `List` call. See [List Pagination].""")
@@ -14594,7 +14594,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, wor
@workspace_group.command(name=cli_util.override('data_integration.list_workspaces.command_name', 'list'), help=u"""Retrieves a list of Data Integration workspaces. \n[Command Reference](listWorkspaces)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the resources you want to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the resources you want to list.""")
@cli_util.option('--name', help=u"""Used to filter by the name of the object.""")
@cli_util.option('--limit', type=click.INT, help=u"""Sets the maximum number of results per page, or items to return in a paginated `List` call. See [List Pagination].""")
@cli_util.option('--page', help=u"""For list pagination. The value for this parameter is the `opc-next-page` or the `opc-prev-page` response header from the previous `List` call. See [List Pagination].""")
@@ -15191,7 +15191,7 @@ def update_connection_update_connection_from_oracle_ebs(ctx, from_json, force, w
This option is a JSON list with items of type ConnectionProperty. For documentation on ConnectionProperty please see our API reference: https://docs.cloud.oracle.com/api/#/en/dataintegration/20200430/datatypes/ConnectionProperty.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--registry-metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--credential-file-content', help=u"""The credential file content from an Oracle Object Storage wallet.""")
-@cli_util.option('--user-id', help=u"""The OCI user OCID for the user to connect to.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The OCI user OCID for the user to connect to.""")
@cli_util.option('--finger-print', help=u"""The fingerprint for the user.""")
@cli_util.option('--pass-phrase', help=u"""The passphrase for the connection.""")
@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. When 'if-match' is provided and its value does not exactly match the 'etag' of the resource on the server, the request fails with the 412 response code.""")
@@ -17034,8 +17034,8 @@ def update_data_asset_update_data_asset_from_oracle_ebs(ctx, from_json, force, w
@cli_util.option('--wallet-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wallet-password-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--region-id', help=u"""The Autonomous Data Warehouse instance region Id.""")
-@cli_util.option('--tenancy-id', help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
-@cli_util.option('--compartment-id', help=u"""The Autonomous Data Warehouse instance compartment Id.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance compartment Id.""")
@cli_util.option('--autonomous-db-id', help=u"""Tha Autonomous Database Id""")
@cli_util.option('--default-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. When 'if-match' is provided and its value does not exactly match the 'etag' of the resource on the server, the request fails with the 412 response code.""")
@@ -17339,7 +17339,7 @@ def update_data_asset_update_data_asset_from_oracle_people_soft(ctx, from_json,
@cli_util.option('--registry-metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--oci-region', help=u"""The Oracle Object storage Region ie. us-ashburn-1""")
@cli_util.option('--url', help=u"""The Oracle Object storage URL.""")
-@cli_util.option('--tenancy-id', help=u"""The OCI tenancy OCID.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The OCI tenancy OCID.""")
@cli_util.option('--namespace', help=u"""The namespace for the specified Oracle Object storage resource. You can find the namespace under Object Storage Settings in the Console.""")
@cli_util.option('--default-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. When 'if-match' is provided and its value does not exactly match the 'etag' of the resource on the server, the request fails with the 412 response code.""")
@@ -17806,8 +17806,8 @@ def update_data_asset_update_data_asset_from_lake(ctx, from_json, force, workspa
@cli_util.option('--wallet-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wallet-password-secret', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--region-id', help=u"""The Autonomous Data Warehouse instance region Id.""")
-@cli_util.option('--tenancy-id', help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
-@cli_util.option('--compartment-id', help=u"""The Autonomous Data Warehouse instance compartment Id.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance tenancy Id.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The Autonomous Data Warehouse instance compartment Id.""")
@cli_util.option('--autonomous-db-id', help=u"""Tha Autonomous Database Id""")
@cli_util.option('--default-connection', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. When 'if-match' is provided and its value does not exactly match the 'etag' of the resource on the server, the request fails with the 412 response code.""")
diff --git a/services/data_labeling_service/src/oci_cli_data_labeling_management/generated/datalabelingmanagement_cli.py b/services/data_labeling_service/src/oci_cli_data_labeling_management/generated/datalabelingmanagement_cli.py
index 60adbc05..efc5a1f8 100644
--- a/services/data_labeling_service/src/oci_cli_data_labeling_management/generated/datalabelingmanagement_cli.py
+++ b/services/data_labeling_service/src/oci_cli_data_labeling_management/generated/datalabelingmanagement_cli.py
@@ -117,7 +117,7 @@ def add_dataset_labels(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@dataset_group.command(name=cli_util.override('data_labeling_service.change_dataset_compartment.command_name', 'change-compartment'), help=u"""Moves a Dataset resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeDatasetCompartment)""")
@cli_util.option('--dataset-id', required=True, help=u"""Unique Dataset OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "SUCCEEDED", "CANCELING", "CANCELED", "FAILED"]), 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.""")
@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.""")
@@ -177,7 +177,7 @@ def change_dataset_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@dataset_group.command(name=cli_util.override('data_labeling_service.create_dataset.command_name', 'create'), help=u"""Creates a new Dataset. \n[Command Reference](createDataset)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the resource.""")
@cli_util.option('--annotation-format', required=True, help=u"""The annotation format name required for labeling records.""")
@cli_util.option('--dataset-source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--dataset-format-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -266,7 +266,7 @@ def create_dataset(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@dataset_group.command(name=cli_util.override('data_labeling_service.create_dataset_object_storage_source_details.command_name', 'create-dataset-object-storage-source-details'), help=u"""Creates a new Dataset. \n[Command Reference](createDataset)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the resource.""")
@cli_util.option('--annotation-format', required=True, help=u"""The annotation format name required for labeling records.""")
@cli_util.option('--dataset-format-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--label-set', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -364,7 +364,7 @@ def create_dataset_object_storage_source_details(ctx, from_json, wait_for_state,
@dataset_group.command(name=cli_util.override('data_labeling_service.create_dataset_image_dataset_format_details.command_name', 'create-dataset-image-dataset-format-details'), help=u"""Creates a new Dataset. \n[Command Reference](createDataset)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the resource.""")
@cli_util.option('--annotation-format', required=True, help=u"""The annotation format name required for labeling records.""")
@cli_util.option('--dataset-source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--label-set', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -454,7 +454,7 @@ def create_dataset_image_dataset_format_details(ctx, from_json, wait_for_state,
@dataset_group.command(name=cli_util.override('data_labeling_service.create_dataset_document_dataset_format_details.command_name', 'create-dataset-document-dataset-format-details'), help=u"""Creates a new Dataset. \n[Command Reference](createDataset)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the resource.""")
@cli_util.option('--annotation-format', required=True, help=u"""The annotation format name required for labeling records.""")
@cli_util.option('--dataset-source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--label-set', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -544,7 +544,7 @@ def create_dataset_document_dataset_format_details(ctx, from_json, wait_for_stat
@dataset_group.command(name=cli_util.override('data_labeling_service.create_dataset_text_dataset_format_details.command_name', 'create-dataset-text-dataset-format-details'), help=u"""Creates a new Dataset. \n[Command Reference](createDataset)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the resource.""")
@cli_util.option('--annotation-format', required=True, help=u"""The annotation format name required for labeling records.""")
@cli_util.option('--dataset-source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--label-set', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -940,7 +940,7 @@ def import_pre_annotated_data_object_storage_import_metadata_path(ctx, from_json
@annotation_format_group.command(name=cli_util.override('data_labeling_service.list_annotation_formats.command_name', 'list'), help=u"""These are a static list in a given region. \n[Command Reference](listAnnotationFormats)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -991,7 +991,7 @@ def list_annotation_formats(ctx, from_json, all_pages, page_size, compartment_id
@dataset_collection_group.command(name=cli_util.override('data_labeling_service.list_datasets.command_name', 'list-datasets'), help=u"""Returns a list of Datasets. \n[Command Reference](listDatasets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Unique Dataset OCID""")
@cli_util.option('--annotation-format', help=u"""A filter to return only resources that match the entire annotation format given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources whose lifecycleState matches this query param.""")
@@ -1159,7 +1159,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('data_labeling_service.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/data_labeling_service_dataplane/src/oci_cli_data_labeling/generated/datalabeling_cli.py b/services/data_labeling_service_dataplane/src/oci_cli_data_labeling/generated/datalabeling_cli.py
index 4a0fd4ab..a69e6638 100644
--- a/services/data_labeling_service_dataplane/src/oci_cli_data_labeling/generated/datalabeling_cli.py
+++ b/services/data_labeling_service_dataplane/src/oci_cli_data_labeling/generated/datalabeling_cli.py
@@ -75,7 +75,7 @@ def annotation_collection_group():
@annotation_group.command(name=cli_util.override('data_labeling_service_dataplane.create_annotation.command_name', 'create'), help=u"""Creates an annotation. \n[Command Reference](createAnnotation)""")
@cli_util.option('--record-id', required=True, help=u"""The OCID of the record annotated.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the annotation.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the annotation.""")
@cli_util.option('--entities', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The entity types are validated against the dataset to ensure consistency.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The defined tags for this resource. Each key is predefined and scoped to a namespace. For example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -137,7 +137,7 @@ def create_annotation(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@record_group.command(name=cli_util.override('data_labeling_service_dataplane.create_record.command_name', 'create'), help=u"""Creates a record. \n[Command Reference](createRecord)""")
@cli_util.option('--name', required=True, help=u"""The name is automatically assigned by the service. It is unique and immutable.""")
@cli_util.option('--dataset-id', required=True, help=u"""The OCID of the dataset to associate the record with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
@cli_util.option('--source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--record-metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -204,7 +204,7 @@ def create_record(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@record_group.command(name=cli_util.override('data_labeling_service_dataplane.create_record_create_object_storage_source_details.command_name', 'create-record-create-object-storage-source-details'), help=u"""Creates a record. \n[Command Reference](createRecord)""")
@cli_util.option('--name', required=True, help=u"""The name is automatically assigned by the service. It is unique and immutable.""")
@cli_util.option('--dataset-id', required=True, help=u"""The OCID of the dataset to associate the record with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
@cli_util.option('--source-details-relative-path', required=True, help=u"""The path relative to the prefix specified in the dataset source details (file name).""")
@cli_util.option('--record-metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -282,7 +282,7 @@ def create_record_create_object_storage_source_details(ctx, from_json, wait_for_
@record_group.command(name=cli_util.override('data_labeling_service_dataplane.create_record_document_metadata.command_name', 'create-record-document-metadata'), help=u"""Creates a record. \n[Command Reference](createRecord)""")
@cli_util.option('--name', required=True, help=u"""The name is automatically assigned by the service. It is unique and immutable.""")
@cli_util.option('--dataset-id', required=True, help=u"""The OCID of the dataset to associate the record with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
@cli_util.option('--source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The defined tags for this resource. Each key is predefined and scoped to a namespace. For example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -352,7 +352,7 @@ def create_record_document_metadata(ctx, from_json, wait_for_state, max_wait_sec
@record_group.command(name=cli_util.override('data_labeling_service_dataplane.create_record_image_metadata.command_name', 'create-record-image-metadata'), help=u"""Creates a record. \n[Command Reference](createRecord)""")
@cli_util.option('--name', required=True, help=u"""The name is automatically assigned by the service. It is unique and immutable.""")
@cli_util.option('--dataset-id', required=True, help=u"""The OCID of the dataset to associate the record with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
@cli_util.option('--source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The defined tags for this resource. Each key is predefined and scoped to a namespace. For example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -430,7 +430,7 @@ def create_record_image_metadata(ctx, from_json, wait_for_state, max_wait_second
@record_group.command(name=cli_util.override('data_labeling_service_dataplane.create_record_text_metadata.command_name', 'create-record-text-metadata'), help=u"""Creates a record. \n[Command Reference](createRecord)""")
@cli_util.option('--name', required=True, help=u"""The name is automatically assigned by the service. It is unique and immutable.""")
@cli_util.option('--dataset-id', required=True, help=u"""The OCID of the dataset to associate the record with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for the record. This is tied to the dataset. It is not changeable on the record itself.""")
@cli_util.option('--source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. It exists for cross-compatibility only. For example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The defined tags for this resource. Each key is predefined and scoped to a namespace. For example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -784,7 +784,7 @@ def get_record_preview_content(ctx, from_json, file, record_id, if_none_match):
@annotation_collection_group.command(name=cli_util.override('data_labeling_service_dataplane.list_annotations.command_name', 'list-annotations'), help=u"""Returns a list of annotations. \n[Command Reference](listAnnotations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--dataset-id', required=True, help=u"""Filter the results by the OCID of the dataset.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--id', help=u"""The unique OCID identifier.""")
@@ -860,7 +860,7 @@ def list_annotations(ctx, from_json, all_pages, page_size, compartment_id, datas
@record_collection_group.command(name=cli_util.override('data_labeling_service_dataplane.list_records.command_name', 'list-records'), help=u"""The list of records in the specified compartment. \n[Command Reference](listRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--dataset-id', required=True, help=u"""Filter the results by the OCID of the dataset.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--name', help=u"""The name of the record.""")
@@ -933,7 +933,7 @@ def list_records(ctx, from_json, all_pages, page_size, compartment_id, dataset_i
@annotation_analytics_aggregation_collection_group.command(name=cli_util.override('data_labeling_service_dataplane.summarize_annotation_analytics.command_name', 'summarize-annotation-analytics'), help=u"""Summarize the annotations created for a given dataset. \n[Command Reference](summarizeAnnotationAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--dataset-id', required=True, help=u"""Filter the results by the OCID of the dataset.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--label', help=u"""It summarizes annotations with the specified label.""")
@@ -975,7 +975,7 @@ def summarize_annotation_analytics(ctx, from_json, compartment_id, dataset_id, l
@record_analytics_aggregation_collection_group.command(name=cli_util.override('data_labeling_service_dataplane.summarize_record_analytics.command_name', 'summarize-record-analytics'), help=u"""Summarize the records created for a given dataset. \n[Command Reference](summarizeRecordAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--dataset-id', required=True, help=u"""Filter the results by the OCID of the dataset.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/data_safe/src/oci_cli_data_safe/generated/datasafe_cli.py b/services/data_safe/src/oci_cli_data_safe/generated/datasafe_cli.py
index 2d589bf7..b1d9ad32 100644
--- a/services/data_safe/src/oci_cli_data_safe/generated/datasafe_cli.py
+++ b/services/data_safe/src/oci_cli_data_safe/generated/datasafe_cli.py
@@ -781,7 +781,7 @@ def add_masking_columns_from_sdm(ctx, from_json, wait_for_state, max_wait_second
@alert_group.command(name=cli_util.override('data_safe.alerts_update.command_name', 'alerts-update'), help=u"""Updates alerts in the specified compartment. \n[Command Reference](alertsUpdate)""")
@cli_util.option('--status', required=True, type=custom_types.CliCaseInsensitiveChoice(["OPEN", "CLOSED"]), help=u"""The status of the alert.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the alerts.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the alerts.""")
@cli_util.option('--target-id', help=u"""The OCID of the target database associated with the alerts.""")
@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.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@@ -1269,7 +1269,7 @@ def bulk_create_sql_firewall_allowed_sqls_scim_query_selection_mode(ctx, from_js
@unified_audit_policy_group.command(name=cli_util.override('data_safe.bulk_create_unified_audit_policy.command_name', 'bulk-create'), help=u"""Bulk create unified audit policies. \n[Command Reference](bulkCreateUnifiedAuditPolicy)""")
@cli_util.option('--security-policy-id', required=True, help=u"""The OCID of the security policy corresponding to the unified audit policy.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the target database.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the unified audit policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the unified audit policy.""")
@cli_util.option('--unified-audit-policy-definition-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of unified audit policy definition ocids. If unified audit policy definition ids are provided, the imported audit policy will be associated to the specified unified audit policy definition based on the policy name. Else, for every audit policy that gets imported, a new unified audit policy definition will be created.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--policy-names', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of unified audit policy names to be imported.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--should-preserve-casing', type=click.BOOL, help=u"""Indicates whether the casing of the policy names provided in the request payload should be preserved during creation. By default all policy names will be converted to upper case.""")
@@ -1672,7 +1672,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@alert_group.command(name=cli_util.override('data_safe.change_alert_compartment.command_name', 'change-compartment'), help=u"""Moves the specified alert into a different compartment. \n[Command Reference](changeAlertCompartment)""")
@cli_util.option('--alert-id', required=True, help=u"""The OCID of alert.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the new compartment to move the alert to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment to move the alert to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1703,7 +1703,7 @@ def change_alert_compartment(ctx, from_json, alert_id, compartment_id, if_match)
@alert_policy_group.command(name=cli_util.override('data_safe.change_alert_policy_compartment.command_name', 'change-compartment'), help=u"""Moves the specified alert policy into a different compartment. \n[Command Reference](changeAlertPolicyCompartment)""")
@cli_util.option('--alert-policy-id', required=True, help=u"""The OCID of the alert policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the alert policy has to be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the alert policy has to be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -1764,7 +1764,7 @@ def change_alert_policy_compartment(ctx, from_json, wait_for_state, max_wait_sec
@attribute_set_group.command(name=cli_util.override('data_safe.change_attribute_set_compartment.command_name', 'change-compartment'), help=u"""Moves the attribute set to the specified compartment. When provided, if-Match is checked against ETag value of the resource. \n[Command Reference](changeAttributeSetCompartment)""")
@cli_util.option('--attribute-set-id', required=True, help=u"""OCID of an attribute set.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the new compartment were attribute set resource would move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment were attribute set resource would move.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -1825,7 +1825,7 @@ def change_attribute_set_compartment(ctx, from_json, wait_for_state, max_wait_se
@audit_archive_retrieval_group.command(name=cli_util.override('data_safe.change_audit_archive_retrieval_compartment.command_name', 'change-compartment'), help=u"""Moves the archive retreival to the specified compartment. When provided, if-Match is checked against ETag value of the resource. \n[Command Reference](changeAuditArchiveRetrievalCompartment)""")
@cli_util.option('--audit-archive-retrieval-id', required=True, help=u"""OCID of the archive retrieval.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the new compartment were achieve retrieval resource would move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment were achieve retrieval resource would move.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -1886,7 +1886,7 @@ def change_audit_archive_retrieval_compartment(ctx, from_json, wait_for_state, m
@audit_policy_group.command(name=cli_util.override('data_safe.change_audit_policy_compartment.command_name', 'change-compartment'), help=u"""Moves the specified audit policy and its dependent resources into a different compartment. \n[Command Reference](changeAuditPolicyCompartment)""")
@cli_util.option('--audit-policy-id', required=True, help=u"""Unique audit policy identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the audit policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the audit policy.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -1947,7 +1947,7 @@ def change_audit_policy_compartment(ctx, from_json, wait_for_state, max_wait_sec
@audit_profile_group.command(name=cli_util.override('data_safe.change_audit_profile_compartment.command_name', 'change-compartment'), help=u"""Moves the specified audit profile and its dependent resources into a different compartment. \n[Command Reference](changeAuditProfileCompartment)""")
@cli_util.option('--audit-profile-id', required=True, help=u"""The OCID of the audit.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the audit profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the audit profile.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2008,7 +2008,7 @@ def change_audit_profile_compartment(ctx, from_json, wait_for_state, max_wait_se
@data_safe_private_endpoint_group.command(name=cli_util.override('data_safe.change_data_safe_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves the Data Safe private endpoint and its dependent resources to the specified compartment. \n[Command Reference](changeDataSafePrivateEndpointCompartment)""")
@cli_util.option('--data-safe-private-endpoint-id', required=True, help=u"""The OCID of the private endpoint.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the new compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2071,7 +2071,7 @@ def change_data_safe_private_endpoint_compartment(ctx, from_json, wait_for_state
@database_security_config_group.command(name=cli_util.override('data_safe.change_database_security_config_compartment.command_name', 'change-compartment'), help=u"""Moves the specified database security configuration and its dependent resources into a different compartment. \n[Command Reference](changeDatabaseSecurityConfigCompartment)""")
@cli_util.option('--database-security-config-id', required=True, help=u"""The OCID of the database security configuration resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the database security config.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the database security config.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2132,7 +2132,7 @@ def change_database_security_config_compartment(ctx, from_json, wait_for_state,
@discovery_job_group.command(name=cli_util.override('data_safe.change_discovery_job_compartment.command_name', 'change-compartment'), help=u"""Moves the specified discovery job and its dependent resources into a different compartment. \n[Command Reference](changeDiscoveryJobCompartment)""")
@cli_util.option('--discovery-job-id', required=True, help=u"""The OCID of the discovery job.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the discovery job should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the discovery job should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2163,7 +2163,7 @@ def change_discovery_job_compartment(ctx, from_json, discovery_job_id, compartme
@library_masking_format_group.command(name=cli_util.override('data_safe.change_library_masking_format_compartment.command_name', 'change-compartment'), help=u"""Moves the specified library masking format into a different compartment. \n[Command Reference](changeLibraryMaskingFormatCompartment)""")
@cli_util.option('--library-masking-format-id', required=True, help=u"""The OCID of the library masking format.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the library masking format should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the library masking format should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2194,7 +2194,7 @@ def change_library_masking_format_compartment(ctx, from_json, library_masking_fo
@masking_policy_group.command(name=cli_util.override('data_safe.change_masking_policy_compartment.command_name', 'change-compartment'), help=u"""Moves the specified masking policy and its dependent resources into a different compartment. \n[Command Reference](changeMaskingPolicyCompartment)""")
@cli_util.option('--masking-policy-id', required=True, help=u"""The OCID of the masking policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the masking policy should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the masking policy should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2225,7 +2225,7 @@ def change_masking_policy_compartment(ctx, from_json, masking_policy_id, compart
@masking_policy_health_report_group.command(name=cli_util.override('data_safe.change_masking_policy_health_report_compartment.command_name', 'change-compartment'), help=u"""Moves the specified masking policy health report and its dependent resources into a different compartment. \n[Command Reference](changeMaskingPolicyHealthReportCompartment)""")
@cli_util.option('--masking-policy-health-report-id', required=True, help=u"""The OCID of the masking health report.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the masking policy should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the masking policy should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2256,7 +2256,7 @@ def change_masking_policy_health_report_compartment(ctx, from_json, masking_poli
@on_prem_connector_group.command(name=cli_util.override('data_safe.change_on_prem_connector_compartment.command_name', 'change-compartment'), help=u"""Moves the specified on-premises connector into a different compartment. \n[Command Reference](changeOnPremConnectorCompartment)""")
@cli_util.option('--on-prem-connector-id', required=True, help=u"""The OCID of the on-premises connector.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the new compartment where you want to move the on-premises connector.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment where you want to move the on-premises connector.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2287,7 +2287,7 @@ def change_on_prem_connector_compartment(ctx, from_json, on_prem_connector_id, c
@report_group.command(name=cli_util.override('data_safe.change_report_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeReportCompartment)""")
@cli_util.option('--report-id', required=True, help=u"""Unique report identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2348,7 +2348,7 @@ def change_report_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@report_definition_group.command(name=cli_util.override('data_safe.change_report_definition_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeReportDefinitionCompartment)""")
@cli_util.option('--report-definition-id', required=True, help=u"""Unique report definition identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2480,7 +2480,7 @@ def change_retention(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@sdm_masking_policy_difference_group.command(name=cli_util.override('data_safe.change_sdm_masking_policy_difference_compartment.command_name', 'change-compartment'), help=u"""Moves the specified SDM masking policy difference into a different compartment. \n[Command Reference](changeSdmMaskingPolicyDifferenceCompartment)""")
@cli_util.option('--sdm-masking-policy-difference-id', required=True, help=u"""The OCID of the SDM masking policy difference.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the SDM masking policy difference should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the SDM masking policy difference should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2515,7 +2515,7 @@ def change_sdm_masking_policy_difference_compartment(ctx, from_json, sdm_masking
The existing saved security assessments created due to the schedule are not moved. However, all new saves will be associated with the new compartment. \n[Command Reference](changeSecurityAssessmentCompartment)""")
@cli_util.option('--security-assessment-id', required=True, help=u"""The OCID of the security assessment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the security assessment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the security assessment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2546,7 +2546,7 @@ def change_security_assessment_compartment(ctx, from_json, security_assessment_i
@security_policy_group.command(name=cli_util.override('data_safe.change_security_policy_compartment.command_name', 'change-compartment'), help=u"""Moves the specified security policy and its dependent resources into a different compartment. \n[Command Reference](changeSecurityPolicyCompartment)""")
@cli_util.option('--security-policy-id', required=True, help=u"""The OCID of the security policy resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the security policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the security policy.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2607,7 +2607,7 @@ def change_security_policy_compartment(ctx, from_json, wait_for_state, max_wait_
@security_policy_config_group.command(name=cli_util.override('data_safe.change_security_policy_config_compartment.command_name', 'change-compartment'), help=u"""Moves the specified security policy configuration and its dependent resources into a different compartment. \n[Command Reference](changeSecurityPolicyConfigCompartment)""")
@cli_util.option('--security-policy-config-id', required=True, help=u"""The OCID of the security policy configuration resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the security policy configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the security policy configuration.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2668,7 +2668,7 @@ def change_security_policy_config_compartment(ctx, from_json, wait_for_state, ma
@security_policy_deployment_group.command(name=cli_util.override('data_safe.change_security_policy_deployment_compartment.command_name', 'change-compartment'), help=u"""Moves the specified security policy deployment and its dependent resources into a different compartment. \n[Command Reference](changeSecurityPolicyDeploymentCompartment)""")
@cli_util.option('--security-policy-deployment-id', required=True, help=u"""The OCID of the security policy deployment resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the security policy deployment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the security policy deployment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2729,7 +2729,7 @@ def change_security_policy_deployment_compartment(ctx, from_json, wait_for_state
@sensitive_data_model_group.command(name=cli_util.override('data_safe.change_sensitive_data_model_compartment.command_name', 'change-compartment'), help=u"""Moves the specified sensitive data model and its dependent resources into a different compartment. \n[Command Reference](changeSensitiveDataModelCompartment)""")
@cli_util.option('--sensitive-data-model-id', required=True, help=u"""The OCID of the sensitive data model.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive data model should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive data model should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2760,7 +2760,7 @@ def change_sensitive_data_model_compartment(ctx, from_json, sensitive_data_model
@sensitive_type_group.command(name=cli_util.override('data_safe.change_sensitive_type_compartment.command_name', 'change-compartment'), help=u"""Moves the specified sensitive type into a different compartment. \n[Command Reference](changeSensitiveTypeCompartment)""")
@cli_util.option('--sensitive-type-id', required=True, help=u"""The OCID of the sensitive type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive type should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive type should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2791,7 +2791,7 @@ def change_sensitive_type_compartment(ctx, from_json, sensitive_type_id, compart
@sensitive_type_group_group.command(name=cli_util.override('data_safe.change_sensitive_type_group_compartment.command_name', 'change-compartment'), help=u"""Moves the sensitive type group to the specified compartment. \n[Command Reference](changeSensitiveTypeGroupCompartment)""")
@cli_util.option('--sensitive-type-group-id', required=True, help=u"""The OCID of the sensitive type group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the sensitive type group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the sensitive type group.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2822,7 +2822,7 @@ def change_sensitive_type_group_compartment(ctx, from_json, sensitive_type_group
@sensitive_types_export_group.command(name=cli_util.override('data_safe.change_sensitive_types_export_compartment.command_name', 'change-compartment'), help=u"""Moves the specified sensitive types export into a different compartment. \n[Command Reference](changeSensitiveTypesExportCompartment)""")
@cli_util.option('--sensitive-types-export-id', required=True, help=u"""The OCID of the sensitive types export.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the sensitive types export.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the sensitive types export.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2853,7 +2853,7 @@ def change_sensitive_types_export_compartment(ctx, from_json, sensitive_types_ex
@sql_collection_group.command(name=cli_util.override('data_safe.change_sql_collection_compartment.command_name', 'change-compartment'), help=u"""Moves the specified SQL collection and its dependent resources into a different compartment. \n[Command Reference](changeSqlCollectionCompartment)""")
@cli_util.option('--sql-collection-id', required=True, help=u"""The OCID of the SQL collection resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the SQL collection.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the SQL collection.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2914,7 +2914,7 @@ def change_sql_collection_compartment(ctx, from_json, wait_for_state, max_wait_s
@sql_firewall_policy_group.command(name=cli_util.override('data_safe.change_sql_firewall_policy_compartment.command_name', 'change-compartment'), help=u"""Moves the specified SQL Firewall policy and its dependent resources into a different compartment. \n[Command Reference](changeSqlFirewallPolicyCompartment)""")
@cli_util.option('--sql-firewall-policy-id', required=True, help=u"""The OCID of the SQL Firewall policy resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the SQL Firewall policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the SQL Firewall policy.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -2975,7 +2975,7 @@ def change_sql_firewall_policy_compartment(ctx, from_json, wait_for_state, max_w
@target_alert_policy_association_group.command(name=cli_util.override('data_safe.change_target_alert_policy_association_compartment.command_name', 'change-compartment'), help=u"""Moves the specified target-alert policy Association into a different compartment. \n[Command Reference](changeTargetAlertPolicyAssociationCompartment)""")
@cli_util.option('--target-alert-policy-association-id', required=True, help=u"""The OCID of the target-alert policy association.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to move the target-alert policy association to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to move the target-alert policy association to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3006,7 +3006,7 @@ def change_target_alert_policy_association_compartment(ctx, from_json, target_al
@target_database_group.command(name=cli_util.override('data_safe.change_target_database_compartment.command_name', 'change-compartment'), help=u"""Moves the Data Safe target database to the specified compartment. \n[Command Reference](changeTargetDatabaseCompartment)""")
@cli_util.option('--target-database-id', required=True, help=u"""The OCID of the Data Safe target database.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment you want to move the Data Safe target database to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment you want to move the Data Safe target database to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3037,7 +3037,7 @@ def change_target_database_compartment(ctx, from_json, target_database_id, compa
@target_database_group_group.command(name=cli_util.override('data_safe.change_target_database_group_compartment.command_name', 'change-compartment'), help=u"""Moves the target database group to the specified compartment. \n[Command Reference](changeTargetDatabaseGroupCompartment)""")
@cli_util.option('--target-database-group-id', required=True, help=u"""The OCID of the specified target database group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which the target database group should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which the target database group should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -3098,7 +3098,7 @@ def change_target_database_group_compartment(ctx, from_json, wait_for_state, max
@unified_audit_policy_group.command(name=cli_util.override('data_safe.change_unified_audit_policy_compartment.command_name', 'change-compartment'), help=u"""Moves the specified Unified Audit policy and its dependent resources into a different compartment. \n[Command Reference](changeUnifiedAuditPolicyCompartment)""")
@cli_util.option('--unified-audit-policy-id', required=True, help=u"""The OCID of the Unified Audit policy resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the unified audit policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the unified audit policy.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -3159,7 +3159,7 @@ def change_unified_audit_policy_compartment(ctx, from_json, wait_for_state, max_
@unified_audit_policy_definition_group.command(name=cli_util.override('data_safe.change_unified_audit_policy_definition_compartment.command_name', 'change-compartment'), help=u"""Moves the specified unified audit policy definition and its dependent resources into a different compartment. \n[Command Reference](changeUnifiedAuditPolicyDefinitionCompartment)""")
@cli_util.option('--unified-audit-policy-definition-id', required=True, help=u"""The OCID of the unified audit policy definition resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the unified audit policy definition.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the unified audit policy definition.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -3220,7 +3220,7 @@ def change_unified_audit_policy_definition_compartment(ctx, from_json, wait_for_
@user_assessment_group.command(name=cli_util.override('data_safe.change_user_assessment_compartment.command_name', 'change-compartment'), help=u"""Moves the specified saved user assessment or future scheduled assessments into a different compartment. To start storing scheduled user assessments on a different compartment, first call the operation ListUserAssessments with the filters \"type = save_schedule\". That call returns the scheduleAssessmentId. Then call ChangeUserAssessmentCompartment with the scheduleAssessmentId. The existing saved user assessments created per the schedule are not be moved. However, all new saves will be associated with the new compartment. \n[Command Reference](changeUserAssessmentCompartment)""")
@cli_util.option('--user-assessment-id', required=True, help=u"""The OCID of the user assessment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to move the user assessment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to move the user assessment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3435,7 +3435,7 @@ def compare_user_assessment(ctx, from_json, wait_for_state, max_wait_seconds, wa
@alert_policy_group.command(name=cli_util.override('data_safe.create_alert_policy.command_name', 'create'), help=u"""Creates a new user-defined alert policy. \n[Command Reference](createAlertPolicy)""")
@cli_util.option('--alert-policy-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["AUDITING", "SECURITY_ASSESSMENT", "USER_ASSESSMENT"]), help=u"""Indicates the Data Safe feature the alert policy belongs to""")
@cli_util.option('--severity', required=True, type=custom_types.CliCaseInsensitiveChoice(["CRITICAL", "HIGH", "MEDIUM", "LOW", "EVALUATE"]), help=u"""Severity level of the alert raised by this policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the alert policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the alert policy.""")
@cli_util.option('--display-name', help=u"""The display name of the alert policy. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--description', help=u"""The description of the alert policy.""")
@cli_util.option('--alert-policy-rule-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The details of the alert policy rule.
@@ -3581,7 +3581,7 @@ def create_alert_policy_rule(ctx, from_json, wait_for_state, max_wait_seconds, w
@attribute_set_group.command(name=cli_util.override('data_safe.create_attribute_set.command_name', 'create'), help=u"""Creates an attribute set. \n[Command Reference](createAttributeSet)""")
@cli_util.option('--display-name', required=True, help=u"""The display name of the attribute set. The name is unique and changeable.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the attribute set.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the attribute set.""")
@cli_util.option('--attribute-set-type', required=True, help=u"""The type of attribute set.""")
@cli_util.option('--attribute-set-values', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of values in an attribute set""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""Description of the attribute set.""")
@@ -3653,7 +3653,7 @@ def create_attribute_set(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@audit_archive_retrieval_group.command(name=cli_util.override('data_safe.create_audit_archive_retrieval.command_name', 'create'), help=u"""Creates a work request to retrieve archived audit data. This asynchronous process will usually take over an hour to complete. Save the id from the response of this operation. Call GetAuditArchiveRetrieval operation after an hour, passing the id to know the status of this operation. \n[Command Reference](createAuditArchiveRetrieval)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the archival retrieval.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the archival retrieval.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the target associated with the archive retrieval.""")
@cli_util.option('--start-date', required=True, type=custom_types.CLI_DATETIME, help=u"""Start month of the archive retrieval, in the format defined by RFC3339.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--end-date', required=True, type=custom_types.CLI_DATETIME, help=u"""End month of the archive retrieval, in the format defined by RFC3339.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -3730,7 +3730,7 @@ def create_audit_archive_retrieval(ctx, from_json, wait_for_state, max_wait_seco
@audit_profile_group.command(name=cli_util.override('data_safe.create_audit_profile.command_name', 'create'), help=u"""Create a new audit profile resource. \n[Command Reference](createAuditProfile)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the audit profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the audit profile.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the target database or target database group for which the audit profile is created.""")
@cli_util.option('--target-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["TARGET_DATABASE", "TARGET_DATABASE_GROUP"]), help=u"""The resource type that is represented by the audit profile.""")
@cli_util.option('--display-name', help=u"""The display name of the audit profile. The name does not have to be unique, and it's updatable.""")
@@ -3822,9 +3822,9 @@ def create_audit_profile(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@data_safe_private_endpoint_group.command(name=cli_util.override('data_safe.create_data_safe_private_endpoint.command_name', 'create'), help=u"""Creates a new Data Safe private endpoint. \n[Command Reference](createDataSafePrivateEndpoint)""")
@cli_util.option('--display-name', required=True, help=u"""The display name for the private endpoint. The name does not have to be unique, and it's changeable.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The OCID of the VCN.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the VCN.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet.""")
@cli_util.option('--private-endpoint-ip', help=u"""The private IP address of the private endpoint.""")
@cli_util.option('--description', help=u"""The description of the private endpoint.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OCIDs of the network security groups that the private endpoint belongs to.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3903,7 +3903,7 @@ def create_data_safe_private_endpoint(ctx, from_json, wait_for_state, max_wait_s
@discovery_job_group.command(name=cli_util.override('data_safe.create_discovery_job.command_name', 'create'), help=u"""Performs incremental data discovery for the specified sensitive data model. It uses the target database associated with the sensitive data model. After performing data discovery, you can use ListDiscoveryJobResults to view the discovery results, PatchDiscoveryJobResults to specify the action you want perform on these results, and then ApplyDiscoveryJobResults to process the results and apply them to the sensitive data model. \n[Command Reference](createDiscoveryJob)""")
@cli_util.option('--sensitive-data-model-id', required=True, help=u"""The OCID of the sensitive data model.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the discovery job resource should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the discovery job resource should be created.""")
@cli_util.option('--discovery-type', help=u"""The type of the discovery job. It defines the job's scope. NEW identifies new sensitive columns in the target database that are not in the sensitive data model. DELETED identifies columns that are present in the sensitive data model but have been deleted from the target database. MODIFIED identifies columns that are present in the target database as well as the sensitive data model but some of their attributes have been modified. ALL covers all the above three scenarios and reports new, deleted and modified columns.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the discovery job. Does not have to be unique, and it is changeable. Avoid entering confidential information.""")
@cli_util.option('--schemas-for-discovery', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The schemas to be scanned by the discovery job. If not provided, the schemasForDiscovery attribute of the sensitive data model is used to get the list of schemas.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4009,7 +4009,7 @@ def create_discovery_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@library_masking_format_group.command(name=cli_util.override('data_safe.create_library_masking_format.command_name', 'create'), help=u"""Creates a new library masking format. A masking format can have one or more format entries. The combined output of all the format entries is used for masking. It provides the flexibility to define a masking format that can generate different parts of a data value separately and then combine them to get the final data value for masking. Note that you cannot define masking condition in a library masking format. \n[Command Reference](createLibraryMaskingFormat)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the library masking format should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the library masking format should be created.""")
@cli_util.option('--format-entries', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of format entries. The combined output of all the format entries is used for masking.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the library masking format. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--description', help=u"""The description of the library masking format.""")
@@ -4180,7 +4180,7 @@ def create_masking_column(ctx, from_json, wait_for_state, max_wait_seconds, wait
You can also create a masking policy without using a sensitive data model. In this case, you need to associate your masking policy with a target database by setting the columnSource attribute to TARGET and providing the targetId attribute. The specified target database is used for column and masking format validations.
After creating a masking policy, you can use the CreateMaskingColumn or PatchMaskingColumns operation to manually add columns to the policy. You need to add the parent columns only, and it automatically adds the child columns (in referential relationship with the parent columns) from the associated sensitive data model or target database. \n[Command Reference](createMaskingPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the masking policy should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the masking policy should be created.""")
@cli_util.option('--column-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the masking policy. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--description', help=u"""The description of the masking policy.""")
@@ -4287,7 +4287,7 @@ def create_masking_policy(ctx, from_json, wait_for_state, max_wait_seconds, wait
You can also create a masking policy without using a sensitive data model. In this case, you need to associate your masking policy with a target database by setting the columnSource attribute to TARGET and providing the targetId attribute. The specified target database is used for column and masking format validations.
After creating a masking policy, you can use the CreateMaskingColumn or PatchMaskingColumns operation to manually add columns to the policy. You need to add the parent columns only, and it automatically adds the child columns (in referential relationship with the parent columns) from the associated sensitive data model or target database. \n[Command Reference](createMaskingPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the masking policy should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the masking policy should be created.""")
@cli_util.option('--column-source-target-id', required=True, help=u"""The OCID of the target database to be associated as the column source with the masking policy.""")
@cli_util.option('--display-name', help=u"""The display name of the masking policy. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--description', help=u"""The description of the masking policy.""")
@@ -4397,7 +4397,7 @@ def create_masking_policy_create_column_source_from_target_details(ctx, from_jso
You can also create a masking policy without using a sensitive data model. In this case, you need to associate your masking policy with a target database by setting the columnSource attribute to TARGET and providing the targetId attribute. The specified target database is used for column and masking format validations.
After creating a masking policy, you can use the CreateMaskingColumn or PatchMaskingColumns operation to manually add columns to the policy. You need to add the parent columns only, and it automatically adds the child columns (in referential relationship with the parent columns) from the associated sensitive data model or target database. \n[Command Reference](createMaskingPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the masking policy should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the masking policy should be created.""")
@cli_util.option('--column-source-sensitive-data-model-id', required=True, help=u"""The OCID of the sensitive data model to be associated as the column source with the masking policy.""")
@cli_util.option('--display-name', help=u"""The display name of the masking policy. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--description', help=u"""The description of the masking policy.""")
@@ -4501,7 +4501,7 @@ def create_masking_policy_create_column_source_from_sdm_details(ctx, from_json,
@on_prem_connector_group.command(name=cli_util.override('data_safe.create_on_prem_connector.command_name', 'create'), help=u"""Creates a new on-premises connector. \n[Command Reference](createOnPremConnector)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the on-premises connector.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the on-premises connector.""")
@cli_util.option('--display-name', help=u"""The display name of the on-premises connector. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--description', help=u"""The description of the on-premises connector.""")
@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]
@@ -4989,7 +4989,7 @@ def create_referential_relation(ctx, from_json, wait_for_state, max_wait_seconds
@report_definition_group.command(name=cli_util.override('data_safe.create_report_definition.command_name', 'create'), help=u"""Creates a new report definition with parameters specified in the body. The report definition is stored in the specified compartment. \n[Command Reference](createReportDefinition)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the report definition.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the report definition.""")
@cli_util.option('--display-name', required=True, help=u"""Specifies the name of the report definition.""")
@cli_util.option('--parent-id', required=True, help=u"""The OCID of the parent report definition.""")
@cli_util.option('--column-info', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of column objects in the order (left to right) displayed in the report. A column object stores all information about a column, including the name displayed on the UI, corresponding field name in the data source, data type of the column, and column visibility (if the column is visible to the user).""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5069,7 +5069,7 @@ def create_report_definition(ctx, from_json, wait_for_state, max_wait_seconds, w
@sdm_masking_policy_difference_group.command(name=cli_util.override('data_safe.create_sdm_masking_policy_difference.command_name', 'create'), help=u"""Creates SDM masking policy difference for the specified masking policy. It finds the difference between masking columns of the masking policy and sensitive columns of the SDM. After performing this operation, you can use ListDifferenceColumns to view the difference columns, PatchSdmMaskingPolicyDifferenceColumns to specify the action you want perform on these columns, and then ApplySdmMaskingPolicyDifference to process the difference columns and apply them to the masking policy. \n[Command Reference](createSdmMaskingPolicyDifference)""")
@cli_util.option('--masking-policy-id', required=True, help=u"""The OCID of the masking policy. Note that if the masking policy is not associated with an SDM, CreateSdmMaskingPolicyDifference operation won't be allowed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the SDM masking policy difference resource should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the SDM masking policy difference resource should be created.""")
@cli_util.option('--difference-type', help=u"""The type of the SDM masking policy difference. It defines the difference scope. NEW identifies new sensitive columns in the sensitive data model that are not in the masking policy. DELETED identifies columns that are present in the masking policy but have been deleted from the sensitive data model. MODIFIED identifies columns that are present in the sensitive data model as well as the masking policy but some of their attributes have been modified. ALL covers all the above three scenarios and reports new, deleted and modified columns.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the SDM masking policy difference. Does not have to be unique, and it is changeable. Avoid entering confidential information.""")
@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]
@@ -5141,7 +5141,7 @@ def create_sdm_masking_policy_difference(ctx, from_json, wait_for_state, max_wai
@security_assessment_group.command(name=cli_util.override('data_safe.create_security_assessment.command_name', 'create'), help=u"""Creates a new saved security assessment for one or multiple targets in a compartment. When this operation is performed, it will save the latest assessments in the specified compartment. If a schedule is passed, it will persist the latest assessments, at the defined date and time, in the format defined by [RFC3339]. \n[Command Reference](createSecurityAssessment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the security assessment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the security assessment.""")
@cli_util.option('--display-name', help=u"""The display name of the security assessment.""")
@cli_util.option('--description', help=u"""Description of the security assessment.""")
@cli_util.option('--target-id', help=u"""The OCID of the target database or target database group on which security assessment is to be run.""")
@@ -5242,7 +5242,7 @@ def create_security_assessment(ctx, from_json, wait_for_state, max_wait_seconds,
@security_policy_group.command(name=cli_util.override('data_safe.create_security_policy.command_name', 'create'), help=u"""Creates a Data Safe security policy. \n[Command Reference](createSecurityPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the security policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the security policy.""")
@cli_util.option('--display-name', help=u"""The display name of the security policy. The name does not have to be unique, and it is changeable.""")
@cli_util.option('--description', help=u"""The description of the security policy.""")
@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]
@@ -5313,7 +5313,7 @@ def create_security_policy(ctx, from_json, wait_for_state, max_wait_seconds, wai
@security_policy_config_group.command(name=cli_util.override('data_safe.create_security_policy_config.command_name', 'create'), help=u"""Creates a new security policy configuration resource. \n[Command Reference](createSecurityPolicyConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the security policy configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the security policy configuration.""")
@cli_util.option('--security-policy-id', required=True, help=u"""The OCID of the security policy corresponding to the security policy configuration.""")
@cli_util.option('--display-name', help=u"""The display name of the security policy configuration. The name does not have to be unique, and it is changeable.""")
@cli_util.option('--description', help=u"""The description of the security policy.""")
@@ -5394,7 +5394,7 @@ def create_security_policy_config(ctx, from_json, wait_for_state, max_wait_secon
@security_policy_deployment_group.command(name=cli_util.override('data_safe.create_security_policy_deployment.command_name', 'create'), help=u"""Creates a Data Safe security policy deployment in the Data Safe Console. \n[Command Reference](createSecurityPolicyDeployment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the unified audit policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the unified audit policy.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the target where the security policy is deployed.""")
@cli_util.option('--target-type', required=True, help=u"""Indicates whether the security policy deployment is for a target database or a target database group.""")
@cli_util.option('--security-policy-id', required=True, help=u"""The OCID of the security policy corresponding to the security policy deployment.""")
@@ -5569,7 +5569,7 @@ def create_sensitive_column(ctx, from_json, wait_for_state, max_wait_seconds, wa
@sensitive_data_model_group.command(name=cli_util.override('data_safe.create_sensitive_data_model.command_name', 'create'), help=u"""Creates a new sensitive data model. If schemas and sensitive types are provided, it automatically runs data discovery and adds the discovered columns to the sensitive data model. Otherwise, it creates an empty sensitive data model that can be updated later. \n[Command Reference](createSensitiveDataModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive data model should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive data model should be created.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the reference target database to be associated with the sensitive data model. All operations such as performing data discovery and adding columns manually are done in the context of the associated target database.""")
@cli_util.option('--display-name', help=u"""The display name of the sensitive data model. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--app-suite-name', help=u"""The application suite name identifying a collection of applications. It's useful only if maintaining a sensitive data model for a suite of applications.""")
@@ -5681,7 +5681,7 @@ def create_sensitive_data_model(ctx, from_json, wait_for_state, max_wait_seconds
@sensitive_type_group.command(name=cli_util.override('data_safe.create_sensitive_type.command_name', 'create'), help=u"""Creates a new sensitive type, which can be a basic sensitive type with regular expressions or a sensitive category. While sensitive types are used for data discovery, sensitive categories are used for logically grouping the related or similar sensitive types. \n[Command Reference](createSensitiveType)""")
@cli_util.option('--entity-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SENSITIVE_TYPE", "SENSITIVE_CATEGORY"]), help=u"""The entity type. It can be either a sensitive type with regular expressions or a sensitive category used for grouping similar sensitive types.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive type should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive type should be created.""")
@cli_util.option('--display-name', help=u"""The display name of the sensitive type. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--short-name', help=u"""The short name of the sensitive type.""")
@cli_util.option('--description', help=u"""The description of the sensitive type.""")
@@ -5761,7 +5761,7 @@ def create_sensitive_type(ctx, from_json, wait_for_state, max_wait_seconds, wait
@sensitive_type_group.command(name=cli_util.override('data_safe.create_sensitive_type_create_sensitive_category_details.command_name', 'create-sensitive-type-create-sensitive-category-details'), help=u"""Creates a new sensitive type, which can be a basic sensitive type with regular expressions or a sensitive category. While sensitive types are used for data discovery, sensitive categories are used for logically grouping the related or similar sensitive types. \n[Command Reference](createSensitiveType)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive type should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive type should be created.""")
@cli_util.option('--display-name', help=u"""The display name of the sensitive type. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--short-name', help=u"""The short name of the sensitive type.""")
@cli_util.option('--description', help=u"""The description of the sensitive type.""")
@@ -5842,7 +5842,7 @@ def create_sensitive_type_create_sensitive_category_details(ctx, from_json, wait
@sensitive_type_group.command(name=cli_util.override('data_safe.create_sensitive_type_create_sensitive_type_pattern_details.command_name', 'create-sensitive-type-create-sensitive-type-pattern-details'), help=u"""Creates a new sensitive type, which can be a basic sensitive type with regular expressions or a sensitive category. While sensitive types are used for data discovery, sensitive categories are used for logically grouping the related or similar sensitive types. \n[Command Reference](createSensitiveType)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive type should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive type should be created.""")
@cli_util.option('--display-name', help=u"""The display name of the sensitive type. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--short-name', help=u"""The short name of the sensitive type.""")
@cli_util.option('--description', help=u"""The description of the sensitive type.""")
@@ -5943,7 +5943,7 @@ def create_sensitive_type_create_sensitive_type_pattern_details(ctx, from_json,
@sensitive_type_group_group.command(name=cli_util.override('data_safe.create_sensitive_type_group.command_name', 'create'), help=u"""Creates a new sensitive type group. \n[Command Reference](createSensitiveTypeGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive type group should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive type group should be created.""")
@cli_util.option('--display-name', help=u"""The display name of the sensitive type group. The name does not have to be unique.""")
@cli_util.option('--description', help=u"""The description of the sensitive type group.""")
@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]
@@ -6014,7 +6014,7 @@ def create_sensitive_type_group(ctx, from_json, wait_for_state, max_wait_seconds
@sensitive_types_export_group.command(name=cli_util.override('data_safe.create_sensitive_types_export.command_name', 'create'), help=u"""Generates a downloadable file corresponding to the specified list of sensitive types. It's a prerequisite for the DownloadSensitiveTypesExport operation. Use this endpoint to generate a sensitive Types Export file and then use DownloadSensitiveTypesExport to download the generated file. \n[Command Reference](createSensitiveTypesExport)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the sensitive types export should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the sensitive types export should be created.""")
@cli_util.option('--display-name', help=u"""The display name of the sensitive types export. The name does not have to be unique, and it's changeable.""")
@cli_util.option('--description', help=u"""The description of the sensitive types export.""")
@cli_util.option('--sensitive-type-ids-for-export', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OCIDs of the sensitive types used to create sensitive types export.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6093,7 +6093,7 @@ def create_sensitive_types_export(ctx, from_json, wait_for_state, max_wait_secon
@sql_collection_group.command(name=cli_util.override('data_safe.create_sql_collection.command_name', 'create'), help=u"""Creates a new SQL collection resource. \n[Command Reference](createSqlCollection)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the SQL collection.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the SQL collection.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the target corresponding to the security policy deployment.""")
@cli_util.option('--db-user-name', required=True, help=u"""The database user name.""")
@cli_util.option('--display-name', help=u"""The display name of the SQL collection. The name does not have to be unique, and it is changeable.""")
@@ -6176,9 +6176,9 @@ def create_sql_collection(ctx, from_json, wait_for_state, max_wait_seconds, wait
@target_alert_policy_association_group.command(name=cli_util.override('data_safe.create_target_alert_policy_association.command_name', 'create'), help=u"""Creates a new target-alert policy association to track a alert policy applied on target. \n[Command Reference](createTargetAlertPolicyAssociation)""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the alert policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the alert policy.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the target.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the target-alert policy association is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the target-alert policy association is created.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""Indicates if the target-alert policy association is enabled or disabled by user.""")
@cli_util.option('--display-name', help=u"""The display name of the target-alert policy association.""")
@cli_util.option('--description', help=u"""Describes the target-alert policy association.""")
@@ -6253,7 +6253,7 @@ def create_target_alert_policy_association(ctx, from_json, wait_for_state, max_w
@target_database_group.command(name=cli_util.override('data_safe.create_target_database.command_name', 'create'), help=u"""Registers the specified database with Data Safe and creates a Data Safe target database in the Data Safe Console. \n[Command Reference](createTargetDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
@cli_util.option('--database-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the target database in Data Safe. The name is modifiable and does not need to be unique.""")
@cli_util.option('--description', help=u"""The description of the target database in Data Safe.""")
@@ -6344,7 +6344,7 @@ def create_target_database(ctx, from_json, wait_for_state, max_wait_seconds, wai
@target_database_group.command(name=cli_util.override('data_safe.create_target_database_installed_database_details.command_name', 'create-target-database-installed-database-details'), help=u"""Registers the specified database with Data Safe and creates a Data Safe target database in the Data Safe Console. \n[Command Reference](createTargetDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
@cli_util.option('--database-details-infrastructure-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"]), help=u"""The infrastructure type the database is running on.""")
@cli_util.option('--database-details-listener-port', required=True, type=click.INT, help=u"""The port number of the database listener.""")
@cli_util.option('--database-details-service-name', required=True, help=u"""The service name of the database registered as target database.""")
@@ -6450,7 +6450,7 @@ def create_target_database_installed_database_details(ctx, from_json, wait_for_s
@target_database_group.command(name=cli_util.override('data_safe.create_target_database_autonomous_database_details.command_name', 'create-target-database-autonomous-database-details'), help=u"""Registers the specified database with Data Safe and creates a Data Safe target database in the Data Safe Console. \n[Command Reference](createTargetDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
@cli_util.option('--database-details-infrastructure-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"]), help=u"""The infrastructure type the database is running on.""")
@cli_util.option('--database-details-autonomous-database-id', required=True, help=u"""The OCID of the Autonomous Database registered as a target database in Data Safe.""")
@cli_util.option('--display-name', help=u"""The display name of the target database in Data Safe. The name is modifiable and does not need to be unique.""")
@@ -6546,7 +6546,7 @@ def create_target_database_autonomous_database_details(ctx, from_json, wait_for_
@target_database_group.command(name=cli_util.override('data_safe.create_target_database_database_cloud_service_details.command_name', 'create-target-database-database-cloud-service-details'), help=u"""Registers the specified database with Data Safe and creates a Data Safe target database in the Data Safe Console. \n[Command Reference](createTargetDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
@cli_util.option('--database-details-infrastructure-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_CLOUD", "CLOUD_AT_CUSTOMER", "ON_PREMISES", "NON_ORACLE_CLOUD"]), help=u"""The infrastructure type the database is running on.""")
@cli_util.option('--display-name', help=u"""The display name of the target database in Data Safe. The name is modifiable and does not need to be unique.""")
@cli_util.option('--description', help=u"""The description of the target database in Data Safe.""")
@@ -6660,7 +6660,7 @@ def create_target_database_database_cloud_service_details(ctx, from_json, wait_f
@target_database_group.command(name=cli_util.override('data_safe.create_target_database_private_endpoint.command_name', 'create-target-database-private-endpoint'), help=u"""Registers the specified database with Data Safe and creates a Data Safe target database in the Data Safe Console. \n[Command Reference](createTargetDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
@cli_util.option('--database-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-option-datasafe-private-endpoint-id', required=True, help=u"""The OCID of the Data Safe private endpoint.""")
@cli_util.option('--display-name', help=u"""The display name of the target database in Data Safe. The name is modifiable and does not need to be unique.""")
@@ -6752,7 +6752,7 @@ def create_target_database_private_endpoint(ctx, from_json, wait_for_state, max_
@target_database_group.command(name=cli_util.override('data_safe.create_target_database_on_premise_connector.command_name', 'create-target-database-on-premise-connector'), help=u"""Registers the specified database with Data Safe and creates a Data Safe target database in the Data Safe Console. \n[Command Reference](createTargetDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the Data Safe target database.""")
@cli_util.option('--database-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-option-on-prem-connector-id', required=True, help=u"""The OCID of the on-premises connector.""")
@cli_util.option('--display-name', help=u"""The display name of the target database in Data Safe. The name is modifiable and does not need to be unique.""")
@@ -6844,7 +6844,7 @@ def create_target_database_on_premise_connector(ctx, from_json, wait_for_state,
@target_database_group_group.command(name=cli_util.override('data_safe.create_target_database_group.command_name', 'create'), help=u"""Creates a new target database group. \n[Command Reference](createTargetDatabaseGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to create the target database group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to create the target database group.""")
@cli_util.option('--display-name', required=True, help=u"""The name of the target database group.""")
@cli_util.option('--matching-criteria', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""Description of the target database group (optional).""")
@@ -6917,7 +6917,7 @@ def create_target_database_group(ctx, from_json, wait_for_state, max_wait_second
@unified_audit_policy_group.command(name=cli_util.override('data_safe.create_unified_audit_policy.command_name', 'create'), help=u"""Creates the specified unified audit policy. \n[Command Reference](createUnifiedAuditPolicy)""")
@cli_util.option('--security-policy-id', required=True, help=u"""The OCID of the security policy corresponding to the unified audit policy.""")
@cli_util.option('--unified-audit-policy-definition-id', required=True, help=u"""The OCID of the associated unified audit policy definition.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the unified audit policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the unified audit policy.""")
@cli_util.option('--status', required=True, help=u"""Indicates whether the unified audit policy has been enabled or disabled.""")
@cli_util.option('--conditions', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Lists the audit policy provisioning conditions.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name of the unified audit policy in Data Safe. The name is modifiable and does not need to be unique.""")
@@ -6994,7 +6994,7 @@ def create_unified_audit_policy(ctx, from_json, wait_for_state, max_wait_seconds
@user_assessment_group.command(name=cli_util.override('data_safe.create_user_assessment.command_name', 'create'), help=u"""Creates a new saved user assessment for one or multiple targets in a compartment. It saves the latest assessments in the specified compartment. If a scheduled is passed in, this operation persists the latest assessments that exist at the defined date and time, in the format defined by [RFC3339]. \n[Command Reference](createUserAssessment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the user assessment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the user assessment.""")
@cli_util.option('--target-id', required=True, help=u"""The OCID of the target database or target database group on which user assessment is to be run.""")
@cli_util.option('--description', help=u"""The description of the user assessment.""")
@cli_util.option('--display-name', help=u"""The display name of the user assessment.""")
@@ -9730,7 +9730,7 @@ def download_user_assessment_report(ctx, from_json, file, user_assessment_id, fo
@data_safe_configuration_group.command(name=cli_util.override('data_safe.enable_data_safe_configuration.command_name', 'enable'), help=u"""Enables Data Safe in the tenancy and region. \n[Command Reference](enableDataSafeConfiguration)""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""Indicates if Data Safe is enabled.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -9853,7 +9853,7 @@ def generate_discovery_report_for_download(ctx, from_json, wait_for_state, max_w
@cli_util.option('--masking-policy-id', required=True, help=u"""The OCID of the masking policy.""")
@cli_util.option('--check-type', type=custom_types.CliCaseInsensitiveChoice(["ALL"]), help=u"""The type of health check. The default behaviour is to perform all health checks.""")
@cli_util.option('--target-id', help=u"""The OCID of the target database to use for the masking policy health check. The targetId associated with the masking policy is used if this is not passed.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment where the health report resource should be created.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the health report resource should be created.""")
@cli_util.option('--tablespace', help=u"""The tablespace that should be used to estimate space. If no tablespace is provided, the DEFAULT tablespace is used.""")
@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]
@@ -10108,7 +10108,7 @@ def generate_on_prem_connector_configuration(ctx, from_json, file, password, on_
@report_definition_group.command(name=cli_util.override('data_safe.generate_report.command_name', 'generate-report'), help=u"""Generates a .xls or .pdf report based on parameters and report definition. \n[Command Reference](generateReport)""")
@cli_util.option('--report-definition-id', required=True, help=u"""Unique report definition identifier""")
@cli_util.option('--display-name', required=True, help=u"""The name of the report to be generated""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--mime-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["PDF", "XLS", "JSON"]), help=u"""Specifies the format of report to be .xls or .pdf or .json""")
@cli_util.option('--target-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of database target OCIDs.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of target group OCIDs.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -10647,7 +10647,7 @@ def get_compatible_formats_for_data_types(ctx, from_json, limit, page):
@masking_column_group.command(name=cli_util.override('data_safe.get_compatible_formats_for_sensitive_types.command_name', 'get-compatible-formats-for-sensitive-types'), help=u"""Gets a list of library masking formats compatible with the existing sensitive types. For each sensitive type, it returns the assigned default masking format as well as the other library masking formats that have the sensitiveTypeIds attribute containing the OCID of the sensitive type. \n[Command Reference](getCompatibleFormatsForSensitiveTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -10678,7 +10678,7 @@ def get_compatible_formats_for_sensitive_types(ctx, from_json, compartment_id, c
@data_safe_configuration_group.command(name=cli_util.override('data_safe.get_data_safe_configuration.command_name', 'get'), help=u"""Gets the details of the Data Safe configuration. \n[Command Reference](getDataSafeConfiguration)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return the Data Safe configuration for the specified tenancy OCID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return the Data Safe configuration for the specified tenancy OCID.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -11796,7 +11796,7 @@ def get_work_request(ctx, from_json, work_request_id):
@alert_summary_group.command(name=cli_util.override('data_safe.list_alert_analytics.command_name', 'list-alert-analytics'), help=u"""Returns the aggregation details of the alerts. \n[Command Reference](listAlertAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@cli_util.option('--page', help=u"""For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -11879,7 +11879,7 @@ def list_alert_analytics(ctx, from_json, all_pages, page_size, compartment_id, c
@alert_policy_group.command(name=cli_util.override('data_safe.list_alert_policies.command_name', 'list'), help=u"""Gets a list of all alert policies. \n[Command Reference](listAlertPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--alert-policy-id', help=u"""A filter to return policy by it's OCID.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["AUDITING", "SECURITY_ASSESSMENT", "USER_ASSESSMENT"]), help=u"""An optional filter to return only alert policies of a certain type.""")
@cli_util.option('--is-user-defined', type=click.BOOL, help=u"""An optional filter to return only alert policies that are user-defined or not.""")
@@ -12015,7 +12015,7 @@ def list_alert_policy_rules(ctx, from_json, all_pages, page_size, alert_policy_i
@alert_summary_group.command(name=cli_util.override('data_safe.list_alerts.command_name', 'list-alerts'), help=u"""Gets a list of all alerts. \n[Command Reference](listAlerts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--id', help=u"""A filter to return alert by it's OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -12152,7 +12152,7 @@ def list_associated_resources(ctx, from_json, all_pages, page_size, attribute_se
The parameter `accessLevel` specifies whether to return only those compartments for which the requester has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListAttributeSet on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAttributeSets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -12230,7 +12230,7 @@ def list_attribute_sets(ctx, from_json, all_pages, page_size, compartment_id, co
@audit_archive_retrieval_group.command(name=cli_util.override('data_safe.list_audit_archive_retrievals.command_name', 'list'), help=u"""Returns the list of audit archive retrieval. \n[Command Reference](listAuditArchiveRetrievals)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@@ -12314,7 +12314,7 @@ def list_audit_archive_retrievals(ctx, from_json, all_pages, page_size, compartm
/auditEventAnalytics?timeStarted=2022-08-18T11:02:26.000Z&timeEnded=2022-08-24T11:02:26.000Z This will give number of events grouped by periods. Period can be 1 day, 1 week, etc.
/auditEventAnalytics?summaryField=targetName&groupBy=targetName This will give the number of events group by targetName. Only targetName summary column would be returned. \n[Command Reference](listAuditEventAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@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.""")
@cli_util.option('--limit', type=click.INT, help=u"""For details about how pagination works, see [List Pagination].""")
@cli_util.option('--page', help=u"""It is usually retrieved from a previous \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -12401,7 +12401,7 @@ def list_audit_event_analytics(ctx, from_json, all_pages, page_size, compartment
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListAuditEvents on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAuditEvents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For details about how pagination works, see [List Pagination].""")
@@ -12472,7 +12472,7 @@ def list_audit_events(ctx, from_json, all_pages, page_size, compartment_id, comp
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListAuditPolicies on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAuditPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -12553,7 +12553,7 @@ def list_audit_policies(ctx, from_json, all_pages, page_size, compartment_id, co
The parameter `compartmentIdInSubtree` applies when you perform SummarizedAuditPolicyInfo on the specified `compartmentId` and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE.
**Example:** ListAuditPolicyAnalytics?groupBy=auditPolicyCategory \n[Command Reference](listAuditPolicyAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -12629,7 +12629,7 @@ def list_audit_policy_analytics(ctx, from_json, all_pages, page_size, compartmen
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform AuditProfileAnalytics on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAuditProfileAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -12695,7 +12695,7 @@ def list_audit_profile_analytics(ctx, from_json, all_pages, page_size, compartme
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListAuditProfiles on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAuditProfiles)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--audit-profile-id', help=u"""A optional filter to return only resources that match the specified id.""")
@@ -12786,7 +12786,7 @@ def list_audit_profiles(ctx, from_json, all_pages, page_size, compartment_id, co
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform AuditTrailAnalytics on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAuditTrailAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -12862,7 +12862,7 @@ def list_audit_trail_analytics(ctx, from_json, all_pages, page_size, compartment
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListAuditTrails on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listAuditTrails)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--audit-trail-id', help=u"""A optional filter to return only resources that match the specified id.""")
@@ -13238,9 +13238,9 @@ def list_columns(ctx, from_json, all_pages, page_size, target_database_id, limit
@data_safe_private_endpoint_group.command(name=cli_util.override('data_safe.list_data_safe_private_endpoints.command_name', 'list'), help=u"""Gets a list of Data Safe private endpoints. \n[Command Reference](listDataSafePrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
-@cli_util.option('--vcn-id', help=u"""A filter to return only resources that match the specified VCN OCID.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified VCN OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NA"]), help=u"""A filter to return only resources that match the specified lifecycle state.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@cli_util.option('--page', help=u"""For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -13313,7 +13313,7 @@ def list_data_safe_private_endpoints(ctx, from_json, all_pages, page_size, compa
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListDatabaseSecurityConfigs on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listDatabaseSecurityConfigs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -13604,7 +13604,7 @@ def list_difference_columns(ctx, from_json, all_pages, page_size, sdm_masking_po
@sensitive_data_model_group.command(name=cli_util.override('data_safe.list_discovery_analytics.command_name', 'list-discovery-analytics'), help=u"""Gets consolidated discovery analytics data based on the specified query parameters. If CompartmentIdInSubtreeQueryParam is specified as true, the behaviour is equivalent to accessLevel \"ACCESSIBLE\" by default. \n[Command Reference](listDiscoveryAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--group-by', type=custom_types.CliCaseInsensitiveChoice(["targetId", "sensitiveDataModelId", "sensitiveTypeId", "targetIdAndSensitiveDataModelId", "sensitiveTypeIdAndTargetId", "sensitiveTypeIdAndSensitiveDataModelId"]), help=u"""Attribute by which the discovery analytics data should be grouped.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -13760,7 +13760,7 @@ def list_discovery_job_results(ctx, from_json, all_pages, page_size, discovery_j
@discovery_job_group.command(name=cli_util.override('data_safe.list_discovery_jobs.command_name', 'list'), help=u"""Gets a list of incremental discovery jobs based on the specified query parameters. \n[Command Reference](listDiscoveryJobs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -13837,7 +13837,7 @@ def list_discovery_jobs(ctx, from_json, all_pages, page_size, compartment_id, co
@security_assessment_group.command(name=cli_util.override('data_safe.list_finding_analytics.command_name', 'list-finding-analytics'), help=u"""Gets a list of findings aggregated details in the specified compartment. This provides information about the overall state of security assessment findings. You can use groupBy to get the count of findings under a certain risk level and with a certain findingKey, and as well as get the list of the targets that match the condition. This data is especially useful content for the statistic chart or to support analytics.
When you perform the ListFindingAnalytics operation, if the parameter compartmentIdInSubtree is set to \"true,\" and if the parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by compartmentId, then \"Not Authorized\" is returned. \n[Command Reference](listFindingAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--is-top-finding', type=click.BOOL, help=u"""A filter to return only the findings that are marked as top findings.""")
@@ -13938,7 +13938,7 @@ def list_finding_analytics(ctx, from_json, all_pages, page_size, compartment_id,
@cli_util.option('--contains-references', type=custom_types.CliCaseInsensitiveChoice(["STIG", "CIS", "GDPR"]), multiple=True, help=u"""An optional filter to return only findings that match the specified references. Use containsReferences param if need to filter by multiple references.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@cli_util.option('--page', help=u"""For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous \"List\" call. For details about how pagination works, see [List Pagination].""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -14261,7 +14261,7 @@ def list_grouped_sensitive_types(ctx, from_json, all_pages, page_size, sensitive
@library_masking_format_summary_group.command(name=cli_util.override('data_safe.list_library_masking_formats.command_name', 'list-library-masking-formats'), help=u"""Gets a list of library masking formats based on the specified query parameters. \n[Command Reference](listLibraryMaskingFormats)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--library-masking-format-id', help=u"""A filter to return only the resources that match the specified library masking format OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@@ -14418,7 +14418,7 @@ def list_masked_columns(ctx, from_json, all_pages, page_size, masking_report_id,
@masking_policy_group.command(name=cli_util.override('data_safe.list_masking_analytics.command_name', 'list-masking-analytics'), help=u"""Gets consolidated masking analytics data based on the specified query parameters. If CompartmentIdInSubtreeQueryParam is specified as true, the behaviour is equivalent to accessLevel \"ACCESSIBLE\" by default. \n[Command Reference](listMaskingAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--group-by', type=custom_types.CliCaseInsensitiveChoice(["targetId", "policyId", "targetIdAndPolicyId", "sensitiveTypeId"]), help=u"""Attribute by which the masking analytics data should be grouped.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -14719,7 +14719,7 @@ def list_masking_objects(ctx, from_json, all_pages, page_size, masking_policy_id
@masking_policy_group.command(name=cli_util.override('data_safe.list_masking_policies.command_name', 'list'), help=u"""Gets a list of masking policies based on the specified query parameters. \n[Command Reference](listMaskingPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--masking-policy-id', help=u"""A filter to return only the resources that match the specified masking policy OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -14864,7 +14864,7 @@ def list_masking_policy_health_report_logs(ctx, from_json, all_pages, page_size,
@masking_policy_health_report_group.command(name=cli_util.override('data_safe.list_masking_policy_health_reports.command_name', 'list'), help=u"""Gets a list of masking policy health reports based on the specified query parameters. \n[Command Reference](listMaskingPolicyHealthReports)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--masking-policy-health-report-id', help=u"""A filter to return only the resources that match the specified masking policy health report OCID.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@cli_util.option('--page', help=u"""For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -15008,7 +15008,7 @@ def list_masking_policy_referential_relations(ctx, from_json, all_pages, page_si
@masking_policy_group.command(name=cli_util.override('data_safe.list_masking_reports.command_name', 'list-masking-reports'), help=u"""Gets a list of masking reports based on the specified query parameters. \n[Command Reference](listMaskingReports)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@cli_util.option('--page', help=u"""For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous \"List\" call. For details about how pagination works, see [List Pagination].""")
@cli_util.option('--masking-policy-id', help=u"""A filter to return only the resources that match the specified masking policy OCID.""")
@@ -15137,7 +15137,7 @@ def list_masking_schemas(ctx, from_json, all_pages, page_size, masking_policy_id
@on_prem_connector_group.command(name=cli_util.override('data_safe.list_on_prem_connectors.command_name', 'list'), help=u"""Gets a list of on-premises connectors. \n[Command Reference](listOnPremConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--on-prem-connector-id', help=u"""A filter to return only the on-premises connector that matches the specified id.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only on-premises connector resources that match the specified lifecycle state.""")
@@ -15306,7 +15306,7 @@ def list_peer_target_databases(ctx, from_json, all_pages, page_size, target_data
To use ListProfileAnalytics to get a full list of all compartments and subcompartments in the tenancy from the root compartment, set the parameter compartmentIdInSubtree to true and accessLevel to ACCESSIBLE. \n[Command Reference](listProfileAnalytics)""")
@cli_util.option('--user-assessment-id', required=True, help=u"""The OCID of the user assessment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -15385,7 +15385,7 @@ def list_profile_analytics(ctx, from_json, all_pages, page_size, user_assessment
The parameter 'compartmentIdInSubtree' applies when you perform ListUserProfiles on the 'compartmentId' belonging to the assessmentId passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter 'compartmentIdInSubtree' to true and 'accessLevel' to ACCESSIBLE. \n[Command Reference](listProfileSummaries)""")
@cli_util.option('--user-assessment-id', required=True, help=u"""The OCID of the user assessment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -15565,7 +15565,7 @@ def list_referential_relations(ctx, from_json, all_pages, page_size, sensitive_d
@report_definition_group.command(name=cli_util.override('data_safe.list_report_definitions.command_name', 'list'), help=u"""Gets a list of report definitions. The ListReportDefinitions operation returns only the report definitions in the specified `compartmentId`. It also returns the seeded report definitions which are available to all the compartments. \n[Command Reference](listReportDefinitions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""The name of the report definition to query.""")
@@ -15640,7 +15640,7 @@ def list_report_definitions(ctx, from_json, all_pages, page_size, compartment_id
@report_summary_group.command(name=cli_util.override('data_safe.list_reports.command_name', 'list-reports'), help=u"""Gets a list of all the reports in the compartment. It contains information such as report generation time. \n[Command Reference](listReports)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""The name of the report definition to query.""")
@@ -15924,7 +15924,7 @@ def list_schemas(ctx, from_json, all_pages, page_size, target_database_id, limit
@sdm_masking_policy_difference_group.command(name=cli_util.override('data_safe.list_sdm_masking_policy_differences.command_name', 'list'), help=u"""Gets a list of SDM and masking policy difference resources based on the specified query parameters. \n[Command Reference](listSdmMaskingPolicyDifferences)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--difference-access-level', type=custom_types.CliCaseInsensitiveChoice(["ACCESSIBLE"]), help=u"""Valid value is ACCESSIBLE. Default is ACCESSIBLE. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment).""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -16002,7 +16002,7 @@ def list_sdm_masking_policy_differences(ctx, from_json, all_pages, page_size, co
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSecurityAssessments on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSecurityAssessments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -16107,7 +16107,7 @@ def list_security_assessments(ctx, from_json, all_pages, page_size, compartment_
@security_assessment_group.command(name=cli_util.override('data_safe.list_security_feature_analytics.command_name', 'list-security-feature-analytics'), help=u"""Gets a list of Database security feature usage aggregated details in the specified compartment. This provides information about the overall security controls, by returning the counting number of the target databases using the security features.
When you perform the ListSecurityFeatureAnalytics operation, if the parameter compartmentIdInSubtree is set to \"true,\" and if the parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by compartmentId, then \"Not Authorized\" is returned. \n[Command Reference](listSecurityFeatureAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -16139,7 +16139,7 @@ def list_security_feature_analytics(ctx, from_json, all_pages, compartment_id, c
@security_assessment_group.command(name=cli_util.override('data_safe.list_security_features.command_name', 'list-security-features'), help=u"""Lists the usage of Database security features for a given compartment or a target level, based on the filters provided. \n[Command Reference](listSecurityFeatures)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -16238,7 +16238,7 @@ def list_security_features(ctx, from_json, all_pages, page_size, compartment_id,
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSecurityPolicies on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSecurityPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -16316,7 +16316,7 @@ def list_security_policies(ctx, from_json, all_pages, page_size, compartment_id,
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSecurityPolicyConfigs on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSecurityPolicyConfigs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--security-policy-config-id', help=u"""An optional filter to return only resources that match the specified OCID of the security policy configuration resource.""")
@cli_util.option('--security-policy-id', help=u"""An optional filter to return only resources that match the specified OCID of the security policy resource.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@@ -16404,7 +16404,7 @@ def list_security_policy_configs(ctx, from_json, all_pages, page_size, compartme
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSecurityPolicyDeployments on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSecurityPolicyDeployments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -16553,7 +16553,7 @@ def list_security_policy_entry_states(ctx, from_json, all_pages, page_size, secu
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSecurityPolicyReports on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSecurityPolicyReports)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -16629,7 +16629,7 @@ def list_security_policy_reports(ctx, from_json, all_pages, page_size, compartme
When you perform the ListSensitiveColumnAnalytics operation, if the parameter compartmentIdInSubtree is set to \"true,\" and if the parameter accessLevel is set to ACCESSIBLE, then the operation returns compartments in which the requestor has INSPECT permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by compartmentId, then \"Not Authorized\" is returned.
To use ListSensitiveColumnAnalytics to get a full list of all compartments and subcompartments in the tenancy from the root compartment, set the parameter compartmentIdInSubtree to true and accessLevel to ACCESSIBLE. \n[Command Reference](listSensitiveColumnAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -16885,7 +16885,7 @@ def list_sensitive_data_model_sensitive_types(ctx, from_json, all_pages, page_si
@sensitive_data_model_group.command(name=cli_util.override('data_safe.list_sensitive_data_models.command_name', 'list'), help=u"""Gets a list of sensitive data models based on the specified query parameters. \n[Command Reference](listSensitiveDataModels)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -17093,7 +17093,7 @@ def list_sensitive_schemas(ctx, from_json, all_pages, page_size, sensitive_data_
@sensitive_type_group_summary_group.command(name=cli_util.override('data_safe.list_sensitive_type_groups.command_name', 'list-sensitive-type-groups'), help=u"""Gets a list of sensitive type groups based on the specified query parameters. \n[Command Reference](listSensitiveTypeGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -17172,7 +17172,7 @@ def list_sensitive_type_groups(ctx, from_json, all_pages, page_size, compartment
@sensitive_type_group.command(name=cli_util.override('data_safe.list_sensitive_types.command_name', 'list'), help=u"""Gets a list of sensitive types based on the specified query parameters. \n[Command Reference](listSensitiveTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -17266,7 +17266,7 @@ def list_sensitive_types(ctx, from_json, all_pages, page_size, compartment_id, c
@sensitive_types_export_collection_group.command(name=cli_util.override('data_safe.list_sensitive_types_exports.command_name', 'list-sensitive-types-exports'), help=u"""Retrieves a list of all sensitive types export in Data Safe based on the specified query parameters. The ListSensitiveTypesExports operation returns only the sensitive types export in the specified `compartmentId`. \n[Command Reference](listSensitiveTypesExports)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -17351,7 +17351,7 @@ def list_sensitive_types_exports(ctx, from_json, all_pages, page_size, compartme
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSqlCollections on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSqlCollectionAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -17491,7 +17491,7 @@ def list_sql_collection_log_insights(ctx, from_json, all_pages, page_size, time_
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSqlCollections on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSqlCollections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -17585,7 +17585,7 @@ def list_sql_collections(ctx, from_json, all_pages, page_size, compartment_id, c
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSqlFirewallAllowedSqlAnalytics on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSqlFirewallAllowedSqlAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -17653,7 +17653,7 @@ def list_sql_firewall_allowed_sql_analytics(ctx, from_json, all_pages, page_size
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSqlFirewallPolicies on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSqlFirewallAllowedSqls)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -17724,7 +17724,7 @@ def list_sql_firewall_allowed_sqls(ctx, from_json, all_pages, page_size, compart
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListSqlFirewallPolicies on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSqlFirewallPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -17816,7 +17816,7 @@ def list_sql_firewall_policies(ctx, from_json, all_pages, page_size, compartment
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform SummarizedSqlFirewallPolicyInfo on the specified `compartmentId` and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listSqlFirewallPolicyAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -17885,7 +17885,7 @@ def list_sql_firewall_policy_analytics(ctx, from_json, all_pages, page_size, com
@sql_firewall_violation_summary_group.command(name=cli_util.override('data_safe.list_sql_firewall_violation_analytics.command_name', 'list-sql-firewall-violation-analytics'), help=u"""Returns the aggregation details of the SQL Firewall violations. \n[Command Reference](listSqlFirewallViolationAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -17965,7 +17965,7 @@ def list_sql_firewall_violation_analytics(ctx, from_json, all_pages, page_size,
@sql_firewall_violation_summary_group.command(name=cli_util.override('data_safe.list_sql_firewall_violations.command_name', 'list-sql-firewall-violations'), help=u"""Gets a list of all the SQL Firewall violations captured by the firewall. \n[Command Reference](listSqlFirewallViolations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--limit', type=click.INT, help=u"""For list pagination. The maximum number of items to return per page in a paginated \"List\" call. For details about how pagination works, see [List Pagination].""")
@cli_util.option('--page', help=u"""For list pagination. The page token representing the page at which to start retrieving results. It is usually retrieved from a previous \"List\" call. For details about how pagination works, see [List Pagination].""")
@@ -18099,7 +18099,7 @@ def list_tables(ctx, from_json, all_pages, page_size, target_database_id, limit,
@target_alert_policy_association_summary_group.command(name=cli_util.override('data_safe.list_target_alert_policy_associations.command_name', 'list-target-alert-policy-associations'), help=u"""Gets a list of all target-alert policy associations. \n[Command Reference](listTargetAlertPolicyAssociations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--target-alert-policy-association-id', help=u"""A filter to return only items related to a specific target-alert policy association ID.""")
@cli_util.option('--alert-policy-id', help=u"""A filter to return policy by it's OCID.""")
@cli_util.option('--target-id', help=u"""A filter to return only items related to a specific target OCID.""")
@@ -18181,7 +18181,7 @@ def list_target_alert_policy_associations(ctx, from_json, all_pages, page_size,
@target_database_group_summary_group.command(name=cli_util.override('data_safe.list_target_database_groups.command_name', 'list-target-database-groups'), help=u"""Retrieves a list of target database groups according to the specified query parameters. \n[Command Reference](listTargetDatabaseGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@cli_util.option('--filter', help=u"""The scim query filter parameter accepts filter expressions that use the syntax described in Section 3.2.2.2 of the System for Cross-Domain Identity Management (SCIM) specification, which is available at [RFC3339]. In SCIM filtering expressions, text, date, and time values must be enclosed in quotation marks, with date and time values using ISO-8601 format. (Numeric and boolean values should not be quoted.) Ex:** filter=(targetDatabaseId eq 'ocid1.datasafetargetdatabase.oc1.iad.abuwcljr3u2va4ba5wek53idpe5qq5kkbigzclscc6mysfecxzjt5dgmxqza')""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName", "lifecycleState", "membershipUpdateTime"]), help=u"""The sorting field for your request. You can only specify a single sorting order (sortOrder). The default order for timeCreated is descending.""")
@@ -18263,7 +18263,7 @@ def list_target_database_groups(ctx, from_json, all_pages, page_size, compartmen
@target_database_group.command(name=cli_util.override('data_safe.list_target_databases.command_name', 'list'), help=u"""Returns the list of registered target databases in Data Safe. \n[Command Reference](listTargetDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--associated-resource-id', help=u"""A filter to return the target databases that are associated to the resource id passed in as a parameter value.""")
@cli_util.option('--target-database-id', help=u"""A filter to return the target database that matches the specified OCID.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -18403,7 +18403,7 @@ def list_target_overrides(ctx, from_json, all_pages, page_size, audit_profile_id
@security_assessment_group.command(name=cli_util.override('data_safe.list_template_analytics.command_name', 'list-template-analytics'), help=u"""Gets a list of template aggregated details in the specified compartment. This provides information about the overall template usage, by returning the count of the target databases/target groups using the templates. It also provides information about the statistics for the template baseline and the comparison related. If the comparison is done, it will show if there is any drift, and how many checks have drifts. The dimension field - isGroup identifies if the targetId belongs to a target group or a individual target. The dimension field - isCompared identifies if the comparison between the latest assessment and the template baseline assessment is done or not. The dimension field - isCompliant identifies if the latest assessment is compliant with the template baseline assessment or not. The dimension field - totalChecksFailed identifies how many checks in the template have drifts in the comparison.
When you perform the ListTemplateAnalytics operation, if the parameter compartmentIdInSubtree is set to \"true,\" and if the parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by compartmentId, then \"Not Authorized\" is returned. \n[Command Reference](listTemplateAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--template-assessment-id', help=u"""The OCID of the security assessment of type TEMPLATE.""")
@@ -18484,7 +18484,7 @@ def list_template_analytics(ctx, from_json, all_pages, page_size, compartment_id
By leveraging the targetId filter, you will be able to know all the template or template baseline that this target has something to do with. No matter if they are directly applied or created for this target, or they are for the target group the target belongs to.
When you perform the ListTemplateAssociationAnalytics operation, if the parameter compartmentIdInSubtree is set to \"true,\" and if the parameter accessLevel is set to ACCESSIBLE, then the operation returns statistics from the compartments in which the requestor has INSPECT permissions on at least one resource, directly or indirectly (in subcompartments). If the operation is performed at the root compartment and the requestor does not have access to at least one subcompartment of the compartment specified by compartmentId, then \"Not Authorized\" is returned. \n[Command Reference](listTemplateAssociationAnalytics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--template-assessment-id', help=u"""The OCID of the security assessment of type TEMPLATE.""")
@@ -18556,7 +18556,7 @@ def list_template_association_analytics(ctx, from_json, all_pages, page_size, co
The parameter `accessLevel` specifies whether to return only those compartments for which the requester has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a sub-compartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListUnifiedAuditPolicies on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and sub-compartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listUnifiedAuditPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--security-policy-id', help=u"""An optional filter to return only resources that match the specified OCID of the security policy resource.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "NEEDS_ATTENTION", "DELETED"]), help=u"""The current state of the Unified Audit policy.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@@ -18650,7 +18650,7 @@ def list_unified_audit_policies(ctx, from_json, all_pages, page_size, compartmen
The parameter `accessLevel` specifies whether to return only those compartments for which the requester has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListUnifiedAuditPolicyDefinitions on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listUnifiedAuditPolicyDefinitions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "FAILED", "DELETING", "NEEDS_ATTENTION"]), help=u"""The current state of the unified audit policy definition.""")
@cli_util.option('--unified-audit-policy-definition-id', help=u"""An optional filter to return only resources that match the specified OCID of the unified audit policy definition resource.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@@ -18908,7 +18908,7 @@ def list_user_analytics(ctx, from_json, all_pages, page_size, user_assessment_id
The parameter `accessLevel` specifies whether to return only those compartments for which the requestor has INSPECT permissions on at least one resource directly or indirectly (ACCESSIBLE) (the resource can be in a subcompartment) or to return Not Authorized if Principal doesn't have access to even one of the child compartments. This is valid only when `compartmentIdInSubtree` is set to `true`.
The parameter `compartmentIdInSubtree` applies when you perform ListUserAssessments on the `compartmentId` passed and when it is set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ACCESSIBLE. \n[Command Reference](listUserAssessments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the specified display name.""")
@@ -19236,7 +19236,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('data_safe.list_work_requests.command_name', 'list'), help=u"""Gets a list of work requests. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that match the specified compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the specified compartment OCID.""")
@cli_util.option('--operation-type', help=u"""A filter to return only work requests that match the specific operation type.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["STARTTIME", "FINISHTIME", "ACCEPTEDTIME"]), help=u"""The field used for sorting. Only one sorting parameter can be specified. The default order is descending.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sorting order for the work requests, either ascending (ASC) or descending (DESC).""")
@@ -19421,7 +19421,7 @@ def mask_data(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_se
@data_safe_configuration_group.command(name=cli_util.override('data_safe.modify_global_settings.command_name', 'modify-global-settings'), help=u"""Modifies Global Settings in Data Safe in the tenancy and region. \n[Command Reference](modifyGlobalSettings)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--is-paid-usage', type=click.BOOL, help=u"""The paid usage option chosen by the customer admin.""")
@cli_util.option('--online-retention-period', type=click.INT, help=u"""The online retention period in months.""")
@cli_util.option('--offline-retention-period', type=click.INT, help=u"""The offline retention period in months.""")
@@ -19493,7 +19493,7 @@ def modify_global_settings(ctx, from_json, wait_for_state, max_wait_seconds, wai
@alert_group.command(name=cli_util.override('data_safe.patch_alerts.command_name', 'patch'), help=u"""Updates the status of one or more alert specified by the alert IDs. \n[Command Reference](patchAlerts)""")
@cli_util.option('--items', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of alert detail to update the status of the alert specified by the alert ID.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the alerts.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the alerts.""")
@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.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Default is false. When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned. Depends on the 'accessLevel' setting.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "ACCESSIBLE"]), help=u"""Valid values are RESTRICTED and ACCESSIBLE. Default is RESTRICTED. Setting this to ACCESSIBLE returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). When set to RESTRICTED permissions are checked and no partial results are displayed.""")
@@ -20070,7 +20070,7 @@ def patch_sql_firewall_allowed_sql(ctx, from_json, wait_for_state, max_wait_seco
@target_alert_policy_association_group.command(name=cli_util.override('data_safe.patch_target_alert_policy_association.command_name', 'patch'), help=u"""Creates new target-alert policy associations that will be applied on the target database. \n[Command Reference](patchTargetAlertPolicyAssociation)""")
@cli_util.option('--items', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of patch instructions.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the alerts.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the alerts.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "SUSPENDING", "SUSPENDED"]), 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.""")
@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.""")
@@ -20303,7 +20303,7 @@ def refresh_database_security_configuration(ctx, from_json, wait_for_state, max_
@security_assessment_group.command(name=cli_util.override('data_safe.refresh_security_assessment.command_name', 'refresh'), help=u"""Runs a security assessment, refreshes the latest assessment, and saves it for future reference. The assessment runs with a securityAssessmentId of type LATEST. Before you start, first call the ListSecurityAssessments operation with filter \"type = latest\" to get the security assessment id for the target's latest assessment. \n[Command Reference](refreshSecurityAssessment)""")
@cli_util.option('--security-assessment-id', required=True, help=u"""The OCID of the security assessment.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the security assessment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the security assessment.""")
@cli_util.option('--display-name', help=u"""The display name of the security assessment.""")
@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]
@@ -20545,7 +20545,7 @@ def refresh_target_database(ctx, from_json, wait_for_state, max_wait_seconds, wa
@user_assessment_group.command(name=cli_util.override('data_safe.refresh_user_assessment.command_name', 'refresh'), help=u"""Refreshes the latest assessment and saves it for future reference. This operation runs with a userAssessmentId of type LATEST. Before you start, first call the ListUserAssessments operation with filter \"type = latest\" to get the user assessment ID for the target's latest assessment. \n[Command Reference](refreshUserAssessment)""")
@cli_util.option('--user-assessment-id', required=True, help=u"""The OCID of the user assessment.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the user assessment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the user assessment.""")
@cli_util.option('--description', help=u"""The description of the user assessment.""")
@cli_util.option('--display-name', help=u"""The display name of the user assessment.""")
@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]
@@ -20875,7 +20875,7 @@ def retrieve_audit_policies(ctx, from_json, wait_for_state, max_wait_seconds, wa
Allowed version strings - \"v1\" v1's version specific schedule - Each of the above fields potentially introduce constraints. A workrequest is created only when clock time satisfies all the constraints. Constraints introduced: 1. seconds = (So, the allowed range for is [0, 59]) 2. minutes = (So, the allowed range for is [0, 59]) 3. hours = (So, the allowed range for is [0, 23]) 4. can be either '*' (without quotes or a number between 1(Monday) and 7(Sunday)) No constraint introduced when it is '*'. When not, day of week must equal the given value 5. can be either '*' (without quotes or a number between 1 and 28) No constraint introduced when it is '*'. When not, day of month must equal the given value""")
@cli_util.option('--mime-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["PDF", "XLS", "JSON"]), help=u"""Specifies if the report will be in .xls or .pdf or .json format""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which the resource should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which the resource should be created.""")
@cli_util.option('--report-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The name of the report to be scheduled""")
@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.""")
@@ -20948,7 +20948,7 @@ def schedule_report(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
Allowed version strings - \"v1\" v1's version specific schedule - Each of the above fields potentially introduce constraints. A workrequest is created only when clock time satisfies all the constraints. Constraints introduced: 1. seconds = (So, the allowed range for is [0, 59]) 2. minutes = (So, the allowed range for is [0, 59]) 3. hours = (So, the allowed range for is [0, 23]) 4. can be either '*' (without quotes or a number between 1(Monday) and 7(Sunday)) No constraint introduced when it is '*'. When not, day of week must equal the given value 5. can be either '*' (without quotes or a number between 1 and 28) No constraint introduced when it is '*'. When not, day of month must equal the given value""")
@cli_util.option('--mime-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["PDF", "XLS", "JSON"]), help=u"""Specifies if the report will be in .xls or .pdf or .json format""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which the resource should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which the resource should be created.""")
@cli_util.option('--report-details-record-time-span', required=True, help=u"""The time span of records in report to be scheduled. Allowed period strings - \"H\",\"D\",\"M\",\"Y\" Each of the above fields potentially introduce constraints. A workRequest is created only when period-value satisfies all the constraints. Constraints introduced: 1. period = H (The allowed range for period-value is [1, 23]) 2. period = D (The allowed range for period-value is [1, 30]) 3. period = M (The allowed range for period-value is [1, 11]) 4. period = Y (The minimum period-value is 1)""")
@cli_util.option('--display-name', help=u"""The name of the report to be scheduled""")
@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.""")
diff --git a/services/data_science/src/oci_cli_data_science/datascience_cli_extended.py b/services/data_science/src/oci_cli_data_science/datascience_cli_extended.py
index 61ec7de7..364609fe 100644
--- a/services/data_science/src/oci_cli_data_science/datascience_cli_extended.py
+++ b/services/data_science/src/oci_cli_data_science/datascience_cli_extended.py
@@ -279,7 +279,7 @@ def create_step_artifact_extended(ctx, pipeline_id, step_name, from_json, **kwar
# Overrides list pipelines to set compartment id as optional when resource id is provided
@datascience_cli.pipeline_group.command(name=cli_util.override('data_science.list_pipelines.command_name', 'list'), help=u"""Returns a list of Pipelines. \n[Command Reference](listPipelines)""")
-@cli_util.option('--compartment-id', help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -353,7 +353,7 @@ def list_pipelines(ctx, from_json, all_pages, page_size, compartment_id, project
# Overrides list pipeline runs to set compartment id as optional when resource id is provided
@datascience_cli.pipeline_run_group.command(name=cli_util.override('data_science.list_pipeline_runs.command_name', 'list'), help=u"""Returns a list of PipelineRuns. \n[Command Reference](listPipelineRuns)""")
-@cli_util.option('--compartment-id', help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--pipeline-id', help=u"""The [OCID] of the pipeline.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
diff --git a/services/data_science/src/oci_cli_data_science/generated/datascience_cli.py b/services/data_science/src/oci_cli_data_science/generated/datascience_cli.py
index 61f207c6..970ec559 100644
--- a/services/data_science/src/oci_cli_data_science/generated/datascience_cli.py
+++ b/services/data_science/src/oci_cli_data_science/generated/datascience_cli.py
@@ -554,7 +554,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@data_science_private_endpoint_group.command(name=cli_util.override('data_science.change_data_science_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a private endpoint into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeDataSciencePrivateEndpointCompartment)""")
@cli_util.option('--data-science-private-endpoint-id', required=True, help=u"""The unique ID for a Data Science private endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create private endpoint.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create private endpoint.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -615,7 +615,7 @@ def change_data_science_private_endpoint_compartment(ctx, from_json, wait_for_st
@job_group.command(name=cli_util.override('data_science.change_job_compartment.command_name', 'change-compartment'), help=u"""Changes a job's compartment \n[Command Reference](changeJobCompartment)""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -646,7 +646,7 @@ def change_job_compartment(ctx, from_json, job_id, compartment_id, if_match):
@job_run_group.command(name=cli_util.override('data_science.change_job_run_compartment.command_name', 'change-compartment'), help=u"""Changes a job run's compartment \n[Command Reference](changeJobRunCompartment)""")
@cli_util.option('--job-run-id', required=True, help=u"""The [OCID] of the job run.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -677,7 +677,7 @@ def change_job_run_compartment(ctx, from_json, job_run_id, compartment_id, if_ma
@ml_application_group.command(name=cli_util.override('data_science.change_ml_application_compartment.command_name', 'change-compartment'), help=u"""Moves a MlApplication resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMlApplicationCompartment)""")
@cli_util.option('--ml-application-id', required=True, help=u"""unique MlApplication identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -708,7 +708,7 @@ def change_ml_application_compartment(ctx, from_json, ml_application_id, compart
@ml_application_implementation_group.command(name=cli_util.override('data_science.change_ml_application_implementation_compartment.command_name', 'change-compartment'), help=u"""Moves a MlApplicationImplementation resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMlApplicationImplementationCompartment)""")
@cli_util.option('--ml-application-implementation-id', required=True, help=u"""unique MlApplicationImplementation identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -769,7 +769,7 @@ def change_ml_application_implementation_compartment(ctx, from_json, wait_for_st
@ml_application_instance_group.command(name=cli_util.override('data_science.change_ml_application_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a MlApplicationInstance resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMlApplicationInstanceCompartment)""")
@cli_util.option('--ml-application-instance-id', required=True, help=u"""unique MlApplicationInstance identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -830,7 +830,7 @@ def change_ml_application_instance_compartment(ctx, from_json, wait_for_state, m
@ml_application_instance_view_group.command(name=cli_util.override('data_science.change_ml_application_instance_view_compartment.command_name', 'change-compartment'), help=u"""Moves a MlApplicationInstanceView resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMlApplicationInstanceViewCompartment)""")
@cli_util.option('--ml-application-instance-view-id', required=True, help=u"""unique MlApplicationInstanceView identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -891,7 +891,7 @@ def change_ml_application_instance_view_compartment(ctx, from_json, wait_for_sta
@model_group.command(name=cli_util.override('data_science.change_model_compartment.command_name', 'change-compartment'), help=u"""Moves a model resource into a different compartment. \n[Command Reference](changeModelCompartment)""")
@cli_util.option('--model-id', required=True, help=u"""The [OCID] of the model.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -922,7 +922,7 @@ def change_model_compartment(ctx, from_json, model_id, compartment_id, if_match)
@model_deployment_group.command(name=cli_util.override('data_science.change_model_deployment_compartment.command_name', 'change-compartment'), help=u"""Moves a model deployment into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeModelDeploymentCompartment)""")
@cli_util.option('--model-deployment-id', required=True, help=u"""The [OCID] of the model deployment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -953,7 +953,7 @@ def change_model_deployment_compartment(ctx, from_json, model_deployment_id, com
@model_group_group.command(name=cli_util.override('data_science.change_model_group_compartment.command_name', 'change-compartment'), help=u"""Moves a model group resource into a different compartment. \n[Command Reference](changeModelGroupCompartment)""")
@cli_util.option('--model-group-id', required=True, help=u"""The [OCID] of the modelGroup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -984,7 +984,7 @@ def change_model_group_compartment(ctx, from_json, model_group_id, compartment_i
@model_group_version_history_group.command(name=cli_util.override('data_science.change_model_group_version_history_compartment.command_name', 'change-compartment'), help=u"""Moves a model Group Version History resource into a different compartment. \n[Command Reference](changeModelGroupVersionHistoryCompartment)""")
@cli_util.option('--model-group-version-history-id', required=True, help=u"""The [OCID] of the modelGroupVersionHistory.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1015,7 +1015,7 @@ def change_model_group_version_history_compartment(ctx, from_json, model_group_v
@model_version_set_group.command(name=cli_util.override('data_science.change_model_version_set_compartment.command_name', 'change-compartment'), help=u"""Moves a modelVersionSet resource into a different compartment. \n[Command Reference](changeModelVersionSetCompartment)""")
@cli_util.option('--model-version-set-id', required=True, help=u"""The [OCID] of the model version set.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved to.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1076,7 +1076,7 @@ def change_model_version_set_compartment(ctx, from_json, wait_for_state, max_wai
@notebook_session_group.command(name=cli_util.override('data_science.change_notebook_session_compartment.command_name', 'change-compartment'), help=u"""Moves a notebook session resource into a different compartment. \n[Command Reference](changeNotebookSessionCompartment)""")
@cli_util.option('--notebook-session-id', required=True, help=u"""The [OCID] of the notebook session.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1107,7 +1107,7 @@ def change_notebook_session_compartment(ctx, from_json, notebook_session_id, com
@pipeline_group.command(name=cli_util.override('data_science.change_pipeline_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changePipelineCompartment)""")
@cli_util.option('--pipeline-id', required=True, help=u"""The [OCID] of the pipeline.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1138,7 +1138,7 @@ def change_pipeline_compartment(ctx, from_json, pipeline_id, compartment_id, if_
@pipeline_run_group.command(name=cli_util.override('data_science.change_pipeline_run_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changePipelineRunCompartment)""")
@cli_util.option('--pipeline-run-id', required=True, help=u"""The [OCID] of the pipeline run.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1169,7 +1169,7 @@ def change_pipeline_run_compartment(ctx, from_json, pipeline_run_id, compartment
@project_group.command(name=cli_util.override('data_science.change_project_compartment.command_name', 'change-compartment'), help=u"""Moves a project resource into a different compartment. \n[Command Reference](changeProjectCompartment)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1200,7 +1200,7 @@ def change_project_compartment(ctx, from_json, project_id, compartment_id, if_ma
@schedule_group.command(name=cli_util.override('data_science.change_schedule_compartment.command_name', 'change-compartment'), help=u"""Moves a Schedule resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeScheduleCompartment)""")
@cli_util.option('--schedule-id', required=True, help=u"""unique Schedule identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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 is updated or deleted only if the `etag` you provide matches the resource's current `etag` value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1260,8 +1260,8 @@ def change_schedule_compartment(ctx, from_json, wait_for_state, max_wait_seconds
@data_science_private_endpoint_group.command(name=cli_util.override('data_science.create_data_science_private_endpoint.command_name', 'create'), help=u"""Creates a Data Science private endpoint to be used by a Data Science resource. \n[Command Reference](createDataSciencePrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the private endpoint.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the private endpoint.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet.""")
@cli_util.option('--data-science-resource-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["NOTEBOOK_SESSION", "MODEL_DEPLOYMENT"]), help=u"""Data Science resource type.""")
@cli_util.option('--description', help=u"""A user friendly description. Avoid entering confidential information.""")
@cli_util.option('--display-name', help=u"""A user friendly name. It doesn't have to be unique. Avoid entering confidential information.""")
@@ -1342,7 +1342,7 @@ def create_data_science_private_endpoint(ctx, from_json, wait_for_state, max_wai
@job_group.command(name=cli_util.override('data_science.create_job.command_name', 'create'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the job.""")
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1435,7 +1435,7 @@ def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@job_group.command(name=cli_util.override('data_science.create_job_empty_job_configuration_details.command_name', 'create-job-empty-job-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the job.""")
@cli_util.option('--job-infrastructure-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1527,7 +1527,7 @@ def create_job_empty_job_configuration_details(ctx, from_json, wait_for_state, m
@job_group.command(name=cli_util.override('data_science.create_job_default_job_configuration_details.command_name', 'create-job-default-job-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the job.""")
@cli_util.option('--job-infrastructure-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1635,7 +1635,7 @@ def create_job_default_job_configuration_details(ctx, from_json, wait_for_state,
@job_group.command(name=cli_util.override('data_science.create_job_multi_node_job_infrastructure_configuration_details.command_name', 'create-job-multi-node-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The name that corresponds to the JobShapeSummary to use for the job node""")
@cli_util.option('--job-infrastructure-configuration-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@@ -1735,7 +1735,7 @@ def create_job_multi_node_job_infrastructure_configuration_details(ctx, from_jso
@job_group.command(name=cli_util.override('data_science.create_job_empty_job_infrastructure_configuration_details.command_name', 'create-job-empty-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the job.""")
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1827,7 +1827,7 @@ def create_job_empty_job_infrastructure_configuration_details(ctx, from_json, wa
@job_group.command(name=cli_util.override('data_science.create_job_managed_egress_standalone_job_infrastructure_configuration_details.command_name', 'create-job-managed-egress-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
@cli_util.option('--job-infrastructure-configuration-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@@ -1927,7 +1927,7 @@ def create_job_managed_egress_standalone_job_infrastructure_configuration_detail
@job_group.command(name=cli_util.override('data_science.create_job_standalone_job_infrastructure_configuration_details.command_name', 'create-job-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--job-infrastructure-configuration-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
@cli_util.option('--job-infrastructure-configuration-details-subnet-id', required=True, help=u"""The subnet to create a secondary vnic in to attach to the instance running the job""")
@cli_util.option('--job-infrastructure-configuration-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
@@ -2029,7 +2029,7 @@ def create_job_standalone_job_infrastructure_configuration_details(ctx, from_jso
@job_group.command(name=cli_util.override('data_science.create_job_ocir_container_job_environment_configuration_details.command_name', 'create-job-ocir-container-job-environment-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--job-environment-configuration-details-image', required=True, help=u"""The full path to the Oracle Container Repository (OCIR) registry, image, and tag in a canonical format. Acceptable format: `.ocir.io//:` `.ocir.io//:@digest`""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the job.""")
@@ -2139,7 +2139,7 @@ def create_job_ocir_container_job_environment_configuration_details(ctx, from_js
@job_group.command(name=cli_util.override('data_science.create_job_multi_node_job_node_configuration_details.command_name', 'create-job-multi-node-job-node-configuration-details'), help=u"""Creates a job. \n[Command Reference](createJob)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the job.""")
@cli_util.option('--job-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2283,7 +2283,7 @@ def create_job_artifact(ctx, from_json, job_id, job_artifact, content_length, co
@job_run_group.command(name=cli_util.override('data_science.create_job_run.command_name', 'create'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2377,7 +2377,7 @@ def create_job_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@job_run_group.command(name=cli_util.override('data_science.create_job_run_empty_job_configuration_details.command_name', 'create-job-run-empty-job-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2470,7 +2470,7 @@ def create_job_run_empty_job_configuration_details(ctx, from_json, wait_for_stat
@job_run_group.command(name=cli_util.override('data_science.create_job_run_default_job_configuration_details.command_name', 'create-job-run-default-job-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--job-log-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2579,7 +2579,7 @@ def create_job_run_default_job_configuration_details(ctx, from_json, wait_for_st
@job_run_group.command(name=cli_util.override('data_science.create_job_run_ocir_container_job_environment_configuration_details.command_name', 'create-job-run-ocir-container-job-environment-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--job-environment-configuration-override-details-image', required=True, help=u"""The full path to the Oracle Container Repository (OCIR) registry, image, and tag in a canonical format. Acceptable format: `.ocir.io//:` `.ocir.io//:@digest`""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@@ -2690,7 +2690,7 @@ def create_job_run_ocir_container_job_environment_configuration_details(ctx, fro
@job_run_group.command(name=cli_util.override('data_science.create_job_run_multi_node_job_infrastructure_configuration_details.command_name', 'create-job-run-multi-node-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--job-infrastructure-configuration-override-details-shape-name', required=True, help=u"""The name that corresponds to the JobShapeSummary to use for the job node""")
@cli_util.option('--job-infrastructure-configuration-override-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
@@ -2791,7 +2791,7 @@ def create_job_run_multi_node_job_infrastructure_configuration_details(ctx, from
@job_run_group.command(name=cli_util.override('data_science.create_job_run_empty_job_infrastructure_configuration_details.command_name', 'create-job-run-empty-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2884,7 +2884,7 @@ def create_job_run_empty_job_infrastructure_configuration_details(ctx, from_json
@job_run_group.command(name=cli_util.override('data_science.create_job_run_managed_egress_standalone_job_infrastructure_configuration_details.command_name', 'create-job-run-managed-egress-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--job-infrastructure-configuration-override-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
@cli_util.option('--job-infrastructure-configuration-override-details-block-storage-size-in-gbs', required=True, type=click.INT, help=u"""The size of the block storage volume to attach to the instance running the job""")
@@ -2985,7 +2985,7 @@ def create_job_run_managed_egress_standalone_job_infrastructure_configuration_de
@job_run_group.command(name=cli_util.override('data_science.create_job_run_standalone_job_infrastructure_configuration_details.command_name', 'create-job-run-standalone-job-infrastructure-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--job-infrastructure-configuration-override-details-shape-name', required=True, help=u"""The shape used to launch the job run instances.""")
@cli_util.option('--job-infrastructure-configuration-override-details-subnet-id', required=True, help=u"""The subnet to create a secondary vnic in to attach to the instance running the job""")
@@ -3088,7 +3088,7 @@ def create_job_run_standalone_job_infrastructure_configuration_details(ctx, from
@job_run_group.command(name=cli_util.override('data_science.create_job_run_multi_node_job_node_configuration_details.command_name', 'create-job-run-multi-node-job-node-configuration-details'), help=u"""Creates a job run. \n[Command Reference](createJobRun)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the job run with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the job run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the job run.""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job to create a run for.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--job-configuration-override-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3199,7 +3199,7 @@ def create_job_run_multi_node_job_node_configuration_details(ctx, from_json, wai
@ml_application_group.command(name=cli_util.override('data_science.create_ml_application.command_name', 'create'), help=u"""Creates a new MlApplication. \n[Command Reference](createMlApplication)""")
@cli_util.option('--name', required=True, help=u"""The name of MlApplication. It is unique in a given tenancy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the MlApplication is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the MlApplication is created.""")
@cli_util.option('--description', help=u"""Optional description of the ML Application""")
@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. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. See [Resource Tags]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3263,7 +3263,7 @@ def create_ml_application(ctx, from_json, wait_for_state, max_wait_seconds, wait
@ml_application_implementation_group.command(name=cli_util.override('data_science.create_ml_application_implementation.command_name', 'create'), help=u"""Creates a new MlApplicationImplementation. \n[Command Reference](createMlApplicationImplementation)""")
@cli_util.option('--name', required=True, help=u"""ML Application Implementation name which is unique for given ML Application.""")
@cli_util.option('--ml-application-id', required=True, help=u"""The OCID of the ML Application implemented by this ML Application Implementation""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where ML Application Implementation is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where ML Application Implementation is created.""")
@cli_util.option('--logging', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--allowed-migration-destinations', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of ML Application Implementation OCIDs for which migration from this implementation is allowed. Migration means that if consumers change implementation for their instances to implementation with OCID from this list, instance components will be updated in place otherwise new instance components are created based on the new implementation and old instance components are removed.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3332,7 +3332,7 @@ def create_ml_application_implementation(ctx, from_json, wait_for_state, max_wai
@ml_application_instance_group.command(name=cli_util.override('data_science.create_ml_application_instance.command_name', 'create'), help=u"""Creates a new MlApplicationInstance. \n[Command Reference](createMlApplicationInstance)""")
@cli_util.option('--ml-application-id', required=True, help=u"""The OCID of ML Application. This resource is an instance of ML Application referenced by this OCID.""")
@cli_util.option('--ml-application-implementation-id', required=True, help=u"""The OCID of ML Application Implementation selected as a certain solution for a given ML problem (ML Application)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
@cli_util.option('--display-name', help=u"""The name of MlApplicationInstance. System will generate displayName when not provided.""")
@cli_util.option('--auth-configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Data that are used for provisioning of the given MlApplicationInstance. These are validated against configurationSchema defined in referenced MlApplicationImplementation.
@@ -3415,7 +3415,7 @@ def create_ml_application_instance(ctx, from_json, wait_for_state, max_wait_seco
@ml_application_instance_group.command(name=cli_util.override('data_science.create_ml_application_instance_create_idcs_auth_configuration_details.command_name', 'create-ml-application-instance-create-idcs-auth-configuration-details'), help=u"""Creates a new MlApplicationInstance. \n[Command Reference](createMlApplicationInstance)""")
@cli_util.option('--ml-application-id', required=True, help=u"""The OCID of ML Application. This resource is an instance of ML Application referenced by this OCID.""")
@cli_util.option('--ml-application-implementation-id', required=True, help=u"""The OCID of ML Application Implementation selected as a certain solution for a given ML problem (ML Application)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
@cli_util.option('--auth-configuration-domain-id', required=True, help=u"""Identity Domain OCID""")
@cli_util.option('--display-name', help=u"""The name of MlApplicationInstance. System will generate displayName when not provided.""")
@cli_util.option('--configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Data that are used for provisioning of the given MlApplicationInstance. These are validated against configurationSchema defined in referenced MlApplicationImplementation.
@@ -3499,7 +3499,7 @@ def create_ml_application_instance_create_idcs_auth_configuration_details(ctx, f
@ml_application_instance_group.command(name=cli_util.override('data_science.create_ml_application_instance_create_idcs_custom_service_auth_configuration_details.command_name', 'create-ml-application-instance-create-idcs-custom-service-auth-configuration-details'), help=u"""Creates a new MlApplicationInstance. \n[Command Reference](createMlApplicationInstance)""")
@cli_util.option('--ml-application-id', required=True, help=u"""The OCID of ML Application. This resource is an instance of ML Application referenced by this OCID.""")
@cli_util.option('--ml-application-implementation-id', required=True, help=u"""The OCID of ML Application Implementation selected as a certain solution for a given ML problem (ML Application)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
@cli_util.option('--auth-configuration-audience', required=True, help=u"""Audience of the IDCS application""")
@cli_util.option('--auth-configuration-scope', required=True, help=u"""Scope of the IDCS application""")
@cli_util.option('--auth-configuration-application-name', required=True, help=u"""Name of the IDCS application""")
@@ -3593,7 +3593,7 @@ def create_ml_application_instance_create_idcs_custom_service_auth_configuration
@ml_application_instance_group.command(name=cli_util.override('data_science.create_ml_application_instance_create_iam_auth_configuration_create_details.command_name', 'create-ml-application-instance-create-iam-auth-configuration-create-details'), help=u"""Creates a new MlApplicationInstance. \n[Command Reference](createMlApplicationInstance)""")
@cli_util.option('--ml-application-id', required=True, help=u"""The OCID of ML Application. This resource is an instance of ML Application referenced by this OCID.""")
@cli_util.option('--ml-application-implementation-id', required=True, help=u"""The OCID of ML Application Implementation selected as a certain solution for a given ML problem (ML Application)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the MlApplicationInstance is created.""")
@cli_util.option('--display-name', help=u"""The name of MlApplicationInstance. System will generate displayName when not provided.""")
@cli_util.option('--configuration', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Data that are used for provisioning of the given MlApplicationInstance. These are validated against configurationSchema defined in referenced MlApplicationImplementation.
@@ -3673,7 +3673,7 @@ def create_ml_application_instance_create_iam_auth_configuration_create_details(
@model_group.command(name=cli_util.override('data_science.create_model.command_name', 'create'), help=u"""Creates a new model. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the model in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the model in.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information. Example: `My Model`""")
@cli_util.option('--description', help=u"""A short description of the model.""")
@@ -3898,7 +3898,7 @@ def create_model_defined_metadatum_artifact(ctx, from_json, model_id, metadatum_
@model_deployment_group.command(name=cli_util.override('data_science.create_model_deployment.command_name', 'create'), help=u"""Creates a new model deployment. \n[Command Reference](createModelDeployment)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model deployment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the model deployment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the model deployment.""")
@cli_util.option('--model-deployment-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. Does not have to be unique, and can be modified. Avoid entering confidential information. Example: `My ModelDeployment`""")
@cli_util.option('--description', help=u"""A short description of the model deployment.""")
@@ -3978,7 +3978,7 @@ def create_model_deployment(ctx, from_json, wait_for_state, max_wait_seconds, wa
@model_deployment_group.command(name=cli_util.override('data_science.create_model_deployment_single_model_deployment_configuration_details.command_name', 'create-model-deployment-single-model-deployment-configuration-details'), help=u"""Creates a new model deployment. \n[Command Reference](createModelDeployment)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model deployment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the model deployment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the model deployment.""")
@cli_util.option('--model-deployment-configuration-details-model-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. Does not have to be unique, and can be modified. Avoid entering confidential information. Example: `My ModelDeployment`""")
@cli_util.option('--description', help=u"""A short description of the model deployment.""")
@@ -4065,7 +4065,7 @@ def create_model_deployment_single_model_deployment_configuration_details(ctx, f
@model_deployment_group.command(name=cli_util.override('data_science.create_model_deployment_model_group_deployment_configuration_details.command_name', 'create-model-deployment-model-group-deployment-configuration-details'), help=u"""Creates a new model deployment. \n[Command Reference](createModelDeployment)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model deployment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the model deployment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the model deployment.""")
@cli_util.option('--model-deployment-configuration-details-model-group-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--model-deployment-configuration-details-infrastructure-configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. Does not have to be unique, and can be modified. Avoid entering confidential information. Example: `My ModelDeployment`""")
@@ -4154,7 +4154,7 @@ def create_model_deployment_model_group_deployment_configuration_details(ctx, fr
@model_group_group.command(name=cli_util.override('data_science.create_model_group.command_name', 'create'), help=u"""Create a new Model Group resource. \n[Command Reference](createModelGroup)""")
@cli_util.option('--create-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["CREATE", "CLONE"]), help=u"""The type of the model group create operation.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the modelGroup in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the modelGroup in.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the modelGroup.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -4210,7 +4210,7 @@ def create_model_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@model_group_group.command(name=cli_util.override('data_science.create_model_group_clone_model_group_details.command_name', 'create-model-group-clone-model-group-details'), help=u"""Create a new Model Group resource. \n[Command Reference](createModelGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the modelGroup in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the modelGroup in.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the modelGroup.""")
@cli_util.option('--model-group-clone-source-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -4269,7 +4269,7 @@ def create_model_group_clone_model_group_details(ctx, from_json, wait_for_state,
@model_group_group.command(name=cli_util.override('data_science.create_model_group_create_model_group_details.command_name', 'create-model-group-create-model-group-details'), help=u"""Create a new Model Group resource. \n[Command Reference](createModelGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the modelGroup in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the modelGroup in.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the modelGroup.""")
@cli_util.option('--model-group-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--member-model-entries', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4391,7 +4391,7 @@ def create_model_group_artifact(ctx, from_json, model_group_id, model_group_arti
@model_group_version_history_group.command(name=cli_util.override('data_science.create_model_group_version_history.command_name', 'create'), help=u"""Creates a new modelGroupVersionHistory. \n[Command Reference](createModelGroupVersionHistory)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the model group version history in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the model group version history in.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model group version history.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the resource. It must be unique and can't be modified. Avoid entering confidential information. Example: `My model version history`""")
@cli_util.option('--description', help=u"""A short description of the model version history.""")
@@ -4512,7 +4512,7 @@ def create_model_provenance(ctx, from_json, model_id, repository_url, git_branch
@model_version_set_group.command(name=cli_util.override('data_science.create_model_version_set.command_name', 'create'), help=u"""Creates a new modelVersionSet. \n[Command Reference](createModelVersionSet)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the model version set in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the model version set in.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the model version set.""")
@cli_util.option('--name', required=True, help=u"""A user-friendly name for the resource. It must be unique and can't be modified. Avoid entering confidential information. Example: `My model version set`""")
@cli_util.option('--description', help=u"""A short description of the model version set.""")
@@ -4578,7 +4578,7 @@ def create_model_version_set(ctx, from_json, wait_for_state, max_wait_seconds, w
@notebook_session_group.command(name=cli_util.override('data_science.create_notebook_session.command_name', 'create'), help=u"""Creates a new notebook session. \n[Command Reference](createNotebookSession)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate with the notebook session.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the notebook session.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the notebook session.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information. Example: `My NotebookSession`""")
@cli_util.option('--notebook-session-configuration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--notebook-session-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4663,7 +4663,7 @@ def create_notebook_session(ctx, from_json, wait_for_state, max_wait_seconds, wa
@pipeline_group.command(name=cli_util.override('data_science.create_pipeline.command_name', 'create'), help=u"""Creates a new Pipeline. \n[Command Reference](createPipeline)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the pipeline with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the pipeline.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the pipeline.""")
@cli_util.option('--step-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of step details for each step.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the pipeline.""")
@@ -4754,7 +4754,7 @@ def create_pipeline(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@pipeline_group.command(name=cli_util.override('data_science.create_pipeline_pipeline_default_configuration_details.command_name', 'create-pipeline-pipeline-default-configuration-details'), help=u"""Creates a new Pipeline. \n[Command Reference](createPipeline)""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the pipeline with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the pipeline.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the pipeline.""")
@cli_util.option('--step-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of step details for each step.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@cli_util.option('--description', help=u"""A short description of the pipeline.""")
@@ -4855,7 +4855,7 @@ def create_pipeline_pipeline_default_configuration_details(ctx, from_json, wait_
@pipeline_run_group.command(name=cli_util.override('data_science.create_pipeline_run.command_name', 'create'), help=u"""Creates a new PipelineRun. \n[Command Reference](createPipelineRun)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the pipeline run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the pipeline run.""")
@cli_util.option('--pipeline-id', required=True, help=u"""The [OCID] of the pipeline for which pipeline run is created.""")
@cli_util.option('--project-id', help=u"""The [OCID] of the project to associate the pipeline run with.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@@ -4957,7 +4957,7 @@ def create_pipeline_run(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@pipeline_run_group.command(name=cli_util.override('data_science.create_pipeline_run_pipeline_default_configuration_details.command_name', 'create-pipeline-run-pipeline-default-configuration-details'), help=u"""Creates a new PipelineRun. \n[Command Reference](createPipelineRun)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the pipeline run.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the pipeline run.""")
@cli_util.option('--pipeline-id', required=True, help=u"""The [OCID] of the pipeline for which pipeline run is created.""")
@cli_util.option('--project-id', help=u"""The [OCID] of the project to associate the pipeline run with.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource.""")
@@ -5070,7 +5070,7 @@ def create_pipeline_run_pipeline_default_configuration_details(ctx, from_json, w
@project_group.command(name=cli_util.override('data_science.create_project.command_name', 'create'), help=u"""Creates a new project. \n[Command Reference](createProject)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the project in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the project in.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the resource. It does not have to be unique and can be modified. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A short description of the project.""")
@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. See [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5137,7 +5137,7 @@ def create_project(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@schedule_group.command(name=cli_util.override('data_science.create_schedule.command_name', 'create'), help=u"""Creates a new Schedule. \n[Command Reference](createSchedule)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Avoid entering confidential information.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the schedule with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the schedule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the schedule.""")
@cli_util.option('--trigger', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--action', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A short description of the schedule.""")
@@ -5214,7 +5214,7 @@ def create_schedule(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@schedule_group.command(name=cli_util.override('data_science.create_schedule_schedule_i_cal_trigger.command_name', 'create-schedule-schedule-i-cal-trigger'), help=u"""Creates a new Schedule. \n[Command Reference](createSchedule)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Avoid entering confidential information.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the schedule with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the schedule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the schedule.""")
@cli_util.option('--action', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--trigger-recurrence', required=True, help=u"""This recurrence field conforms to RFC-5545 formatting""")
@cli_util.option('--description', help=u"""A short description of the schedule.""")
@@ -5302,7 +5302,7 @@ def create_schedule_schedule_i_cal_trigger(ctx, from_json, wait_for_state, max_w
@schedule_group.command(name=cli_util.override('data_science.create_schedule_schedule_interval_trigger.command_name', 'create-schedule-schedule-interval-trigger'), help=u"""Creates a new Schedule. \n[Command Reference](createSchedule)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Avoid entering confidential information.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the schedule with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the schedule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the schedule.""")
@cli_util.option('--action', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--trigger-frequency', required=True, type=custom_types.CliCaseInsensitiveChoice(["HOURLY", "DAILY"]), help=u"""The type of frequency""")
@cli_util.option('--trigger-interval', required=True, type=click.INT, help=u"""The interval of frequency.""")
@@ -5396,7 +5396,7 @@ def create_schedule_schedule_interval_trigger(ctx, from_json, wait_for_state, ma
@schedule_group.command(name=cli_util.override('data_science.create_schedule_schedule_cron_trigger.command_name', 'create-schedule-schedule-cron-trigger'), help=u"""Creates a new Schedule. \n[Command Reference](createSchedule)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Avoid entering confidential information.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the schedule with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the schedule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the schedule.""")
@cli_util.option('--action', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--trigger-cron-expression', required=True, help=u"""Schedule cron expression""")
@cli_util.option('--description', help=u"""A short description of the schedule.""")
@@ -5484,7 +5484,7 @@ def create_schedule_schedule_cron_trigger(ctx, from_json, wait_for_state, max_wa
@schedule_group.command(name=cli_util.override('data_science.create_schedule_schedule_http_action.command_name', 'create-schedule-schedule-http-action'), help=u"""Creates a new Schedule. \n[Command Reference](createSchedule)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Avoid entering confidential information.""")
@cli_util.option('--project-id', required=True, help=u"""The [OCID] of the project to associate the schedule with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the schedule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the schedule.""")
@cli_util.option('--trigger', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--action-action-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A short description of the schedule.""")
@@ -8314,7 +8314,7 @@ def list_containers(ctx, from_json, all_pages, page_size, is_latest, display_nam
@data_science_private_endpoint_group.command(name=cli_util.override('data_science.list_data_science_private_endpoints.command_name', 'list'), help=u"""Lists all Data Science private endpoints in the specified compartment. The query must include compartmentId. The query can also include one other parameter. If the query doesn't include compartmentId, or includes compartmentId with two or more other parameters, then an error is returned. \n[Command Reference](listDataSciencePrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@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. 1 is the minimum, 100 is the maximum. See [List Pagination].
Example: `50`""")
@@ -8384,7 +8384,7 @@ def list_data_science_private_endpoints(ctx, from_json, all_pages, page_size, co
@fast_launch_job_config_group.command(name=cli_util.override('data_science.list_fast_launch_job_configs.command_name', 'list'), help=u"""List fast launch capable job configs in the specified compartment. \n[Command Reference](listFastLaunchJobConfigs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@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. 1 is the minimum, 100 is the maximum. See [List Pagination].
Example: `50`""")
@@ -8436,7 +8436,7 @@ def list_fast_launch_job_configs(ctx, from_json, all_pages, page_size, compartme
@job_run_group.command(name=cli_util.override('data_science.list_job_runs.command_name', 'list'), help=u"""List out job runs. \n[Command Reference](listJobRuns)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--job-id', help=u"""The [OCID] of the job.""")
@cli_util.option('--created-by', help=u"""Filter results by the [OCID] of the user who created the resource.""")
@@ -8509,7 +8509,7 @@ def list_job_runs(ctx, from_json, all_pages, page_size, compartment_id, id, job_
@job_shape_group.command(name=cli_util.override('data_science.list_job_shapes.command_name', 'list'), help=u"""List job shapes available in the specified compartment. \n[Command Reference](listJobShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@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. 1 is the minimum, 100 is the maximum. See [List Pagination].
Example: `50`""")
@@ -8561,7 +8561,7 @@ def list_job_shapes(ctx, from_json, all_pages, page_size, compartment_id, limit,
@job_group.command(name=cli_util.override('data_science.list_jobs.command_name', 'list'), help=u"""List jobs in the specified compartment. \n[Command Reference](listJobs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -8695,7 +8695,7 @@ def list_ml_application_implementation_versions(ctx, from_json, all_pages, page_
@ml_application_implementation_group.command(name=cli_util.override('data_science.list_ml_application_implementations.command_name', 'list'), help=u"""Returns a list of MlApplicationImplementations. \n[Command Reference](listMlApplicationImplementations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--ml-application-implementation-id', help=u"""unique MlApplicationImplementation identifier""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@cli_util.option('--ml-application-id', help=u"""unique MlApplication identifier""")
@@ -8768,7 +8768,7 @@ def list_ml_application_implementations(ctx, from_json, all_pages, page_size, co
@ml_application_instance_view_group.command(name=cli_util.override('data_science.list_ml_application_instance_views.command_name', 'list'), help=u"""Returns a list of MlApplicationInstanceViews. \n[Command Reference](listMlApplicationInstanceViews)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@cli_util.option('--ml-application-id', help=u"""unique MlApplication identifier""")
@cli_util.option('--ml-application-implementation-id', help=u"""unique MlApplicationImplementation identifier""")
@@ -8841,7 +8841,7 @@ def list_ml_application_instance_views(ctx, from_json, all_pages, page_size, com
@ml_application_instance_group.command(name=cli_util.override('data_science.list_ml_application_instances.command_name', 'list'), help=u"""Returns a list of MlApplicationsInstances. \n[Command Reference](listMlApplicationInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@cli_util.option('--ml-application-id', help=u"""unique MlApplication identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED"]), help=u"""A filter to return only resources matching the given lifecycleState.""")
@@ -8908,7 +8908,7 @@ def list_ml_application_instances(ctx, from_json, all_pages, page_size, compartm
@ml_application_group.command(name=cli_util.override('data_science.list_ml_applications.command_name', 'list'), help=u"""Returns a list of MlApplications. \n[Command Reference](listMlApplications)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--ml-application-id', help=u"""unique MlApplication identifier""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If it is true search must include all results from descendant compartments. Value true is allowed only if compartmentId refers to root compartment.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@@ -8979,7 +8979,7 @@ def list_ml_applications(ctx, from_json, all_pages, page_size, compartment_id, m
@model_deployment_model_state_group.command(name=cli_util.override('data_science.list_model_deployment_model_states.command_name', 'list'), help=u"""Lists the status of models in a model group deployment. \n[Command Reference](listModelDeploymentModelStates)""")
@cli_util.option('--model-deployment-id', required=True, help=u"""The [OCID] of the model deployment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@cli_util.option('--inference-key', help=u"""Filter results by the inference key.""")
@@ -9055,7 +9055,7 @@ def list_model_deployment_model_states(ctx, from_json, all_pages, page_size, mod
@model_deployment_shape_group.command(name=cli_util.override('data_science.list_model_deployment_shapes.command_name', 'list'), help=u"""Lists the valid model deployment shapes. \n[Command Reference](listModelDeploymentShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@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. 1 is the minimum, 100 is the maximum. See [List Pagination].
Example: `50`""")
@@ -9107,7 +9107,7 @@ def list_model_deployment_shapes(ctx, from_json, all_pages, page_size, compartme
@model_deployment_group.command(name=cli_util.override('data_science.list_model_deployments.command_name', 'list'), help=u"""Lists all model deployments in the specified compartment. Only one parameter other than compartmentId may also be included in a query. The query must include compartmentId. If the query does not include compartmentId, or includes compartmentId but two or more other parameters an error is returned. \n[Command Reference](listModelDeployments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -9181,7 +9181,7 @@ def list_model_deployments(ctx, from_json, all_pages, page_size, compartment_id,
@model_group_group.command(name=cli_util.override('data_science.list_model_group_models.command_name', 'list-model-group-models'), help=u"""Lists all models associated with the modelGroup in the specified compartment. \n[Command Reference](listModelGroupModels)""")
@cli_util.option('--model-group-id', required=True, help=u"""The [OCID] of the modelGroup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED", "FAILED", "INACTIVE"]), help=u"""Filter results by the specified lifecycle state. Must be a valid state for the resource type.""")
@@ -9257,7 +9257,7 @@ def list_model_group_models(ctx, from_json, all_pages, page_size, model_group_id
@model_group_version_history_group.command(name=cli_util.override('data_science.list_model_group_version_histories.command_name', 'list'), help=u"""List all modelGroupVersionHistories in the specified compartment. The query must include compartmentId. \n[Command Reference](listModelGroupVersionHistories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -9330,7 +9330,7 @@ def list_model_group_version_histories(ctx, from_json, all_pages, page_size, com
@model_group_group.command(name=cli_util.override('data_science.list_model_groups.command_name', 'list'), help=u"""Lists all the modelGroups in the specified compartment. The query must include compartmentId. \n[Command Reference](listModelGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -9406,7 +9406,7 @@ def list_model_groups(ctx, from_json, all_pages, page_size, compartment_id, proj
@model_version_set_group.command(name=cli_util.override('data_science.list_model_version_sets.command_name', 'list'), help=u"""Lists model version sets in the specified compartment. \n[Command Reference](listModelVersionSets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--category', type=custom_types.CliCaseInsensitiveChoice(["USER", "SERVICE"]), help=u"""Specifies the type of model version sets to list. By default, user model version sets are listed.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@@ -9482,7 +9482,7 @@ def list_model_version_sets(ctx, from_json, all_pages, page_size, compartment_id
@model_group.command(name=cli_util.override('data_science.list_models.command_name', 'list'), help=u"""Lists models in the specified compartment. \n[Command Reference](listModels)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--model-version-set-name', help=u"""Filter results by the name of the model version set.""")
@cli_util.option('--version-label', help=u"""Filter results by version label.""")
@cli_util.option('--category', type=custom_types.CliCaseInsensitiveChoice(["USER", "SERVICE"]), help=u"""Specifies the type of models to list. By default, user models are listed.""")
@@ -9564,7 +9564,7 @@ def list_models(ctx, from_json, all_pages, page_size, compartment_id, model_vers
@notebook_session_shape_group.command(name=cli_util.override('data_science.list_notebook_session_shapes.command_name', 'list'), help=u"""Lists the valid notebook session shapes. \n[Command Reference](listNotebookSessionShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@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. 1 is the minimum, 100 is the maximum. See [List Pagination].
Example: `50`""")
@@ -9616,7 +9616,7 @@ def list_notebook_session_shapes(ctx, from_json, all_pages, page_size, compartme
@notebook_session_group.command(name=cli_util.override('data_science.list_notebook_sessions.command_name', 'list'), help=u"""Lists the notebook sessions in the specified compartment. \n[Command Reference](listNotebookSessions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -9689,7 +9689,7 @@ def list_notebook_sessions(ctx, from_json, all_pages, page_size, compartment_id,
@pipeline_run_group.command(name=cli_util.override('data_science.list_pipeline_runs.command_name', 'list'), help=u"""Returns a list of PipelineRuns. \n[Command Reference](listPipelineRuns)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--pipeline-id', help=u"""The [OCID] of the pipeline.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -9762,7 +9762,7 @@ def list_pipeline_runs(ctx, from_json, all_pages, page_size, compartment_id, id,
@pipeline_group.command(name=cli_util.override('data_science.list_pipelines.command_name', 'list'), help=u"""Returns a list of Pipelines. \n[Command Reference](listPipelines)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -9835,7 +9835,7 @@ def list_pipelines(ctx, from_json, all_pages, page_size, compartment_id, project
@project_group.command(name=cli_util.override('data_science.list_projects.command_name', 'list'), help=u"""Lists projects in the specified compartment. \n[Command Reference](listProjects)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETING", "DELETED"]), help=u"""Filter results by the specified lifecycle state. Must be a valid state for the resource type.""")
@@ -9905,7 +9905,7 @@ def list_projects(ctx, from_json, all_pages, page_size, compartment_id, id, disp
@schedule_group.command(name=cli_util.override('data_science.list_schedules.command_name', 'list'), help=u"""Returns a list of Schedules. \n[Command Reference](listSchedules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--project-id', help=u"""Filter results by the [OCID] of the project.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""Filter results by its user-friendly name.""")
@@ -10085,7 +10085,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('data_science.list_work_requests.command_name', 'list'), help=u"""Lists work requests in the specified compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filter results by the [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filter results by the [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--operation-type', type=custom_types.CliCaseInsensitiveChoice(["NOTEBOOK_SESSION_CREATE", "NOTEBOOK_SESSION_DELETE", "NOTEBOOK_SESSION_ACTIVATE", "NOTEBOOK_SESSION_DEACTIVATE", "MODELVERSIONSET_DELETE", "EXPORT_MODEL_ARTIFACT", "IMPORT_MODEL_ARTIFACT", "MODEL_DEPLOYMENT_CREATE", "MODEL_DEPLOYMENT_DELETE", "MODEL_DEPLOYMENT_ACTIVATE", "MODEL_DEPLOYMENT_DEACTIVATE", "MODEL_DEPLOYMENT_UPDATE", "PROJECT_DELETE", "WORKREQUEST_CANCEL", "JOB_DELETE", "PIPELINE_CREATE", "PIPELINE_DELETE", "PIPELINE_RUN_CREATE", "PIPELINE_RUN_CANCEL", "PIPELINE_RUN_DELETE", "ML_APPLICATION_PACKAGE_UPLOAD", "ML_APPLICATION_TRIGGER_START", "ML_APPLICATION_IMPLEMENTATION_DELETE", "ML_APPLICATION_IMPLEMENTATION_UPDATE", "ML_APPLICATION_IMPLEMENTATION_MOVE", "ML_APPLICATION_INSTANCE_CREATE", "ML_APPLICATION_INSTANCE_UPDATE", "ML_APPLICATION_INSTANCE_DELETE", "ML_APPLICATION_INSTANCE_MOVE", "ML_APPLICATION_INSTANCE_VIEW_CREATE", "ML_APPLICATION_INSTANCE_VIEW_UPDATE", "ML_APPLICATION_INSTANCE_VIEW_DELETE", "ML_APPLICATION_INSTANCE_VIEW_UPGRADE", "ML_APPLICATION_INSTANCE_VIEW_MOVE", "PRIVATE_ENDPOINT_CREATE", "PRIVATE_ENDPOINT_DELETE", "PRIVATE_ENDPOINT_MOVE", "PRIVATE_ENDPOINT_UPDATE", "SCHEDULE_CREATE", "SCHEDULE_UPDATE", "SCHEDULE_DELETE", "SCHEDULE_MOVE", "SCHEDULE_ACTIVATE", "SCHEDULE_DEACTIVATE", "REGISTER_MODEL_ARTIFACT", "RESTORE_ARCHIVED_MODEL", "MODEL_GROUP_CREATE", "MODEL_GROUP_UPDATE", "MODEL_GROUP_DELETE", "MODEL_GROUP_VERSION_HISTORY_DELETE"]), help=u"""Filter results by the type of the operation associated with the work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""Filter results by work request status.""")
diff --git a/services/database/src/oci_cli_database/database_cli_extended.py b/services/database/src/oci_cli_database/database_cli_extended.py
index 10516f3d..a87be5a1 100644
--- a/services/database/src/oci_cli_database/database_cli_extended.py
+++ b/services/database/src/oci_cli_database/database_cli_extended.py
@@ -162,7 +162,7 @@ def upgrade_database_database_upgrade_with_db_version_details_extended(ctx, **kw
# Rename the command upgrade_database_database_upgrade_with_db_home_details and the parameter database-upgrade-source-details-db-home-id to db-home-id and database_upgrade_source_details_options to options.
@cli_util.copy_params_from_generated_command(database_cli.upgrade_database_database_upgrade_with_db_home_details, params_to_exclude=['database_upgrade_source_details_db_home_id', 'database_upgrade_source_details_options'])
-@cli_util.option('--db-home-id', required=True, help=u"""The [OCID] of the Database Home.""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database Home.""")
@cli_util.option('--options', help=u"""Additional upgrade options supported by DBUA(Database Upgrade Assistant). Example: \"-upgradeTimezone false -keepEvents\"""")
@database_cli.database_group.command(name='upgrade-with-db-home', help=database_cli.database_group.help)
@click.pass_context
@@ -377,7 +377,7 @@ def autonomous_database_data_safe_group():
@cli_util.option('--storage-management', type=custom_types.CliCaseInsensitiveChoice(["LVM", "ASM"]), help="""Option for storage management for the database system. Allowed values are: LVM, ASM.""")
@cli_util.option('--database-software-image-id', required=False, help="""The OCID of database software image. This Custom Database Software Image will be used to create the database instead of Oracle-published Database Software Images""")
@cli_util.option('--storage-performance', type=custom_types.CliCaseInsensitiveChoice(["BALANCED", "HIGH_PERFORMANCE"]), help=u"""The block storage volume performance level. Valid values are `BALANCED` and `HIGH_PERFORMANCE`. See [Block Volume Performance] for more information.""")
-@cli_util.option('--vault-id', required=False, help="""The OCID of the Oracle Cloud Infrastructure vault.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, required=False, help="""The OCID of the Oracle Cloud Infrastructure vault.""")
@cli_util.option('--is-diagnostics-events-enabled', required=False, type=click.BOOL, help="""Enables customer to receive Events service notifications for guest VM issues""")
@cli_util.option('--is-health-monitoring-enabled', required=False, type=click.BOOL, help="""Enables Oracle to receive diagnostic data and share it with its operations and support personnel""")
@cli_util.option('--is-incident-logs-enabled', required=False, type=click.BOOL, help="""Enables Oracle to receive Events service notifications for guest VM issues, collect incident logs and traces""")
@@ -512,7 +512,7 @@ def launch_db_system_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.launch_db_system_launch_db_system_from_backup_details, params_to_exclude=['db_home', 'db_system_options', 'ssh_public_keys', 'storage_volume_performance_mode', 'data_collection_options'])
@database_cli.db_system_group.command(name='launch-from-backup', help=database_cli.launch_db_system_launch_db_system_from_backup_details.help)
@cli_util.option('--admin-password', required=True, help="""A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numbers, and two special characters. The special characters must be _, #, or -.""")
-@cli_util.option('--backup-id', required=True, help="""The backup OCID.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help="""The backup OCID.""")
@cli_util.option('--backup-tde-password', required=False, help="""The password to open the TDE wallet.""")
@cli_util.option('--db-name', required=False, help="""The display name of the database to be created from the backup. It must begin with an alphabetic character and can contain a maximum of eight alphanumeric characters. Special characters are not permitted.""")
@cli_util.option('--db-unique-name', required=False, help="""The database unique name. It must be greater than 3 characters, but at most 30 characters, begin with a letter, and contain only letters, numbers, and underscores. The first eight characters must also be unique within a Database Domain and within a Database System or VM Cluster. In addition, if it is not on a VM Cluster it might either be identical to the database name or prefixed by the datbase name and followed by an underscore.""")
@@ -641,8 +641,8 @@ def launch_db_system_from_database_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.create_db_home, params_to_exclude=['database', 'display_name', 'db_version'])
@database_cli.database_group.command(name='create', help="""Creates a new database in the given DB System.""")
@cli_util.option('--admin-password', required=True, help="""A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numbers, and two special characters. The special characters must be _, #, or -.""")
-@cli_util.option('--db-home-id', required=False, help="""The Db Home Id to create this database under.""")
-@cli_util.option('--db-system-id', required=False, help="""The Db System Id to create this database under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
+@cli_util.option('--db-home-id', type=custom_types.CLI_OCID, required=False, help="""The Db Home Id to create this database under.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, required=False, help="""The Db System Id to create this database under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
@cli_util.option('--vm-cluster-id', required=False, help="""The Vm Cluster Id to create this database under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
@cli_util.option('--character-set', help="""The character set for the database. The default is AL32UTF8. Allowed values are: AL32UTF8, AR8ADOS710, AR8ADOS720, AR8APTEC715, AR8ARABICMACS, AR8ASMO8X, AR8ISO8859P6, AR8MSWIN1256, AR8MUSSAD768, AR8NAFITHA711, AR8NAFITHA721, AR8SAKHR706, AR8SAKHR707, AZ8ISO8859P9E, BG8MSWIN, BG8PC437S, BLT8CP921, BLT8ISO8859P13, BLT8MSWIN1257, BLT8PC775, BN8BSCII, CDN8PC863, CEL8ISO8859P14, CL8ISO8859P5, CL8ISOIR111, CL8KOI8R, CL8KOI8U, CL8MACCYRILLICS, CL8MSWIN1251, EE8ISO8859P2, EE8MACCES, EE8MACCROATIANS, EE8MSWIN1250, EE8PC852, EL8DEC, EL8ISO8859P7, EL8MACGREEKS, EL8MSWIN1253, EL8PC437S, EL8PC851, EL8PC869, ET8MSWIN923, HU8ABMOD, HU8CWI2, IN8ISCII, IS8PC861, IW8ISO8859P8, IW8MACHEBREWS, IW8MSWIN1255, IW8PC1507, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE, JA16VMS, KO16KSC5601, KO16KSCCS, KO16MSWIN949, LA8ISO6937, LA8PASSPORT, LT8MSWIN921, LT8PC772, LT8PC774, LV8PC1117, LV8PC8LR, LV8RST104090, N8PC865, NE8ISO8859P10, NEE8ISO8859P4, RU8BESTA, RU8PC855, RU8PC866, SE8ISO8859P3, TH8MACTHAIS, TH8TISASCII, TR8DEC, TR8MACTURKISHS, TR8MSWIN1254, TR8PC857, US7ASCII, US8PC437, UTF8, VN8MSWIN1258, VN8VN3, WE8DEC, WE8DG, WE8ISO8859P1, WE8ISO8859P15, WE8ISO8859P9, WE8MACROMAN8S, WE8MSWIN1252, WE8NCR4970, WE8NEXTSTEP, WE8PC850, WE8PC858, WE8PC860, WE8ROMAN8, ZHS16CGB231280, ZHS16GBK, ZHT16BIG5, ZHT16CCDC, ZHT16DBT, ZHT16HKSCS, ZHT16MSWIN950, ZHT32EUC, ZHT32SOPS, ZHT32TRIS.""")
@cli_util.option('--db-name', required=True, help="""The database name. It must begin with an alphabetic character and can contain a maximum of eight alphanumeric characters. Special characters are not permitted.""")
@@ -663,7 +663,7 @@ def launch_db_system_from_database_extended(ctx, **kwargs):
@cli_util.option('--auto-full-backup-window', required=False, help="""Specifying a two hour slot when the full backup should kick in eg:- SLOT_ONE,SLOT_TWO. Default is anytime""")
@cli_util.option('--run-immediate-full-backup', type=click.BOOL, required=False, help="""If set to true, configures automatic full backups in the local region (the region of the DB system) for the first backup run immediately.""")
@cli_util.option('--backup-destination', required=False, type=custom_types.CLI_COMPLEX_TYPE, help="""backup destination list""")
-@cli_util.option('--vault-id', required=False, help="""The OCID of the Oracle Cloud Infrastructure vault.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, required=False, help="""The OCID of the Oracle Cloud Infrastructure vault.""")
@cli_util.option('--hsm-password', required=False, help=u"""Provide the HSM password as you would in RDBMS for External HSM.""")
@cli_util.option('--data-storage-size-in-gbs', type=click.INT, help=u"""Provide the DATA storage size, in gigabytes, that is applicable for the database.""")
@cli_util.option('--reco-storage-size-in-gbs', type=click.INT, help=u"""Provide the RECO storage size, in gigabytes, that is applicable for the database.""")
@@ -851,9 +851,9 @@ def create_database(ctx, wait_for_state, max_wait_seconds, wait_interval_seconds
@cli_util.copy_params_from_generated_command(database_cli.create_db_home, params_to_exclude=['database', 'display_name', 'db_version', 'source'])
@database_cli.database_group.command(name='create-from-backup', help="""Creates a new database in the given DB System from a backup.""")
@cli_util.option('--vm-cluster-id', required=False, help="""The Vm Cluster Id to create this database under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
-@cli_util.option('--db-system-id', required=False, help="""The Db System Id to restore this database under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, required=False, help="""The Db System Id to restore this database under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
@cli_util.option('--admin-password', required=True, help="""A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numbers, and two special characters. The special characters must be _, #, or -.""")
-@cli_util.option('--backup-id', required=True, help="""The backup OCID.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help="""The backup OCID.""")
@cli_util.option('--backup-tde-password', required=False, help="""The password to open the TDE wallet.""")
@cli_util.option('--db-name', required=False, help="""The display name of the database to be created from the backup. It must begin with an alphabetic character and can contain a maximum of eight alphanumeric characters. Special characters are not permitted.""")
@cli_util.option('--db-unique-name', required=False, help="""The database unique name. It must be greater than 3 characters, but at most 30 characters, begin with a letter, and contain only letters, numbers, and underscores. The first eight characters must also be unique within a Database Domain and within a Database System or VM Cluster. In addition, if it is not on a VM Cluster it might either be identical to the database name or prefixed by the datbase name and followed by an underscore.""")
@@ -1021,9 +1021,9 @@ def update_database_extended(ctx, **kwargs):
# Db home is not exposed to the end user.
@cli_util.copy_params_from_generated_command(database_cli.create_db_home, params_to_exclude=['database', 'display_name', 'db_version', 'source'])
@database_cli.database_group.command(name='create-from-database', help="""Creates a new database in the given DB System from another database.""")
-@cli_util.option('--db-system-id', required=False, help="""The Db System Id to clone this database under.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, required=False, help="""The Db System Id to clone this database under.""")
@cli_util.option('--admin-password', required=True, help="""A strong password for SYS, SYSTEM, and PDB Admin. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numbers, and two special characters. The special characters must be _, #, or -.""")
-@cli_util.option('--database-id', required=True, help="""The OCID of the from-database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the from-database.""")
@cli_util.option('--backup-tde-password', required=False, help="""The password to open the TDE wallet.""")
@cli_util.option('--point-in-time-recovery-timestamp', required=False, help="""The point in time of the original database from which the new database is created. If not specifed, the latest backup is used to create the database.""")
@cli_util.option('--db-name', required=False, help="""The display name of the database to be created. It must begin with an alphabetic character and can contain a maximum of eight alphanumeric characters. Special characters are not permitted.""")
@@ -1108,7 +1108,7 @@ def create_database_from_another_database(ctx, wait_for_state, max_wait_seconds,
@database_cli.database_group.command(name='patch', help="""Perform a patch action for a given patch and database.""")
-@cli_util.option('--database-id', required=True, help="""The OCID of the database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the database.""")
@cli_util.option('--patch-action', required=False, help="""The action to perform on the patch.""")
@cli_util.option('--patch-id', required=False, help="""The OCID of the patch.""")
@cli_util.option('--one-off-patches', required=False, type=custom_types.CLI_COMPLEX_TYPE, help="""The list of one-off patches.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1159,7 +1159,7 @@ def patch_database(ctx, **kwargs):
@database_cli.database_group.command(name='delete', help="""Deletes a database.""")
-@cli_util.option('--database-id', required=True, help="""The OCID of the database to delete.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the database to delete.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1211,7 +1211,7 @@ def delete_database(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.list_db_homes, params_to_exclude=['db_home_id', 'page', 'all_pages', 'page_size', 'db_system_id', 'db_version'])
@database_cli.database_group.command(name='list', help="""Lists all databases in a given DB System.""")
@click.pass_context
-@cli_util.option('--db-system-id', help="""The OCID of the db system to list within.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help="""The OCID of the db system to list within.""")
@cli_util.option('--vm-cluster-id', help="""The OCID of the vm cluster to list within.""")
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'database', 'class': 'list[DatabaseSummary]'})
@cli_util.wrap_exceptions
@@ -1360,7 +1360,7 @@ def update_db_system_extended(ctx, **kwargs):
@database_cli.db_system_group.command(name='patch', help="""Perform an action on a Patch for a DB System.""")
-@cli_util.option('--db-system-id', required=True, help="""The OCID of the DB System.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the DB System.""")
@cli_util.option('--patch-action', required=True, type=custom_types.CliCaseInsensitiveChoice(["APPLY", "PRECHECK"]), help="""The action to perform on the patch.""")
@cli_util.option('--patch-id', required=True, help="""The OCID of the patch.""")
@click.pass_context
@@ -1514,7 +1514,7 @@ def create_data_guard_association_from_existing_db_system(ctx, from_json, databa
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model for Base Database Service. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. The ECPU compute model is the recommended model, and the OCPU compute model is legacy.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the DB system.""")
@cli_util.option('--shape', help=u"""The shape of the DB system to launch to set up the Data Guard association. The shape determines the number of CPU cores and the amount of memory available for the DB system. Only virtual machine shapes are valid shapes. If you do not supply this parameter, the default shape is the shape of the primary DB system. To get a list of all shapes, use the [ListDbSystemShapes] operation.""")
-@cli_util.option('--subnet-id', required=True, help="""The OCID of the subnet the DB System is associated with. **Subnet Restrictions:** - For 1- and 2-node RAC DB Systems, do not use a subnet that overlaps with 192.168.16.16/28
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the subnet the DB System is associated with. **Subnet Restrictions:** - For 1- and 2-node RAC DB Systems, do not use a subnet that overlaps with 192.168.16.16/28
These subnets are used by the Oracle Clusterware private interconnect on the database instance. Specifying an overlapping subnet will cause the private interconnect to malfunction. This restriction applies to both the client subnet and backup subnet.""")
@cli_util.option('--is-active-data-guard-enabled', type=click.BOOL, help=u"""True if active Data Guard is enabled.""")
@@ -1680,7 +1680,7 @@ def patch_history_list_group():
@cli_util.copy_params_from_generated_command(database_cli.get_db_home_patch, params_to_exclude=['db_home_id'])
@patch_get_group.command('by-database', help="""Get patch for a given database""")
-@cli_util.option('--database-id', required=True, help="""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help="""The database [OCID].""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'database', 'class': 'Patch'})
@cli_util.wrap_exceptions
@@ -1698,7 +1698,7 @@ def get_patch_by_database(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.list_db_home_patches, params_to_exclude=['db_home_id'])
@patch_list_group.command('by-database', help="""List patches for a given database""")
-@cli_util.option('--database-id', required=True, help="""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help="""The database [OCID].""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'database', 'class': 'list[PatchSummary]'})
@cli_util.wrap_exceptions
@@ -1716,7 +1716,7 @@ def list_patch_by_database(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.get_db_home_patch_history_entry, params_to_exclude=['db_home_id'])
@patch_history_get_group.command('by-database', help="""Get patch history for a given database""")
-@cli_util.option('--database-id', required=True, help="""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help="""The database [OCID].""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'database', 'class': 'PatchHistoryEntry'})
@cli_util.wrap_exceptions
@@ -1734,7 +1734,7 @@ def get_patch_history_entry_by_database(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.list_db_home_patch_history_entries, params_to_exclude=['db_home_id'])
@patch_history_list_group.command('by-database', help="""List patch history entries for a given database""")
-@cli_util.option('--database-id', required=True, help="""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help="""The database [OCID].""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'database', 'class': 'list[PatchHistoryEntrySummary]'})
@cli_util.wrap_exceptions
@@ -1790,7 +1790,7 @@ def add_storage_capacity_cloud_exadata_infrastructure(ctx, **kwargs):
@cli_util.option('--is-sparse-diskgroup', type=click.BOOL, help=u"""If true, the sparse disk group is configured for the cloud VM cluster. If false, the sparse disk group is not created.""")
@cli_util.option('--is-local-backup', type=click.BOOL, help=u"""If true, database backup on local Exadata storage is configured for the cloud VM cluster. If false, database backup on local Exadata storage is not available in the cloud VM cluster.""")
@cli_util.option('--ssh-authorized-keys-file', required=True, type=click.File('r'), help="""A file containing one or more public SSH keys to use for SSH access to the Cloud VM Cluster. Use a newline character to separate multiple keys. The length of the combined keys cannot exceed 10,000 characters.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Exadata Database Storage Vault.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Exadata Database Storage Vault.""")
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=DATA_COLLECTION_OPTIONS_HELP)
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'ssh-public-keys': {'module': 'database', 'class': 'list[string]'}, 'nsg-ids': {'module': 'database', 'class': 'list[string]'}, 'backup-network-nsg-ids': {'module': 'database', 'class': 'list[string]'}, 'freeform-tags': {'module': 'database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database', 'class': 'dict(str, dict(str, object))'}, 'data-collection-options': {'module': 'database', 'class': 'DataCollectionOptions'}}, output_type={'module': 'database', 'class': 'CloudVmCluster'})
@@ -2143,7 +2143,7 @@ def update_cloud_exadata_infrastructure(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.create_db_home, params_to_exclude=['database', 'db_version'])
@database_cli.db_home_group.command(name='create', help="""Creates a new database in the given DB System or VM Cluster.""")
@cli_util.option('--vm-cluster-id', required=False, help="""The Vm Cluster Id to create this Db Home under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
-@cli_util.option('--db-system-id', required=False, help="""The Db System Id to restore this Db Home under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, required=False, help="""The Db System Id to restore this Db Home under. Either --db-system-id or --vm-cluster-id must be specified, but if both are passed, --vm-cluster-id will be ignored.""")
@cli_util.option('--db-version', required=False, help="""A valid Oracle database version. To get a list of supported versions, use the command 'oci db version list'.""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'backup-destination': {'module': 'database', 'class': 'list[BackupDestinationDetails]'}, 'freeform-tags': {'module': 'database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'database', 'class': 'DatabaseSummary'})
@@ -2307,8 +2307,8 @@ def create_db_home(ctx, wait_for_state, max_wait_seconds, wait_interval_seconds,
@cli_util.copy_params_from_generated_command(database_cli.create_key_store_key_store_type_from_oracle_key_vault_details, params_to_exclude=['type_details_connection_ips', 'type_details_admin_username', 'type_details_vault_id', 'type_details_secret_id'])
@cli_util.option('--connection-ips', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of Oracle Key Vault connection IP addresses.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-username', required=True, help=u"""The administrator username to connect to Oracle Key Vault""")
-@cli_util.option('--vault-id', required=True, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault].""")
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Oracle Cloud Infrastructure [secret].""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault].""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [secret].""")
@database_cli.key_store_group.command(name='create-oracle-key-vault-details', help=database_cli.create_key_store_key_store_type_from_oracle_key_vault_details.help)
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database', 'class': 'dict(str, dict(str, object))'}, 'connection-ips': {'module': 'database', 'class': 'list[string]'}}, output_type={'module': 'database', 'class': 'KeyStore'})
@@ -2341,8 +2341,8 @@ def create_okv_keystore(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(database_cli.update_key_store_key_store_type_from_oracle_key_vault_details, params_to_exclude=['type_details_connection_ips', 'type_details_admin_username', 'type_details_vault_id', 'type_details_secret_id'])
@cli_util.option('--connection-ips', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of Oracle Key Vault connection IP addresses.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-username', required=True, help=u"""The administrator username to connect to Oracle Key Vault""")
-@cli_util.option('--vault-id', required=True, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault].""")
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Oracle Cloud Infrastructure [secret].""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault].""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [secret].""")
@database_cli.key_store_group.command(name='update-oracle-key-vault-details', help=database_cli.update_key_store_key_store_type_from_oracle_key_vault_details.help)
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database', 'class': 'dict(str, dict(str, object))'}, 'connection-ips': {'module': 'database', 'class': 'list[string]'}}, output_type={'module': 'database', 'class': 'KeyStore'})
@@ -4061,7 +4061,7 @@ def update_exascale_db_storage_vault_extended(ctx, **kwargs):
@database_cli.exadb_vm_cluster_group.command('create', help=database_cli.create_exadb_vm_cluster.help)
@cli_util.option('--scan-listener-port-tcps', type=click.INT, help=u"""The Secured Communication (TCPS) protocol Single Client Access Name (SCAN) port. The default port is 2484.""")
@cli_util.option('--ssh-authorized-keys-file', required=True, type=click.File('r'), help="""A file containing one or more public SSH keys to use for SSH access to the Exadb VM Cluster. Use a newline character to separate multiple keys. The length of the combined keys cannot exceed 10,000 characters.""")
-@cli_util.option('--vault-id', required=True, help=u"""The [OCID] of the Exadata Database Storage Vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Exadata Database Storage Vault.""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'ssh-public-keys': {'module': 'database', 'class': 'list[string]'}, 'vm-file-system-storage': {'module': 'database', 'class': 'ExadbVmClusterStorageDetails'}, 'nsg-ids': {'module': 'database', 'class': 'list[string]'}, 'backup-network-nsg-ids': {'module': 'database', 'class': 'list[string]'}, 'freeform-tags': {'module': 'database', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'database', 'class': 'dict(str, dict(str, object))'}, 'data-collection-options': {'module': 'database', 'class': 'DataCollectionOptions'}}, output_type={'module': 'database', 'class': 'ExadbVmCluster'})
@cli_util.wrap_exceptions
@@ -4102,7 +4102,7 @@ def update_exadb_vm_cluster_extended(ctx, **kwargs):
# Renaming the parameter exascale-db-storage-vault-id to vault-id
@cli_util.copy_params_from_generated_command(database_cli.list_exadb_vm_clusters, params_to_exclude=['exascale_db_storage_vault_id'])
@database_cli.exadb_vm_cluster_group.command('list', help=database_cli.list_exadb_vm_clusters.help)
-@cli_util.option('--vault-id', help=u"""A filter to return only Exadata VM clusters on Exascale Infrastructure that match the given Exascale Database Storage Vault ID.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""A filter to return only Exadata VM clusters on Exascale Infrastructure that match the given Exascale Database Storage Vault ID.""")
@click.pass_context
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.wrap_exceptions
diff --git a/services/database/src/oci_cli_database/generated/database_cli.py b/services/database/src/oci_cli_database/generated/database_cli.py
index a241f051..5c88662c 100644
--- a/services/database/src/oci_cli_database/generated/database_cli.py
+++ b/services/database/src/oci_cli_database/generated/database_cli.py
@@ -1033,7 +1033,7 @@ def add_virtual_machine_to_vm_cluster(ctx, from_json, wait_for_state, max_wait_s
@autonomous_database_group.command(name=cli_util.override('db.autonomous_database_manual_refresh.command_name', 'autonomous-database-manual-refresh'), help=u"""Initiates a data refresh for an Autonomous AI Database refreshable clone. Data is refreshed from the source database to the point of a specified timestamp. \n[Command Reference](autonomousDatabaseManualRefresh)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--time-refresh-cutoff', type=custom_types.CLI_DATETIME, help=u"""The timestamp to which the Autonomous AI Database refreshable clone will be refreshed. Changes made in the primary database after this timestamp are not part of the data refresh.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -1095,7 +1095,7 @@ def autonomous_database_manual_refresh(ctx, from_json, wait_for_state, max_wait_
@backup_group.command(name=cli_util.override('db.cancel_backup.command_name', 'cancel'), help=u"""Cancel automatic/standalone full/incremental create backup workrequests specified by the backup Id. \n[Command Reference](cancelBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The backup [OCID].""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The backup [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -1284,7 +1284,7 @@ def cascading_delete_scheduling_plan(ctx, from_json, wait_for_state, max_wait_se
@autonomous_container_database_group.command(name=cli_util.override('db.change_autonomous_container_database_compartment.command_name', 'change-compartment'), help=u"""Move the Autonomous Container Database and its dependent resources to the specified compartment. For more information about moving Autonomous Container Databases, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeAutonomousContainerDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--autonomous-container-database-id', required=True, help=u"""The Autonomous Container Database [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1353,8 +1353,8 @@ def change_autonomous_container_database_compartment(ctx, from_json, wait_for_st
@autonomous_database_group.command(name=cli_util.override('db.change_autonomous_database_compartment.command_name', 'change-compartment'), help=u"""Move the Autonomous AI Database and its dependent resources to the specified compartment. For more information about moving Autonomous AI Databases, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeAutonomousDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1425,7 +1425,7 @@ def change_autonomous_database_compartment(ctx, from_json, wait_for_state, max_w
@autonomous_database_software_image_group.command(name=cli_util.override('db.change_autonomous_database_software_image_compartment.command_name', 'change-compartment'), help=u"""Move the Autonomous AI Database Software Image and its dependent resources to the specified compartment. \n[Command Reference](changeAutonomousDatabaseSoftwareImageCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--autonomous-database-software-image-id', required=True, help=u"""The Autonomous AI Database Software Image [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1494,8 +1494,8 @@ def change_autonomous_database_software_image_compartment(ctx, from_json, wait_f
@autonomous_database_group.command(name=cli_util.override('db.change_autonomous_database_subscription.command_name', 'change-autonomous-database-subscription'), help=u"""Associate an Autonomous AI Database with a different subscription. \n[Command Reference](changeAutonomousDatabaseSubscription)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -1572,7 +1572,7 @@ def change_autonomous_database_subscription(ctx, from_json, wait_for_state, max_
@autonomous_exadata_infrastructure_group.command(name=cli_util.override('db.change_autonomous_exadata_infrastructure_compartment.command_name', 'change-compartment'), help=u"""**Deprecated.** Use the [ChangeCloudExadataInfrastructureCompartment] operation to move an Exadata infrastructure resource to a different compartment and [ChangeCloudAutonomousVmClusterCompartment] operation to move an Autonomous Exadata VM cluster to a different compartment. For more information, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeAutonomousExadataInfrastructureCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--autonomous-exadata-infrastructure-id', required=True, help=u"""The Autonomous Exadata Infrastructure [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1641,7 +1641,7 @@ def change_autonomous_exadata_infrastructure_compartment(ctx, from_json, wait_fo
@autonomous_vm_cluster_group.command(name=cli_util.override('db.change_autonomous_vm_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves an Autonomous VM cluster and its dependent resources to another compartment. Applies to Exadata Cloud@Customer only. For systems in the Oracle cloud, see [ChangeAutonomousVmClusterCompartment]. \n[Command Reference](changeAutonomousVmClusterCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Autonomous VM cluster to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Autonomous VM cluster to.""")
@cli_util.option('--autonomous-vm-cluster-id', required=True, help=u"""The autonomous VM cluster [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1710,7 +1710,7 @@ def change_autonomous_vm_cluster_compartment(ctx, from_json, wait_for_state, max
@backup_destination_group.command(name=cli_util.override('db.change_backup_destination_compartment.command_name', 'change-compartment'), help=u"""Move the backup destination and its dependent resources to the specified compartment. For more information, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeBackupDestinationCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--backup-destination-id', required=True, help=u"""The [OCID] of the backup destination.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1779,7 +1779,7 @@ def change_backup_destination_compartment(ctx, from_json, wait_for_state, max_wa
@cloud_autonomous_vm_cluster_group.command(name=cli_util.override('db.change_cloud_autonomous_vm_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves an Autonomous Exadata VM cluster in the Oracle cloud and its dependent resources to another compartment. For Exadata Cloud@Customer systems, see [ChangeAutonomousVmClusterCompartment]. \n[Command Reference](changeCloudAutonomousVmClusterCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', required=True, help=u"""The Cloud VM cluster [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1849,7 +1849,7 @@ def change_cloud_autonomous_vm_cluster_compartment(ctx, from_json, wait_for_stat
@cloud_autonomous_vm_cluster_group.command(name=cli_util.override('db.change_cloud_autonomous_vm_cluster_subscription.command_name', 'change-cloud-autonomous-vm-cluster-subscription'), help=u"""Associate a Cloud Autonomous VM cluster with a different subscription. \n[Command Reference](changeCloudAutonomousVmClusterSubscription)""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', required=True, help=u"""The Cloud VM cluster [OCID].""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1923,8 +1923,8 @@ def change_cloud_autonomous_vm_cluster_subscription(ctx, from_json, wait_for_sta
@db_system_group.command(name=cli_util.override('db.change_cloud_db_system_subscription.command_name', 'change-cloud-db-system-subscription'), help=u"""Associate a cloud DB system with a different subscription. \n[Command Reference](changeCloudDbSystemSubscription)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -1998,7 +1998,7 @@ def change_cloud_db_system_subscription(ctx, from_json, wait_for_state, max_wait
@cloud_exadata_infrastructure_group.command(name=cli_util.override('db.change_cloud_exadata_infrastructure_compartment.command_name', 'change-compartment'), help=u"""Moves a cloud Exadata infrastructure resource and its dependent resources to another compartment. Applies to Exadata Cloud Service instances and Autonomous AI Database on dedicated Exadata infrastructure only.For more information about moving resources to a different compartment, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeCloudExadataInfrastructureCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-exadata-infrastructure-id', required=True, help=u"""The cloud Exadata infrastructure [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2068,7 +2068,7 @@ def change_cloud_exadata_infrastructure_compartment(ctx, from_json, wait_for_sta
@cloud_exadata_infrastructure_group.command(name=cli_util.override('db.change_cloud_exadata_infrastructure_subscription.command_name', 'change-cloud-exadata-infrastructure-subscription'), help=u"""Associate a cloud Exadata infrastructure with a different subscription. \n[Command Reference](changeCloudExadataInfrastructureSubscription)""")
@cli_util.option('--cloud-exadata-infrastructure-id', required=True, help=u"""The cloud Exadata infrastructure [OCID].""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2142,7 +2142,7 @@ def change_cloud_exadata_infrastructure_subscription(ctx, from_json, wait_for_st
@cloud_vm_cluster_group.command(name=cli_util.override('db.change_cloud_vm_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a cloud VM cluster and its dependent resources to another compartment. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only. \n[Command Reference](changeCloudVmClusterCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-vm-cluster-id', required=True, help=u"""The cloud VM cluster [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2212,7 +2212,7 @@ def change_cloud_vm_cluster_compartment(ctx, from_json, wait_for_state, max_wait
@cloud_vm_cluster_group.command(name=cli_util.override('db.change_cloud_vm_cluster_subscription.command_name', 'change-cloud-vm-cluster-subscription'), help=u"""Associate a cloud VM cluster with a different subscription. \n[Command Reference](changeCloudVmClusterSubscription)""")
@cli_util.option('--cloud-vm-cluster-id', required=True, help=u"""The cloud VM cluster [OCID].""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2286,7 +2286,7 @@ def change_cloud_vm_cluster_subscription(ctx, from_json, wait_for_state, max_wai
@database_software_image_group.command(name=cli_util.override('db.change_database_software_image_compartment.command_name', 'change-compartment'), help=u"""Move the Database Software Image and its dependent resources to the specified compartment. For more information about moving Databse Software Images, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeDatabaseSoftwareImageCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--database-software-image-id', required=True, help=u"""The DB system [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2418,8 +2418,8 @@ def change_dataguard_role(ctx, from_json, wait_for_state, max_wait_seconds, wait
@db_system_group.command(name=cli_util.override('db.change_db_system_compartment.command_name', 'change-compartment'), help=u"""Moves the DB system and its dependent resources to the specified compartment. For more information about moving DB systems, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeDbSystemCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -2487,7 +2487,7 @@ def change_db_system_compartment(ctx, from_json, wait_for_state, max_wait_second
@autonomous_database_group.command(name=cli_util.override('db.change_disaster_recovery_configuration.command_name', 'change-disaster-recovery-configuration'), help=u"""This operation updates the cross-region disaster recovery (DR) details of the standby Autonomous AI Database Serverless database, and must be run on the standby side. \n[Command Reference](changeDisasterRecoveryConfiguration)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--disaster-recovery-type', type=custom_types.CliCaseInsensitiveChoice(["ADG", "BACKUP_BASED"]), help=u"""Indicates the disaster recovery (DR) type of the Autonomous AI Database Serverless instance. Autonomous Data Guard (ADG) DR type provides business critical DR with a faster recovery time objective (RTO) during failover or switchover. Backup-based DR type provides lower cost DR with a slower RTO during failover or switchover.""")
@cli_util.option('--time-snapshot-standby-enabled-till', type=custom_types.CLI_DATETIME, help=u"""Time and date stored as an RFC 3339 formatted timestamp string. For example, 2022-01-01T12:00:00.000Z would set a limit for the snapshot standby to be converted back to a cross-region standby database.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--is-snapshot-standby', type=click.BOOL, help=u"""Indicates if user wants to convert to a snapshot standby. For example, true would set a standby database to snapshot standby database. False would set a snapshot standby database back to regular standby database.""")
@@ -2561,7 +2561,7 @@ def change_disaster_recovery_configuration(ctx, from_json, wait_for_state, max_w
@database_group.command(name=cli_util.override('db.change_encryption_key_location.command_name', 'change-encryption-key-location'), help=u"""Update the encryption key management location for the database \n[Command Reference](changeEncryptionKeyLocation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--provider-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXTERNAL", "AZURE", "GCP", "AWS"]), help=u"""Use 'EXTERNAL' for creating a new database or migrating a database key to an External HSM. Use 'AZURE' for creating a new database or migrating a database key to Azure. Use 'GCP' for creating a new database or migrating a database key to Google Cloud Provider. Use 'AWS' for creating a new database or migrating a database key to Aws.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2630,7 +2630,7 @@ def change_encryption_key_location(ctx, from_json, wait_for_state, max_wait_seco
@database_group.command(name=cli_util.override('db.change_encryption_key_location_external_hsm_encryption_details.command_name', 'change-encryption-key-location-external-hsm-encryption-details'), help=u"""Update the encryption key management location for the database \n[Command Reference](changeEncryptionKeyLocation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--hsm-password', required=True, help=u"""Provide the HSM password as you would in RDBMS for External HSM.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2701,7 +2701,7 @@ def change_encryption_key_location_external_hsm_encryption_details(ctx, from_jso
@database_group.command(name=cli_util.override('db.change_encryption_key_location_google_cloud_provider_encryption_key_details.command_name', 'change-encryption-key-location-google-cloud-provider-encryption-key-details'), help=u"""Update the encryption key management location for the database \n[Command Reference](changeEncryptionKeyLocation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--google-cloud-provider-encryption-key-id', required=True, help=u"""Provide the key OCID of a registered Google Cloud Provider key.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2772,7 +2772,7 @@ def change_encryption_key_location_google_cloud_provider_encryption_key_details(
@database_group.command(name=cli_util.override('db.change_encryption_key_location_azure_encryption_key_details.command_name', 'change-encryption-key-location-azure-encryption-key-details'), help=u"""Update the encryption key management location for the database \n[Command Reference](changeEncryptionKeyLocation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--azure-encryption-key-id', required=True, help=u"""Provide the key OCID of a registered Azure key.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2843,7 +2843,7 @@ def change_encryption_key_location_azure_encryption_key_details(ctx, from_json,
@database_group.command(name=cli_util.override('db.change_encryption_key_location_aws_encryption_key_details.command_name', 'change-encryption-key-location-aws-encryption-key-details'), help=u"""Update the encryption key management location for the database \n[Command Reference](changeEncryptionKeyLocation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--aws-encryption-key-id', required=True, help=u"""Provide the key OCID of a registered AWS key.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2914,7 +2914,7 @@ def change_encryption_key_location_aws_encryption_key_details(ctx, from_json, wa
@exadata_infrastructure_group.command(name=cli_util.override('db.change_exadata_infrastructure_compartment.command_name', 'change-compartment'), help=u"""Moves an Exadata infrastructure resource and its dependent resources to another compartment. Applies to Exadata Cloud@Customer instances only. To move an Exadata Cloud Service infrastructure resource to another compartment, use the [ChangeCloudExadataInfrastructureCompartment] operation. \n[Command Reference](changeExadataInfrastructureCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--exadata-infrastructure-id', required=True, help=u"""The Exadata infrastructure [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -2983,7 +2983,7 @@ def change_exadata_infrastructure_compartment(ctx, from_json, wait_for_state, ma
@exadb_vm_cluster_group.command(name=cli_util.override('db.change_exadb_vm_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a Exadata VM cluster on Exascale Infrastructure and its dependent resources to another compartment. Applies to Exadata Database Service on Exascale Infrastructure only. \n[Command Reference](changeExadbVmClusterCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--exadb-vm-cluster-id', required=True, help=u"""The Exadata VM cluster [OCID] on Exascale Infrastructure.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3053,7 +3053,7 @@ def change_exadb_vm_cluster_compartment(ctx, from_json, wait_for_state, max_wait
@exadb_vm_cluster_group.command(name=cli_util.override('db.change_exadb_vm_cluster_subscription.command_name', 'change-exadb-vm-cluster-subscription'), help=u"""Associate a Exadata VM cluster on Exascale Infrastructure with a different subscription. \n[Command Reference](changeExadbVmClusterSubscription)""")
@cli_util.option('--exadb-vm-cluster-id', required=True, help=u"""The Exadata VM cluster [OCID] on Exascale Infrastructure.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3127,7 +3127,7 @@ def change_exadb_vm_cluster_subscription(ctx, from_json, wait_for_state, max_wai
@exascale_db_storage_vault_group.command(name=cli_util.override('db.change_exascale_db_storage_vault_compartment.command_name', 'change-compartment'), help=u"""Moves a Exadata Database Storage Vault to another compartment. \n[Command Reference](changeExascaleDbStorageVaultCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--exascale-db-storage-vault-id', required=True, help=u"""The Exadata Database Storage Vault [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3197,7 +3197,7 @@ def change_exascale_db_storage_vault_compartment(ctx, from_json, wait_for_state,
@exascale_db_storage_vault_group.command(name=cli_util.override('db.change_exascale_db_storage_vault_subscription.command_name', 'change-exascale-db-storage-vault-subscription'), help=u"""Associate a Exadata Database Storage Vault with a different subscription. \n[Command Reference](changeExascaleDbStorageVaultSubscription)""")
@cli_util.option('--exascale-db-storage-vault-id', required=True, help=u"""The Exadata Database Storage Vault [OCID].""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3271,7 +3271,7 @@ def change_exascale_db_storage_vault_subscription(ctx, from_json, wait_for_state
@external_container_database_group.command(name=cli_util.override('db.change_external_container_database_compartment.command_name', 'change-compartment'), help=u"""Move the [external container database] and its dependent resources to the specified compartment. For more information about moving external container databases, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeExternalContainerDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--external-container-database-id', required=True, help=u"""The ExternalContainerDatabase [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3340,7 +3340,7 @@ def change_external_container_database_compartment(ctx, from_json, wait_for_stat
@external_non_container_database_group.command(name=cli_util.override('db.change_external_non_container_database_compartment.command_name', 'change-compartment'), help=u"""Move the external non-container database and its dependent resources to the specified compartment. For more information about moving external non-container databases, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeExternalNonContainerDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--external-non-container-database-id', required=True, help=u"""The external non-container database [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3409,7 +3409,7 @@ def change_external_non_container_database_compartment(ctx, from_json, wait_for_
@external_pluggable_database_group.command(name=cli_util.override('db.change_external_pluggable_database_compartment.command_name', 'change-compartment'), help=u"""Move the [external pluggable database] and its dependent resources to the specified compartment. For more information about moving external pluggable databases, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeExternalPluggableDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--external-pluggable-database-id', required=True, help=u"""The ExternalPluggableDatabaseId [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3478,7 +3478,7 @@ def change_external_pluggable_database_compartment(ctx, from_json, wait_for_stat
@key_store_group.command(name=cli_util.override('db.change_key_store_compartment.command_name', 'change-compartment'), help=u"""Move the key store resource to the specified compartment. For more information about moving key stores, see [Moving Database Resources to a Different Compartment]. \n[Command Reference](changeKeyStoreCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the key store to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the key store to.""")
@cli_util.option('--key-store-id', required=True, help=u"""The [OCID] of the key store.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3547,7 +3547,7 @@ def change_key_store_compartment(ctx, from_json, wait_for_state, max_wait_second
@database_group.command(name=cli_util.override('db.change_key_store_type.command_name', 'change-key-store-type'), help=u"""Changes encryption key management type \n[Command Reference](changeKeyStoreType)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--key-store-id', required=True, help=u"""The [OCID] of the key store.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3616,7 +3616,7 @@ def change_key_store_type(ctx, from_json, wait_for_state, max_wait_seconds, wait
@oneoff_patch_group.command(name=cli_util.override('db.change_oneoff_patch_compartment.command_name', 'change-compartment'), help=u"""Move the one-off patch to the specified compartment. \n[Command Reference](changeOneoffPatchCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--oneoff-patch-id', required=True, help=u"""The one-off patch [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3685,7 +3685,7 @@ def change_oneoff_patch_compartment(ctx, from_json, wait_for_state, max_wait_sec
@scheduling_plan_group.command(name=cli_util.override('db.change_scheduling_plan_compartment.command_name', 'change-compartment'), help=u"""Moves an scheduling plan resource to another compartment. \n[Command Reference](changeSchedulingPlanCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--scheduling-plan-id', required=True, help=u"""The Schedule Plan [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3754,7 +3754,7 @@ def change_scheduling_plan_compartment(ctx, from_json, wait_for_state, max_wait_
@scheduling_policy_group.command(name=cli_util.override('db.change_scheduling_policy_compartment.command_name', 'change-compartment'), help=u"""Moves an scheduling policy resource to another compartment. \n[Command Reference](changeSchedulingPolicyCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--scheduling-policy-id', required=True, help=u"""The Scheduling Policy [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3823,7 +3823,7 @@ def change_scheduling_policy_compartment(ctx, from_json, wait_for_state, max_wai
@vm_cluster_group.command(name=cli_util.override('db.change_vm_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a VM cluster and its dependent resources to another compartment. Applies to Exadata Cloud@Customer instances only. To move a cloud VM cluster in an Exadata Cloud Service instance to another compartment, use the [ChangeCloudVmClusterCompartment ] operation. \n[Command Reference](changeVmClusterCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the VM cluster to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the VM cluster to.""")
@cli_util.option('--vm-cluster-id', required=True, help=u"""The VM cluster [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -3957,7 +3957,7 @@ def check_external_database_connector_connection_status(ctx, from_json, wait_for
@external_backup_job_group.command(name=cli_util.override('db.complete_external_backup_job.command_name', 'complete'), help=u"""Changes the status of the standalone backup resource to `ACTIVE` after the backup is created from the on-premises database and placed in Oracle Cloud Infrastructure Object Storage.
**Note:** This API is used by an Oracle Cloud Infrastructure Python script that is packaged with the Oracle Cloud Infrastructure CLI. Oracle recommends that you use the script instead using the API directly. See [Migrating an On-Premises Database to Oracle Cloud Infrastructure by Creating a Backup in the Cloud] for more information. \n[Command Reference](completeExternalBackupJob)""")
-@cli_util.option('--backup-id', required=True, help=u"""The backup [OCID].""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The backup [OCID].""")
@cli_util.option('--tde-wallet-path', help=u"""If the database being backed up is TDE enabled, this will be the path to the associated TDE wallet in Object Storage.""")
@cli_util.option('--cf-backup-handle', help=u"""The handle of the control file backup.""")
@cli_util.option('--spf-backup-handle', help=u"""The handle of the spfile backup.""")
@@ -4009,9 +4009,9 @@ def complete_external_backup_job(ctx, from_json, backup_id, tde_wallet_path, cf_
@autonomous_database_group.command(name=cli_util.override('db.configure_autonomous_database_vault_key.command_name', 'configure-autonomous-database-vault-key'), help=u"""Configures the Autonomous AI Database Vault service [key]. \n[Command Reference](configureAutonomousDatabaseVaultKey)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--is-using-oracle-managed-keys', type=click.BOOL, help=u"""True if disable Customer Managed Keys and use Oracle Managed Keys.""")
@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.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -4205,9 +4205,9 @@ def configure_exascale_exadata_infrastructure(ctx, from_json, wait_for_state, ma
@autonomous_database_group.command(name=cli_util.override('db.configure_saas_admin_user.command_name', 'configure-saas-admin-user'), help=u"""This operation updates SaaS administrative user configuration of the Autonomous AI Database. \n[Command Reference](configureSaasAdminUser)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--password', help=u"""A strong password for SaaS administrative user. The password must be a minimum of nine (9) characters and contain a minimum of two (2) uppercase, two (2) lowercase, two (2) numbers, and two (2) special characters from _ (underscore), \\# (hashtag), or - (dash).""")
-@cli_util.option('--secret-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [secret].""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [secret].""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--duration', type=click.INT, help=u"""How long, in hours, the SaaS administrative user will stay enabled. If no duration is specified, the default value 1 will be used.""")
@cli_util.option('--is-enabled', type=click.BOOL, help=u"""Indicates if the SaaS administrative user is enabled for the Autonomous AI Database.""")
@@ -4417,7 +4417,7 @@ def convert_standby_autonomous_container_database(ctx, from_json, wait_for_state
@database_group.command(name=cli_util.override('db.convert_standby_database_type.command_name', 'convert-standby-database-type'), help=u"""Performs transition from standby database into a snapshot standby and vice versa. The transition performed based on the current role of the database, if the current role is standby then this operation will convert it to snapshot standby and if the current role is snapshot standby then this operation will convert it to standby.
This operation should be performed on respective standby/snapshot standby database. \n[Command Reference](convertStandbyDatabaseType)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The administrator password of the primary database in this Data Guard association.
**The password MUST be the same as the primary admin password.**""")
@@ -4486,7 +4486,7 @@ def convert_standby_database_type(ctx, from_json, wait_for_state, max_wait_secon
@database_group.command(name=cli_util.override('db.convert_to_pdb.command_name', 'convert-to-pdb'), help=u"""Converts a non-container database to a pluggable database. \n[Command Reference](convertToPdb)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "CONVERT", "SYNC", "SYNC_ROLLBACK"]), help=u"""The operations used to convert a non-container database to a pluggable database. - Use `PRECHECK` to run a pre-check operation on non-container database prior to converting it into a pluggable database. - Use `CONVERT` to convert a non-container database into a pluggable database. - Use `SYNC` if the non-container database was manually converted into a pluggable database using the dbcli command-line utility. Databases may need to be converted manually if the CONVERT action fails when converting a non-container database using the API. - Use `SYNC_ROLLBACK` if the conversion of a non-container database into a pluggable database was manually rolled back using the dbcli command line utility. Conversions may need to be manually rolled back if the CONVERT action fails when converting a non-container database using the API.""")
@cli_util.option('--convert-to-pdb-target-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -4547,7 +4547,7 @@ def convert_to_pdb(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@database_group.command(name=cli_util.override('db.convert_to_pdb_pdb_conversion_to_new_database_details.command_name', 'convert-to-pdb-pdb-conversion-to-new-database-details'), help=u"""Converts a non-container database to a pluggable database. \n[Command Reference](convertToPdb)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "CONVERT", "SYNC", "SYNC_ROLLBACK"]), help=u"""The operations used to convert a non-container database to a pluggable database. - Use `PRECHECK` to run a pre-check operation on non-container database prior to converting it into a pluggable database. - Use `CONVERT` to convert a non-container database into a pluggable database. - Use `SYNC` if the non-container database was manually converted into a pluggable database using the dbcli command-line utility. Databases may need to be converted manually if the CONVERT action fails when converting a non-container database using the API. - Use `SYNC_ROLLBACK` if the conversion of a non-container database into a pluggable database was manually rolled back using the dbcli command line utility. Conversions may need to be manually rolled back if the CONVERT action fails when converting a non-container database using the API.""")
@cli_util.option('--convert-to-pdb-target-details-cdb-name', required=True, help=u"""The database name. The name must begin with an alphabetic character and can contain a maximum of 8 alphanumeric characters. Special characters are not permitted. The database name must be unique in the tenancy.""")
@cli_util.option('--convert-to-pdb-target-details-cdb-admin-password', required=True, help=u"""A strong password for SYS, SYSTEM, and the plugbable database ADMIN user of the container database after conversion. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numeric, and two special characters. The special characters must be _, \\#, or -.""")
@@ -4696,7 +4696,7 @@ def convert_to_regular_pluggable_database(ctx, from_json, wait_for_state, max_wa
Convert the standby to a standalone database.
This operation should be performed on respective standby database. \n[Command Reference](convertToStandalone)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The administrator password of the primary database in this Data Guard association.
**The password MUST be the same as the primary admin password.**""")
@@ -4757,7 +4757,7 @@ def convert_to_standalone(ctx, from_json, wait_for_state, max_wait_seconds, wait
@application_vip_group.command(name=cli_util.override('db.create_application_vip.command_name', 'create'), help=u"""Creates a new application virtual IP (VIP) address in the specified cloud VM cluster based on the request parameters you provide. \n[Command Reference](createApplicationVip)""")
@cli_util.option('--hostname-label', required=True, help=u"""The hostname of the application virtual IP (VIP) address.""")
@cli_util.option('--cloud-vm-cluster-id', required=True, help=u"""The [OCID] of the cloud VM cluster associated with the application virtual IP (VIP) address.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet associated with the application virtual IP (VIP) address.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet associated with the application virtual IP (VIP) address.""")
@cli_util.option('--db-node-id', help=u"""The [OCID] of the DB node associated with the application virtual IP (VIP) address.""")
@cli_util.option('--ip-address', help=u"""The application virtual IP (VIP) IPv4 address.""")
@cli_util.option('--ipv6-address', help=u"""The application virtual IP (VIP) IPv6 address.""")
@@ -4845,7 +4845,7 @@ def create_application_vip(ctx, from_json, wait_for_state, max_wait_seconds, wai
@cli_util.option('--peer-db-unique-name', help=u"""**Deprecated.** The `DB_UNIQUE_NAME` of the peer Autonomous Container Database in a Data Guard association is set by Oracle Cloud Infrastructure. Do not specify a value for this parameter. Specifying a value for this field will cause Terraform operations to fail.""")
@cli_util.option('--autonomous-vm-cluster-id', help=u"""The OCID of the Autonomous VM Cluster.""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', help=u"""The [OCID] of the cloud Autonomous Exadata VM Cluster.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment containing the Autonomous Container Database.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Autonomous Container Database.""")
@cli_util.option('--maintenance-window-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--standby-maintenance-buffer-in-days', type=click.INT, help=u"""The scheduling detail for the quarterly maintenance window of the standby Autonomous Container Database. This value represents the number of days before scheduled maintenance of the primary database.""")
@cli_util.option('--version-preference', type=custom_types.CliCaseInsensitiveChoice(["NEXT_RELEASE_UPDATE", "LATEST_RELEASE_UPDATE"]), help=u"""The next maintenance version preference.""")
@@ -4857,7 +4857,7 @@ def create_application_vip(ctx, from_json, wait_for_state, max_wait_seconds, wai
@cli_util.option('--backup-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@cli_util.option('--kms-key-version-id', help=u"""The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--key-store-id', help=u"""The [OCID] of the key store of Oracle Vault.""")
@cli_util.option('--encryption-key-location-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-split-threshold', type=click.INT, help=u"""The CPU value beyond which an Autonomous AI Database will be opened across multiple nodes. The default value of this attribute is 16 for OCPUs and 64 for ECPUs.""")
@@ -5050,7 +5050,7 @@ def create_autonomous_container_database(ctx, from_json, wait_for_state, max_wai
@cli_util.option('--peer-db-unique-name', help=u"""**Deprecated.** The `DB_UNIQUE_NAME` of the peer Autonomous Container Database in a Data Guard association is set by Oracle Cloud Infrastructure. Do not specify a value for this parameter. Specifying a value for this field will cause Terraform operations to fail.""")
@cli_util.option('--autonomous-vm-cluster-id', help=u"""The OCID of the Autonomous VM Cluster.""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', help=u"""The [OCID] of the cloud Autonomous Exadata VM Cluster.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment containing the Autonomous Container Database.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Autonomous Container Database.""")
@cli_util.option('--maintenance-window-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--standby-maintenance-buffer-in-days', type=click.INT, help=u"""The scheduling detail for the quarterly maintenance window of the standby Autonomous Container Database. This value represents the number of days before scheduled maintenance of the primary database.""")
@cli_util.option('--version-preference', type=custom_types.CliCaseInsensitiveChoice(["NEXT_RELEASE_UPDATE", "LATEST_RELEASE_UPDATE"]), help=u"""The next maintenance version preference.""")
@@ -5062,7 +5062,7 @@ def create_autonomous_container_database(ctx, from_json, wait_for_state, max_wai
@cli_util.option('--backup-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@cli_util.option('--kms-key-version-id', help=u"""The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--key-store-id', help=u"""The [OCID] of the key store of Oracle Vault.""")
@cli_util.option('--encryption-key-location-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-split-threshold', type=click.INT, help=u"""The CPU value beyond which an Autonomous AI Database will be opened across multiple nodes. The default value of this attribute is 16 for OCPUs and 64 for ECPUs.""")
@@ -5255,7 +5255,7 @@ def create_autonomous_container_database_create_autonomous_container_database_de
@cli_util.option('--peer-db-unique-name', help=u"""**Deprecated.** The `DB_UNIQUE_NAME` of the peer Autonomous Container Database in a Data Guard association is set by Oracle Cloud Infrastructure. Do not specify a value for this parameter. Specifying a value for this field will cause Terraform operations to fail.""")
@cli_util.option('--autonomous-vm-cluster-id', help=u"""The OCID of the Autonomous VM Cluster.""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', help=u"""The [OCID] of the cloud Autonomous Exadata VM Cluster.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment containing the Autonomous Container Database.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Autonomous Container Database.""")
@cli_util.option('--maintenance-window-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--standby-maintenance-buffer-in-days', type=click.INT, help=u"""The scheduling detail for the quarterly maintenance window of the standby Autonomous Container Database. This value represents the number of days before scheduled maintenance of the primary database.""")
@cli_util.option('--version-preference', type=custom_types.CliCaseInsensitiveChoice(["NEXT_RELEASE_UPDATE", "LATEST_RELEASE_UPDATE"]), help=u"""The next maintenance version preference.""")
@@ -5267,7 +5267,7 @@ def create_autonomous_container_database_create_autonomous_container_database_de
@cli_util.option('--backup-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@cli_util.option('--kms-key-version-id', help=u"""The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--key-store-id', help=u"""The [OCID] of the key store of Oracle Vault.""")
@cli_util.option('--encryption-key-location-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-split-threshold', type=click.INT, help=u"""The CPU value beyond which an Autonomous AI Database will be opened across multiple nodes. The default value of this attribute is 16 for OCPUs and 64 for ECPUs.""")
@@ -6335,8 +6335,8 @@ def create_autonomous_container_database_dataguard_association(ctx, from_json, w
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database.command_name', 'create'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -6370,7 +6370,7 @@ def create_autonomous_container_database_dataguard_association(ctx, from_json, w
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -6406,7 +6406,7 @@ def create_autonomous_container_database_dataguard_association(ctx, from_json, w
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -6450,7 +6450,7 @@ def create_autonomous_container_database_dataguard_association(ctx, from_json, w
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -6671,9 +6671,9 @@ def create_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds,
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_undelete_autonomous_database_details.command_name', 'create-autonomous-database-undelete-autonomous-database-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the Autonomous AI Database that you want to undelete.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -6707,7 +6707,7 @@ def create_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds,
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -6743,7 +6743,7 @@ def create_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds,
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -6784,7 +6784,7 @@ def create_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds,
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -7005,10 +7005,10 @@ def create_autonomous_database_undelete_autonomous_database_details(ctx, from_js
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_autonomous_database_clone_details.command_name', 'create-autonomous-database-create-autonomous-database-clone-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the source Autonomous AI Database that you will clone to create a new Autonomous AI Database.""")
@cli_util.option('--clone-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "METADATA", "PARTIAL"]), help=u"""The Autonomous AI Database clone type.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -7042,7 +7042,7 @@ def create_autonomous_database_undelete_autonomous_database_details(ctx, from_js
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -7078,7 +7078,7 @@ def create_autonomous_database_undelete_autonomous_database_details(ctx, from_js
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -7119,7 +7119,7 @@ def create_autonomous_database_undelete_autonomous_database_details(ctx, from_js
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -7341,9 +7341,9 @@ def create_autonomous_database_create_autonomous_database_clone_details(ctx, fro
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_refreshable_autonomous_database_clone_details.command_name', 'create-autonomous-database-create-refreshable-autonomous-database-clone-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the source Autonomous AI Database that you will clone to create a new Autonomous AI Database.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -7377,7 +7377,7 @@ def create_autonomous_database_create_autonomous_database_clone_details(ctx, fro
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -7413,7 +7413,7 @@ def create_autonomous_database_create_autonomous_database_clone_details(ctx, fro
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -7454,7 +7454,7 @@ def create_autonomous_database_create_autonomous_database_clone_details(ctx, fro
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -7701,10 +7701,10 @@ def create_autonomous_database_create_refreshable_autonomous_database_clone_deta
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_autonomous_database_from_backup_details.command_name', 'create-autonomous-database-create-autonomous-database-from-backup-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--autonomous-database-backup-id', required=True, help=u"""The [OCID] of the source Autonomous AI Database Backup that you will clone to create a new Autonomous AI Database.""")
@cli_util.option('--clone-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "METADATA", "PARTIAL"]), help=u"""The Autonomous AI Database clone type.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -7738,7 +7738,7 @@ def create_autonomous_database_create_refreshable_autonomous_database_clone_deta
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -7774,7 +7774,7 @@ def create_autonomous_database_create_refreshable_autonomous_database_clone_deta
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -7815,7 +7815,7 @@ def create_autonomous_database_create_refreshable_autonomous_database_clone_deta
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -8041,10 +8041,10 @@ def create_autonomous_database_create_autonomous_database_from_backup_details(ct
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_cross_region_disaster_recovery_details.command_name', 'create-autonomous-database-create-cross-region-disaster-recovery-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the source Autonomous AI Database that will be used to create a new peer database for the DR association.""")
@cli_util.option('--remote-disaster-recovery-type', required=True, help=u"""Indicates the cross-region disaster recovery (DR) type of the standby Autonomous AI Database Serverless instance. Autonomous Data Guard (ADG) DR type provides business critical DR with a faster recovery time objective (RTO) during failover or switchover. Backup-based DR type provides lower cost DR with a slower RTO during failover or switchover.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -8078,7 +8078,7 @@ def create_autonomous_database_create_autonomous_database_from_backup_details(ct
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -8114,7 +8114,7 @@ def create_autonomous_database_create_autonomous_database_from_backup_details(ct
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -8155,7 +8155,7 @@ def create_autonomous_database_create_autonomous_database_from_backup_details(ct
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -8381,10 +8381,10 @@ def create_autonomous_database_create_cross_region_disaster_recovery_details(ctx
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_autonomous_database_from_backup_timestamp_details.command_name', 'create-autonomous-database-create-autonomous-database-from-backup-timestamp-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the source Autonomous AI Database that you will clone to create a new Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the source Autonomous AI Database that you will clone to create a new Autonomous AI Database.""")
@cli_util.option('--clone-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "METADATA", "PARTIAL"]), help=u"""The Autonomous AI Database clone type.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -8418,7 +8418,7 @@ def create_autonomous_database_create_cross_region_disaster_recovery_details(ctx
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -8454,7 +8454,7 @@ def create_autonomous_database_create_cross_region_disaster_recovery_details(ctx
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -8495,7 +8495,7 @@ def create_autonomous_database_create_cross_region_disaster_recovery_details(ctx
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -8729,10 +8729,10 @@ def create_autonomous_database_create_autonomous_database_from_backup_timestamp_
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_cross_tenancy_disaster_recovery_details.command_name', 'create-autonomous-database-create-cross-tenancy-disaster-recovery-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the source Autonomous AI Database that will be used to create a new peer database for the DR association.""")
@cli_util.option('--disaster-recovery-type', required=True, help=u"""Indicates the disaster recovery (DR) type of the standby Autonomous AI Database Serverless instance. Autonomous Data Guard (ADG) DR type provides business critical DR with a faster recovery time objective (RTO) during failover or switchover. Backup-based DR type provides lower cost DR with a slower RTO during failover or switchover.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -8766,7 +8766,7 @@ def create_autonomous_database_create_autonomous_database_from_backup_timestamp_
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -8802,7 +8802,7 @@ def create_autonomous_database_create_autonomous_database_from_backup_timestamp_
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -8843,7 +8843,7 @@ def create_autonomous_database_create_autonomous_database_from_backup_timestamp_
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -9069,9 +9069,9 @@ def create_autonomous_database_create_cross_tenancy_disaster_recovery_details(ct
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_cross_region_autonomous_database_data_guard_details.command_name', 'create-autonomous-database-create-cross-region-autonomous-database-data-guard-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the source Autonomous AI Database that will be used to create a new peer database for the Data Guard association.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -9105,7 +9105,7 @@ def create_autonomous_database_create_cross_tenancy_disaster_recovery_details(ct
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -9141,7 +9141,7 @@ def create_autonomous_database_create_cross_tenancy_disaster_recovery_details(ct
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -9182,7 +9182,7 @@ def create_autonomous_database_create_cross_tenancy_disaster_recovery_details(ct
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -9403,8 +9403,8 @@ def create_autonomous_database_create_cross_region_autonomous_database_data_guar
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_create_autonomous_database_details.command_name', 'create-autonomous-database-create-autonomous-database-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -9438,7 +9438,7 @@ def create_autonomous_database_create_cross_region_autonomous_database_data_guar
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
@@ -9474,7 +9474,7 @@ def create_autonomous_database_create_cross_region_autonomous_database_data_guar
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -9515,7 +9515,7 @@ def create_autonomous_database_create_cross_region_autonomous_database_data_guar
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -9735,12 +9735,12 @@ def create_autonomous_database_create_autonomous_database_details(ctx, from_json
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_okv_key_details.command_name', 'create-autonomous-database-okv-key-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--encryption-key-okv-uri', required=True, help=u"""URI of OKV server""")
@cli_util.option('--encryption-key-okv-kms-key', required=True, help=u"""UUID of OKV KMS Key""")
@cli_util.option('--encryption-key-directory-name', required=True, help=u"""OKV wallet directory name""")
@cli_util.option('--encryption-key-certificate-directory-name', required=True, help=u"""OKV certificate directory name""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -9774,7 +9774,7 @@ def create_autonomous_database_create_autonomous_database_details(ctx, from_json
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
This cannot be used in conjunction with with OCI vault secrets (secretId).""")
@@ -9809,7 +9809,7 @@ def create_autonomous_database_create_autonomous_database_details(ctx, from_json
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -9850,7 +9850,7 @@ def create_autonomous_database_create_autonomous_database_details(ctx, from_json
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -10076,10 +10076,10 @@ def create_autonomous_database_okv_key_details(ctx, from_json, wait_for_state, m
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_azure_key_details.command_name', 'create-autonomous-database-azure-key-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--encryption-key-vault-uri', required=True, help=u"""Azure vault URI""")
@cli_util.option('--encryption-key-key-name', required=True, help=u"""Azure key name""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -10113,7 +10113,7 @@ def create_autonomous_database_okv_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
This cannot be used in conjunction with with OCI vault secrets (secretId).""")
@@ -10148,7 +10148,7 @@ def create_autonomous_database_okv_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -10189,7 +10189,7 @@ def create_autonomous_database_okv_key_details(ctx, from_json, wait_for_state, m
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -10409,10 +10409,10 @@ def create_autonomous_database_azure_key_details(ctx, from_json, wait_for_state,
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_aws_key_details.command_name', 'create-autonomous-database-aws-key-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--encryption-key-service-endpoint-uri', required=True, help=u"""AWS key service endpoint URI""")
@cli_util.option('--encryption-key-key-arn', required=True, help=u"""AWS key ARN""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -10446,7 +10446,7 @@ def create_autonomous_database_azure_key_details(ctx, from_json, wait_for_state,
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
This cannot be used in conjunction with with OCI vault secrets (secretId).""")
@@ -10481,7 +10481,7 @@ def create_autonomous_database_azure_key_details(ctx, from_json, wait_for_state,
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -10522,7 +10522,7 @@ def create_autonomous_database_azure_key_details(ctx, from_json, wait_for_state,
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -10750,10 +10750,10 @@ def create_autonomous_database_aws_key_details(ctx, from_json, wait_for_state, m
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_oci_key_details.command_name', 'create-autonomous-database-oci-key-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--encryption-key-kms-key-id', required=True, help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@cli_util.option('--encryption-key-vault-id', required=True, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -10787,7 +10787,7 @@ def create_autonomous_database_aws_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
This cannot be used in conjunction with with OCI vault secrets (secretId).""")
@@ -10822,7 +10822,7 @@ def create_autonomous_database_aws_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -10863,7 +10863,7 @@ def create_autonomous_database_aws_key_details(ctx, from_json, wait_for_state, m
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -11083,12 +11083,12 @@ def create_autonomous_database_oci_key_details(ctx, from_json, wait_for_state, m
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_gcp_key_details.command_name', 'create-autonomous-database-gcp-key-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
@cli_util.option('--encryption-key-key-name', required=True, help=u"""GCP key name""")
@cli_util.option('--encryption-key-project', required=True, help=u"""GCP project name""")
@cli_util.option('--encryption-key-location', required=True, help=u"""GCP key ring location""")
@cli_util.option('--encryption-key-key-ring', required=True, help=u"""GCP key ring""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -11122,7 +11122,7 @@ def create_autonomous_database_oci_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
This cannot be used in conjunction with with OCI vault secrets (secretId).""")
@@ -11157,7 +11157,7 @@ def create_autonomous_database_oci_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -11198,7 +11198,7 @@ def create_autonomous_database_oci_key_details(ctx, from_json, wait_for_state, m
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -11424,8 +11424,8 @@ def create_autonomous_database_gcp_key_details(ctx, from_json, wait_for_state, m
@autonomous_database_group.command(name=cli_util.override('db.create_autonomous_database_oracle_managed_key_details.command_name', 'create-autonomous-database-oracle-managed-key-details'), help=u"""Creates a new Autonomous AI Database. \n[Command Reference](createAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Autonomous AI Database.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--character-set', help=u"""The character set for the Autonomous AI Database. The default is AL32UTF8. Allowed values for an Autonomous AI Database Serverless instance as as returned by [List Autonomous AI Database Character Sets]
For an Autonomous AI Database on dedicated infrastructure, the allowed values are:
@@ -11459,7 +11459,7 @@ def create_autonomous_database_gcp_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--admin-password', help=u"""**Important** The `adminPassword` or `secretId` must be specified for all Autonomous AI Databases except for refreshable clones. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.
This cannot be used in conjunction with with OCI vault secrets (secretId).""")
@@ -11494,7 +11494,7 @@ def create_autonomous_database_gcp_key_details(ctx, from_json, wait_for_state, m
This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-data-guard-enabled', type=click.BOOL, help=u"""**Deprecated.** Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
@cli_util.option('--is-local-data-guard-enabled', type=click.BOOL, help=u"""Indicates whether the Autonomous AI Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous AI Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -11535,7 +11535,7 @@ def create_autonomous_database_gcp_key_details(ctx, from_json, wait_for_state, m
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-backup-retention-locked', type=click.BOOL, help=u"""True if the Autonomous AI Database is backup retention locked.""")
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID.
This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@@ -11753,7 +11753,7 @@ def create_autonomous_database_oracle_managed_key_details(ctx, from_json, wait_f
@autonomous_database_backup_group.command(name=cli_util.override('db.create_autonomous_database_backup.command_name', 'create'), help=u"""Creates a new Autonomous AI Database backup for the specified database based on the provided request parameters. \n[Command Reference](createAutonomousDatabaseBackup)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous AI Database backup.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous AI Database backup.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the backup. The name does not have to be unique.""")
@cli_util.option('--retention-period-in-days', type=click.INT, help=u"""Retention period, in days, for long-term backups""")
@cli_util.option('--is-long-term-backup', type=click.BOOL, help=u"""Indicates whether the backup is long-term""")
@@ -11821,7 +11821,7 @@ def create_autonomous_database_backup(ctx, from_json, wait_for_state, max_wait_s
@autonomous_database_software_image_group.command(name=cli_util.override('db.create_autonomous_database_software_image.command_name', 'create'), help=u"""create Autonomous AI Database Software Image in the specified compartment. \n[Command Reference](createAutonomousDatabaseSoftwareImage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the Autonomous AI Database Software Image. The name does not have to be unique.""")
@cli_util.option('--source-cdb-id', required=True, help=u"""The source Autonomous Container Database [OCID] from which to create Autonomous AI Database Software Image.""")
@cli_util.option('--image-shape-family', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXADATA_SHAPE", "EXACC_SHAPE"]), help=u"""To what shape the image is meant for.""")
@@ -11886,7 +11886,7 @@ def create_autonomous_database_software_image(ctx, from_json, wait_for_state, ma
@autonomous_vm_cluster_group.command(name=cli_util.override('db.create_autonomous_vm_cluster.command_name', 'create'), help=u"""Creates an Autonomous VM cluster for Exadata Cloud@Customer. To create an Autonomous VM Cluster in the Oracle cloud, see [CreateCloudAutonomousVmCluster]. \n[Command Reference](createAutonomousVmCluster)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the Autonomous VM cluster. The name does not need to be unique.""")
@cli_util.option('--exadata-infrastructure-id', required=True, help=u"""The [OCID] of the Exadata infrastructure.""")
@cli_util.option('--vm-cluster-network-id', required=True, help=u"""The [OCID] of the VM cluster network.""")
@@ -12003,7 +12003,7 @@ def create_autonomous_vm_cluster(ctx, from_json, wait_for_state, max_wait_second
@backup_group.command(name=cli_util.override('db.create_backup.command_name', 'create'), help=u"""Creates a new backup in the specified database based on the request parameters you provide. If you previously used RMAN or dbcli to configure backups and then you switch to using the Console or the API for backups, a new backup configuration is created and associated with your database. This means that you can no longer rely on your previously configured unmanaged backups to work. \n[Command Reference](createBackup)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the backup. The name does not have to be unique.""")
@cli_util.option('--retention-period-in-days', type=click.INT, help=u"""The retention period of the long term backup in days.""")
@cli_util.option('--retention-period-in-years', type=click.INT, help=u"""The retention period of the long term backup in years.""")
@@ -12062,7 +12062,7 @@ def create_backup(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@backup_destination_group.command(name=cli_util.override('db.create_backup_destination.command_name', 'create'), help=u"""Creates a backup destination in an Exadata Cloud@Customer system. \n[Command Reference](createBackupDestination)""")
@cli_util.option('--display-name', required=True, help=u"""The user-provided name of the backup destination.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["NFS", "RECOVERY_APPLIANCE"]), help=u"""Type of the backup destination.""")
@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].
@@ -12125,7 +12125,7 @@ def create_backup_destination(ctx, from_json, wait_for_state, max_wait_seconds,
@backup_destination_group.command(name=cli_util.override('db.create_backup_destination_create_nfs_backup_destination_details.command_name', 'create-backup-destination-create-nfs-backup-destination-details'), help=u"""Creates a backup destination in an Exadata Cloud@Customer system. \n[Command Reference](createBackupDestination)""")
@cli_util.option('--display-name', required=True, help=u"""The user-provided name of the backup destination.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12196,7 +12196,7 @@ def create_backup_destination_create_nfs_backup_destination_details(ctx, from_js
@backup_destination_group.command(name=cli_util.override('db.create_backup_destination_create_recovery_appliance_backup_destination_details.command_name', 'create-backup-destination-create-recovery-appliance-backup-destination-details'), help=u"""Creates a backup destination in an Exadata Cloud@Customer system. \n[Command Reference](createBackupDestination)""")
@cli_util.option('--display-name', required=True, help=u"""The user-provided name of the backup destination.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--connection-string', required=True, help=u"""The connection string for connecting to the Recovery Appliance.""")
@cli_util.option('--vpc-users', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The Virtual Private Catalog (VPC) users that are used to access the Recovery Appliance.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -12262,8 +12262,8 @@ def create_backup_destination_create_recovery_appliance_backup_destination_detai
@cloud_autonomous_vm_cluster_group.command(name=cli_util.override('db.create_cloud_autonomous_vm_cluster.command_name', 'create'), help=u"""Creates an Autonomous Exadata VM cluster in the Oracle cloud. For Exadata Cloud@Customer systems, see [CreateAutonomousVmCluster]. \n[Command Reference](createCloudAutonomousVmCluster)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the cloud Autonomous VM Cluster is associated with.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the cloud Autonomous VM Cluster is associated with.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the cloud Autonomous VM cluster. The name does not need to be unique.""")
@cli_util.option('--cloud-exadata-infrastructure-id', required=True, help=u"""The [OCID] of the cloud Exadata infrastructure.""")
@cli_util.option('--description', help=u"""User defined description of the cloud Autonomous VM cluster.""")
@@ -12287,7 +12287,7 @@ def create_backup_destination_create_recovery_appliance_backup_destination_detai
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security Attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags]. Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -12397,7 +12397,7 @@ def create_cloud_autonomous_vm_cluster(ctx, from_json, wait_for_state, max_wait_
@cloud_exadata_infrastructure_group.command(name=cli_util.override('db.create_cloud_exadata_infrastructure.command_name', 'create'), help=u"""Creates a cloud Exadata infrastructure resource. This resource is used to create either an [Exadata Cloud Service] instance or an Autonomous AI Database on dedicated Exadata infrastructure. \n[Command Reference](createCloudExadataInfrastructure)""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the cloud Exadata infrastructure is located.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the cloud Exadata infrastructure resource. The name does not need to be unique.""")
@cli_util.option('--shape', required=True, help=u"""The shape of the cloud Exadata infrastructure resource.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the cloud Exadata infrastructure.""")
@@ -12407,8 +12407,8 @@ def create_cloud_autonomous_vm_cluster(ctx, from_json, wait_for_state, max_wait_
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--customer-contacts', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Customer contacts.
This option is a JSON list with items of type CustomerContact. For documentation on CustomerContact please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/CustomerContact.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12498,8 +12498,8 @@ def create_cloud_exadata_infrastructure(ctx, from_json, wait_for_state, max_wait
@cloud_vm_cluster_group.command(name=cli_util.override('db.create_cloud_vm_cluster.command_name', 'create'), help=u"""Creates a cloud VM cluster. \n[Command Reference](createCloudVmCluster)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet associated with the cloud VM cluster.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet associated with the cloud VM cluster.""")
@cli_util.option('--backup-subnet-id', required=True, help=u"""The [OCID] of the backup network subnet associated with the cloud VM cluster.""")
@cli_util.option('--cpu-core-count', required=True, type=click.INT, help=u"""For fixed shapes, this is the total number of OCPUs to enable across the VM cluster.
@@ -12525,7 +12525,7 @@ def create_cloud_exadata_infrastructure(ctx, from_json, wait_for_state, max_wait
**Note:** The hostname must be unique within the subnet. If it is not unique, the cloud VM Cluster will fail to provision.""")
@cli_util.option('--ssh-public-keys', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The public key portion of one or more key pairs used for SSH access to the cloud VM cluster.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--gi-version', required=True, help=u"""A valid Oracle Grid Infrastructure (GI) software version.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--ocpu-count', type=click.FLOAT, help=u"""The number of OCPU cores to enable for a cloud VM cluster. Only 1 decimal place is allowed for the fractional part.""")
@cli_util.option('--memory-size-in-gbs', type=click.INT, help=u"""The memory to be allocated in GBs.""")
@cli_util.option('--db-node-storage-size-in-gbs', type=click.INT, help=u"""The local node storage to be allocated in GBs.""")
@@ -12825,7 +12825,7 @@ def create_console_history(ctx, from_json, wait_for_state, max_wait_seconds, wai
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association.command_name', 'create'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -12926,7 +12926,7 @@ def create_data_guard_association(ctx, from_json, wait_for_state, max_wait_secon
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association_create_data_guard_association_with_new_db_system_details.command_name', 'create-data-guard-association-create-data-guard-association-with-new-db-system-details'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -12965,7 +12965,7 @@ def create_data_guard_association(ctx, from_json, wait_for_state, max_wait_secon
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model for Base Database Service. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. The ECPU compute model is the recommended model, and the OCPU compute model is legacy.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the DB system.""")
@cli_util.option('--node-count', type=click.INT, help=u"""The number of nodes to launch for the DB system of the standby in the Data Guard association. For a 2-node RAC virtual machine DB system, specify either 1 or 2. If you do not supply this parameter, the default is the node count of the primary DB system.""")
-@cli_util.option('--subnet-id', help=u"""The OCID of the subnet the DB system is associated with. **Subnet Restrictions:** - For 1- and 2-node RAC DB systems, do not use a subnet that overlaps with 192.168.16.16/28
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The OCID of the subnet the DB system is associated with. **Subnet Restrictions:** - For 1- and 2-node RAC DB systems, do not use a subnet that overlaps with 192.168.16.16/28
These subnets are used by the Oracle Clusterware private interconnect on the database instance. Specifying an overlapping subnet will cause the private interconnect to malfunction. This restriction applies to both the client subnet and backup subnet.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of [OCIDs] for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules]. **NsgIds restrictions:** - A network security group (NSG) is optional for Autonomous AI Databases with private access. The nsgIds list can be empty.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -12995,8 +12995,8 @@ def create_data_guard_association(ctx, from_json, wait_for_state, max_wait_secon
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--database-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].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "UPGRADING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -13147,7 +13147,7 @@ def create_data_guard_association_create_data_guard_association_with_new_db_syst
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association_create_data_guard_association_to_existing_vm_cluster_details.command_name', 'create-data-guard-association-create-data-guard-association-to-existing-vm-cluster-details'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -13256,7 +13256,7 @@ def create_data_guard_association_create_data_guard_association_to_existing_vm_c
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association_create_data_guard_association_to_existing_db_system_details.command_name', 'create-data-guard-association-create-data-guard-association-to-existing-db-system-details'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -13365,7 +13365,7 @@ def create_data_guard_association_create_data_guard_association_to_existing_db_s
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association_external_hsm_encryption_details.command_name', 'create-data-guard-association-external-hsm-encryption-details'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -13465,7 +13465,7 @@ def create_data_guard_association_external_hsm_encryption_details(ctx, from_json
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association_google_cloud_provider_encryption_key_details.command_name', 'create-data-guard-association-google-cloud-provider-encryption-key-details'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -13565,7 +13565,7 @@ def create_data_guard_association_google_cloud_provider_encryption_key_details(c
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association_azure_encryption_key_details.command_name', 'create-data-guard-association-azure-encryption-key-details'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -13665,7 +13665,7 @@ def create_data_guard_association_azure_encryption_key_details(ctx, from_json, w
@data_guard_association_group.command(name=cli_util.override('db.create_data_guard_association_aws_encryption_key_details.command_name', 'create-data-guard-association-aws-encryption-key-details'), help=u"""Creates a new Data Guard association. A Data Guard association represents the replication relationship between the specified database and a peer database. For more information, see [Using Oracle Data Guard].
All Oracle Cloud Infrastructure resources, including Data Guard associations, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier (OCID). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. For more information, see [Resource Identifiers]. \n[Command Reference](createDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""A strong password for the `SYS`, `SYSTEM`, and `PDB Admin` users to apply during standby creation.
The password must contain no fewer than nine characters and include:
@@ -13763,7 +13763,7 @@ def create_data_guard_association_aws_encryption_key_details(ctx, from_json, wai
@database_group.command(name=cli_util.override('db.create_database.command_name', 'create'), help=u"""Creates a new database in the specified Database Home. If the database version is provided, it must match the version of the Database Home. Applies to Exadata and Exadata Cloud@Customer systems. \n[Command Reference](createDatabase)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The [OCID] of the Database Home.""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database Home.""")
@cli_util.option('--source', required=True, type=custom_types.CliCaseInsensitiveChoice(["NONE", "DB_BACKUP", "DATABASE", "DATAGUARD"]), help=u"""The source of the database: Use `NONE` for creating a new database. Use `DB_BACKUP` for creating a new database by restoring from a backup. Use `DATAGUARD` for creating a new STANDBY database for a Data Guard setup.. The default is `NONE`.""")
@cli_util.option('--db-version', help=u"""A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
@@ -13831,7 +13831,7 @@ def create_database(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@database_group.command(name=cli_util.override('db.create_database_create_new_database_details.command_name', 'create-database-create-new-database-details'), help=u"""Creates a new database in the specified Database Home. If the database version is provided, it must match the version of the Database Home. Applies to Exadata and Exadata Cloud@Customer systems. \n[Command Reference](createDatabase)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The [OCID] of the Database Home.""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database Home.""")
@cli_util.option('--database', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-version', help=u"""A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
@@ -13901,7 +13901,7 @@ def create_database_create_new_database_details(ctx, from_json, wait_for_state,
@database_group.command(name=cli_util.override('db.create_database_create_stand_by_database_details.command_name', 'create-database-create-stand-by-database-details'), help=u"""Creates a new database in the specified Database Home. If the database version is provided, it must match the version of the Database Home. Applies to Exadata and Exadata Cloud@Customer systems. \n[Command Reference](createDatabase)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The [OCID] of the Database Home.""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database Home.""")
@cli_util.option('--database', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-version', help=u"""A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
@@ -13971,7 +13971,7 @@ def create_database_create_stand_by_database_details(ctx, from_json, wait_for_st
@database_group.command(name=cli_util.override('db.create_database_create_database_from_database.command_name', 'create-database-create-database-from-database'), help=u"""Creates a new database in the specified Database Home. If the database version is provided, it must match the version of the Database Home. Applies to Exadata and Exadata Cloud@Customer systems. \n[Command Reference](createDatabase)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The [OCID] of the Database Home.""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database Home.""")
@cli_util.option('--database', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-version', help=u"""A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
@@ -14041,7 +14041,7 @@ def create_database_create_database_from_database(ctx, from_json, wait_for_state
@database_group.command(name=cli_util.override('db.create_database_create_database_from_backup.command_name', 'create-database-create-database-from-backup'), help=u"""Creates a new database in the specified Database Home. If the database version is provided, it must match the version of the Database Home. Applies to Exadata and Exadata Cloud@Customer systems. \n[Command Reference](createDatabase)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The [OCID] of the Database Home.""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database Home.""")
@cli_util.option('--database', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-version', help=u"""A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
@@ -14111,7 +14111,7 @@ def create_database_create_database_from_backup(ctx, from_json, wait_for_state,
@database_software_image_group.command(name=cli_util.override('db.create_database_software_image.command_name', 'create'), help=u"""create database software image in the specified compartment. \n[Command Reference](createDatabaseSoftwareImage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment the database software image belongs in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment the database software image belongs in.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the database software image. The name does not have to be unique.""")
@cli_util.option('--database-version', help=u"""The database version with which the database software image is to be built.""")
@cli_util.option('--image-shape-family', type=custom_types.CliCaseInsensitiveChoice(["VM_BM_SHAPE", "EXADATA_SHAPE", "EXACC_SHAPE", "EXADBXS_SHAPE"]), help=u"""To what shape the image is meant for.""")
@@ -14283,7 +14283,7 @@ def create_db_home(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@db_home_group.command(name=cli_util.override('db.create_db_home_create_db_home_with_db_system_id_from_database_details.command_name', 'create-db-home-create-db-home-with-db-system-id-from-database-details'), help=u"""Creates a new Database Home in the specified database system based on the request parameters you provide. Applies to bare metal DB systems, Exadata systems, and Exadata Cloud@Customer systems. \n[Command Reference](createDbHome)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The [OCID] of the DB system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DB system.""")
@cli_util.option('--database', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The user-provided name of the Database Home.""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@@ -14369,7 +14369,7 @@ def create_db_home_create_db_home_with_db_system_id_from_database_details(ctx, f
@db_home_group.command(name=cli_util.override('db.create_db_home_create_db_home_with_db_system_id_from_backup_details.command_name', 'create-db-home-create-db-home-with-db-system-id-from-backup-details'), help=u"""Creates a new Database Home in the specified database system based on the request parameters you provide. Applies to bare metal DB systems, Exadata systems, and Exadata Cloud@Customer systems. \n[Command Reference](createDbHome)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The [OCID] of the DB system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DB system.""")
@cli_util.option('--database', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The user-provided name of the Database Home.""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@@ -14627,7 +14627,7 @@ def create_db_home_create_db_home_with_vm_cluster_id_from_backup_details(ctx, fr
@db_home_group.command(name=cli_util.override('db.create_db_home_create_db_home_with_db_system_id_details.command_name', 'create-db-home-create-db-home-with-db-system-id-details'), help=u"""Creates a new Database Home in the specified database system based on the request parameters you provide. Applies to bare metal DB systems, Exadata systems, and Exadata Cloud@Customer systems. \n[Command Reference](createDbHome)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The [OCID] of the DB system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the DB system.""")
@cli_util.option('--display-name', help=u"""The user-provided name of the Database Home.""")
@cli_util.option('--kms-key-id', help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@cli_util.option('--kms-key-version-id', help=u"""The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.""")
@@ -14815,7 +14815,7 @@ def create_db_home_create_db_home_with_vm_cluster_id_details(ctx, from_json, wai
@exadata_infrastructure_group.command(name=cli_util.override('db.create_exadata_infrastructure.command_name', 'create'), help=u"""Creates an Exadata infrastructure resource. Applies to Exadata Cloud@Customer instances only. To create an Exadata Cloud Service infrastructure resource, use the [CreateCloudExadataInfrastructure] operation. \n[Command Reference](createExadataInfrastructure)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the Exadata infrastructure. The name does not need to be unique.""")
@cli_util.option('--shape', required=True, help=u"""The shape of the Exadata infrastructure. The shape determines the amount of CPU, storage, and memory resources allocated to the instance.""")
@cli_util.option('--time-zone', required=True, help=u"""The time zone of the Exadata infrastructure. For details, see [Exadata Infrastructure Time Zones].""")
@@ -14942,9 +14942,9 @@ def create_exadata_infrastructure(ctx, from_json, wait_for_state, max_wait_secon
@exadb_vm_cluster_group.command(name=cli_util.override('db.create_exadb_vm_cluster.command_name', 'create'), help=u"""Creates an Exadata VM cluster on Exascale Infrastructure \n[Command Reference](createExadbVmCluster)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain in which the Exadata VM cluster on Exascale Infrastructure is located.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet associated with the Exadata VM cluster on Exascale Infrastructure.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet associated with the Exadata VM cluster on Exascale Infrastructure.""")
@cli_util.option('--backup-subnet-id', required=True, help=u"""The [OCID] of the backup network subnet associated with the Exadata VM cluster on Exascale Infrastructure.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the Exadata VM cluster on Exascale Infrastructure. The name does not need to be unique.""")
@cli_util.option('--hostname', required=True, help=u"""The hostname for the Exadata VM cluster on Exascale Infrastructure. The hostname must begin with an alphabetic character, and can contain alphanumeric characters and hyphens (-). For Exadata systems, the maximum length of the hostname is 12 characters.
@@ -14978,7 +14978,7 @@ def create_exadata_infrastructure(ctx, from_json, wait_for_state, max_wait_secon
@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].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security Attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags]. Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--shape-attribute', type=custom_types.CliCaseInsensitiveChoice(["SMART_STORAGE", "BLOCK_STORAGE"]), help=u"""The type of Exascale storage used for Exadata VM cluster. The default is SMART_STORAGE which supports Oracle Database 23ai and later""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -15089,7 +15089,7 @@ def create_exadb_vm_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wa
@exascale_db_storage_vault_group.command(name=cli_util.override('db.create_exascale_db_storage_vault.command_name', 'create'), help=u"""Creates an Exadata Database Storage Vault \n[Command Reference](createExascaleDbStorageVault)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the Exadata Database Storage Vault. The name does not need to be unique.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain in which the Exadata Database Storage Vault is located.""")
@cli_util.option('--high-capacity-database-storage', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -15101,8 +15101,8 @@ def create_exadb_vm_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wa
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--exadata-infrastructure-id', help=u"""The [OCID] of the Exadata infrastructure.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-autoscale-enabled', type=click.BOOL, help=u"""Indicates if autoscale feature is enabled for the Database Storage Vault. The default value is `FALSE`.""")
@cli_util.option('--autoscale-limit-in-gbs', type=click.INT, help=u"""The maximum limit, in gigabytes, to which the Vault storage size can automatically scale when auto scaling is enabled for the Database Storage Vault""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -15188,7 +15188,7 @@ def create_exascale_db_storage_vault(ctx, from_json, wait_for_state, max_wait_se
@execution_action_group.command(name=cli_util.override('db.create_execution_action.command_name', 'create'), help=u"""Creates an execution action resource. \n[Command Reference](createExecutionAction)""")
@cli_util.option('--execution-window-id', required=True, help=u"""The [OCID] of the execution window resource the execution action belongs to.""")
@cli_util.option('--action-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["DB_SERVER_FULL_SOFTWARE_UPDATE", "STORAGE_SERVER_FULL_SOFTWARE_UPDATE", "NETWORK_SWITCH_FULL_SOFTWARE_UPDATE"]), help=u"""The action type of the execution action being performed""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--action-params', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Map where a key value pair describes the specific action parameter. Example: `{\"count\": \"3\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--action-members', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of action members of this execution action.
@@ -15261,7 +15261,7 @@ def create_execution_action(ctx, from_json, wait_for_state, max_wait_seconds, wa
@execution_window_group.command(name=cli_util.override('db.create_execution_window.command_name', 'create'), help=u"""Creates an execution window resource. \n[Command Reference](createExecutionWindow)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--execution-resource-id', required=True, help=u"""The [OCID] of the execution resource the execution window belongs to.""")
@cli_util.option('--time-scheduled', required=True, type=custom_types.CLI_DATETIME, help=u"""The scheduled start date and time of the execution window.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--window-duration-in-mins', required=True, type=click.INT, help=u"""Duration window allows user to set a duration they plan to allocate for Scheduling window. The duration is in minutes.""")
@@ -15333,7 +15333,7 @@ def create_execution_window(ctx, from_json, wait_for_state, max_wait_seconds, wa
**Note:** This API is used by an Oracle Cloud Infrastructure Python script that is packaged with the Oracle Cloud Infrastructure CLI. Oracle recommends that you use the script instead using the API directly. See [Migrating an On-Premises Database to Oracle Cloud Infrastructure by Creating a Backup in the Cloud] for more information. \n[Command Reference](createExternalBackupJob)""")
@cli_util.option('--availability-domain', required=True, help=u"""The targeted availability domain for the backup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where this backup should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where this backup should be created.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the backup. This name does not have to be unique.""")
@cli_util.option('--db-version', required=True, help=u"""A valid Oracle Database version.""")
@cli_util.option('--db-name', required=True, help=u"""The name of the database from which the backup is being taken.""")
@@ -15380,7 +15380,7 @@ def create_external_backup_job(ctx, from_json, availability_domain, compartment_
@external_container_database_group.command(name=cli_util.override('db.create_external_container_database.command_name', 'create'), help=u"""Creates a new external container database resource. \n[Command Reference](createExternalContainerDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the external database. The name does not have to be unique.""")
@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].
@@ -15575,7 +15575,7 @@ def create_external_database_connector_create_external_macs_connector_details(ct
@external_non_container_database_group.command(name=cli_util.override('db.create_external_non_container_database.command_name', 'create'), help=u"""Creates a new ExternalNonContainerDatabase resource \n[Command Reference](createExternalNonContainerDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the external database. The name does not have to be unique.""")
@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].
@@ -15637,7 +15637,7 @@ def create_external_non_container_database(ctx, from_json, wait_for_state, max_w
@external_pluggable_database_group.command(name=cli_util.override('db.create_external_pluggable_database.command_name', 'create'), help=u"""Registers a new [ExternalPluggableDatabase] resource. \n[Command Reference](createExternalPluggableDatabase)""")
@cli_util.option('--external-container-database-id', required=True, help=u"""The [OCID] of the [external container database] that contains the specified [external pluggable database] resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the external database. The name does not have to be unique.""")
@cli_util.option('--source-id', help=u"""The [OCID] of the the non-container database that was converted to a pluggable database to create this resource.""")
@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].
@@ -15703,7 +15703,7 @@ def create_external_pluggable_database(ctx, from_json, wait_for_state, max_wait_
@key_store_group.command(name=cli_util.override('db.create_key_store.command_name', 'create'), help=u"""Creates a Key Store. \n[Command Reference](createKeyStore)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the key store. The name does not need to be unique.""")
@cli_util.option('--type-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -15766,7 +15766,7 @@ def create_key_store(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@key_store_group.command(name=cli_util.override('db.create_key_store_key_store_type_from_oracle_key_vault_details.command_name', 'create-key-store-key-store-type-from-oracle-key-vault-details'), help=u"""Creates a Key Store. \n[Command Reference](createKeyStore)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the key store. The name does not need to be unique.""")
@cli_util.option('--type-details-connection-ips', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of Oracle Key Vault connection IP addresses.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--type-details-admin-username', required=True, help=u"""The administrator username to connect to Oracle Key Vault""")
@@ -15845,7 +15845,7 @@ def create_key_store_key_store_type_from_oracle_key_vault_details(ctx, from_json
@cli_util.option('--patching-mode', type=custom_types.CliCaseInsensitiveChoice(["ROLLING", "NONROLLING"]), help=u"""Cloud Exadata infrastructure node patching method, either \"ROLLING\" or \"NONROLLING\". Default value is ROLLING.
*IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates] for more information.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment containing the Maintenance Run.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Maintenance Run.""")
@cli_util.option('--database-software-image-id', help=u"""The Autonomous AI Database Software Image [OCID]""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["SCHEDULED", "IN_PROGRESS", "SUCCEEDED", "SKIPPED", "FAILED", "UPDATING", "DELETING", "DELETED", "CANCELED", "PARTIAL_SUCCESS"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -15909,7 +15909,7 @@ def create_maintenance_run(ctx, from_json, wait_for_state, max_wait_seconds, wai
@oneoff_patch_group.command(name=cli_util.override('db.create_oneoff_patch.command_name', 'create'), help=u"""Creates one-off patch for specified database version to download. \n[Command Reference](createOneoffPatch)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""One-off patch name.""")
@cli_util.option('--db-version', required=True, help=u"""A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
@@ -16427,7 +16427,7 @@ def create_pluggable_database_snapshot(ctx, from_json, wait_for_state, max_wait_
@cli_util.option('--action-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["DB_SERVER_FULL_SOFTWARE_UPDATE", "STORAGE_SERVER_FULL_SOFTWARE_UPDATE", "NETWORK_SWITCH_FULL_SOFTWARE_UPDATE", "FSU_VM_CLUSTER_OS_SOFTWARE_UPDATE", "FSU_VM_CLUSTER_GI_SOFTWARE_UPDATE", "FSU_VM_CLUSTER_GI_OS_SOFTWARE_UPDATE"]), help=u"""The type of the scheduled action being performed""")
@cli_util.option('--scheduling-plan-id', required=True, help=u"""The [OCID] of the Scheduling Plan.""")
@cli_util.option('--scheduling-window-id', required=True, help=u"""The [OCID] of the Scheduling Window.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--action-params', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Map where a key value pair describes the specific action parameter. Example: `{\"count\": \"3\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--action-members', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of action members in a scheduled action.
@@ -16499,7 +16499,7 @@ def create_scheduled_action(ctx, from_json, wait_for_state, max_wait_seconds, wa
@scheduling_plan_group.command(name=cli_util.override('db.create_scheduling_plan.command_name', 'create'), help=u"""Creates a Scheduling Plan resource. \n[Command Reference](createSchedulingPlan)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--scheduling-policy-id', required=True, help=u"""The [OCID] of the Scheduling Policy.""")
@cli_util.option('--resource-id', required=True, help=u"""The [OCID] of the resource.""")
@cli_util.option('--service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACC", "EXACS", "FPPPCS"]), help=u"""The service type of the Scheduling Plan.""")
@@ -16568,7 +16568,7 @@ def create_scheduling_plan(ctx, from_json, wait_for_state, max_wait_seconds, wai
@scheduling_policy_group.command(name=cli_util.override('db.create_scheduling_policy.command_name', 'create'), help=u"""Creates a Scheduling Policy resource. \n[Command Reference](createSchedulingPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the Scheduling Policy. The name does not need to be unique.""")
@cli_util.option('--cadence', required=True, type=custom_types.CliCaseInsensitiveChoice(["HALFYEARLY", "QUARTERLY", "MONTHLY"]), help=u"""The cadence period.""")
@cli_util.option('--cadence-start-month', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Start of the month to be followed during the cadence period.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -16637,7 +16637,7 @@ def create_scheduling_policy(ctx, from_json, wait_for_state, max_wait_seconds, w
@scheduling_window_group.command(name=cli_util.override('db.create_scheduling_window.command_name', 'create'), help=u"""Creates a Scheduling Window resource. \n[Command Reference](createSchedulingWindow)""")
@cli_util.option('--scheduling-policy-id', required=True, help=u"""The Scheduling Policy [OCID].""")
@cli_util.option('--window-preference', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -16703,7 +16703,7 @@ def create_scheduling_window(ctx, from_json, wait_for_state, max_wait_seconds, w
@vm_cluster_group.command(name=cli_util.override('db.create_vm_cluster.command_name', 'create'), help=u"""Creates an Exadata Cloud@Customer VM cluster. \n[Command Reference](createVmCluster)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the VM cluster. The name does not need to be unique.""")
@cli_util.option('--exadata-infrastructure-id', required=True, help=u"""The [OCID] of the Exadata infrastructure.""")
@cli_util.option('--cpu-core-count', required=True, type=click.INT, help=u"""The number of ECPUs (X11M and higher) or number of OCPUs (X10M and earlier) to enable for the VM cluster.""")
@@ -16841,7 +16841,7 @@ def create_vm_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@vm_cluster_network_group.command(name=cli_util.override('db.create_vm_cluster_network.command_name', 'create'), help=u"""Creates the VM cluster network. Applies to Exadata Cloud@Customer instances only. To create a cloud VM cluster in an Exadata Cloud Service instance, use the [CreateCloudVmCluster ] operation. \n[Command Reference](createVmClusterNetwork)""")
@cli_util.option('--exadata-infrastructure-id', required=True, help=u"""The Exadata infrastructure [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the Exadata Cloud@Customer VM cluster network. The name does not need to be unique.""")
@cli_util.option('--scans', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The SCAN details.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vm-networks', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Details of the client and backup networks.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -17035,7 +17035,7 @@ def delete_application_vip(ctx, from_json, wait_for_state, max_wait_seconds, wai
@autonomous_database_group.command(name=cli_util.override('db.delete_autonomous_database.command_name', 'delete'), help=u"""Deletes the specified Autonomous AI Database. \n[Command Reference](deleteAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--must-delete-associated-long-term-backups', type=click.BOOL, help=u"""If set to true, terminating the Autonomous AI Database also deletes its associated long-term backups if the retention lock is not enabled.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -17272,7 +17272,7 @@ def delete_autonomous_vm_cluster(ctx, from_json, wait_for_state, max_wait_second
@backup_group.command(name=cli_util.override('db.delete_backup.command_name', 'delete'), help=u"""Deletes a full backup. You cannot delete automatic backups using this API. \n[Command Reference](deleteBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The backup [OCID].""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The backup [OCID].""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -17691,7 +17691,7 @@ def delete_console_history(ctx, from_json, wait_for_state, max_wait_seconds, wai
@database_group.command(name=cli_util.override('db.delete_database.command_name', 'delete'), help=u"""Deletes the specified database. Applies only to Exadata systems.
The data in this database is local to the Exadata system and will be lost when the database is deleted. Oracle recommends that you back up any data in the Exadata system prior to deleting it. You can use the `performFinalBackup` parameter to have the Exadata system database backed up before it is deleted. \n[Command Reference](deleteDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--perform-final-backup', type=click.BOOL, help=u"""Whether to perform a final backup of the database or not. Default is false.
@@ -17813,7 +17813,7 @@ def delete_database_software_image(ctx, from_json, wait_for_state, max_wait_seco
@db_home_group.command(name=cli_util.override('db.delete_db_home.command_name', 'delete'), help=u"""Deletes a Database Home. Applies to bare metal DB systems, Exadata Cloud Service, and Exadata Cloud@Customer systems.
Oracle recommends that you use the `performFinalBackup` parameter to back up any data on a bare metal DB system before you delete a Database Home. On an Exadata Cloud@Customer system or an Exadata Cloud Service system, you can delete a Database Home only when there are no databases in it and therefore you cannot use the `performFinalBackup` parameter to back up data. \n[Command Reference](deleteDbHome)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The Database Home [OCID].""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The Database Home [OCID].""")
@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.""")
@cli_util.option('--perform-final-backup', type=click.BOOL, help=u"""Whether to perform a final backup of the database or not. Default is false.
@@ -19016,7 +19016,7 @@ def delete_vm_cluster_network(ctx, from_json, wait_for_state, max_wait_seconds,
@autonomous_database_group.command(name=cli_util.override('db.deregister_autonomous_database_data_safe.command_name', 'deregister-autonomous-database-data-safe'), help=u"""Asynchronously deregisters this Autonomous AI Database with Data Safe. \n[Command Reference](deregisterAutonomousDatabaseDataSafe)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--pdb-admin-password', required=True, help=u"""The admin password provided during the creation of the database. This password is between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -19085,7 +19085,7 @@ def deregister_autonomous_database_data_safe(ctx, from_json, wait_for_state, max
@autonomous_database_group.command(name=cli_util.override('db.disable_autonomous_database_management.command_name', 'disable-autonomous-database-management'), help=u"""Disables Database Management for the Autonomous AI Database resource. \n[Command Reference](disableAutonomousDatabaseManagement)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -19148,7 +19148,7 @@ def disable_autonomous_database_management(ctx, from_json, wait_for_state, max_w
@autonomous_database_group.command(name=cli_util.override('db.disable_autonomous_database_operations_insights.command_name', 'disable-autonomous-database-operations-insights'), help=u"""Disables Operations Insights for the Autonomous AI Database resource. \n[Command Reference](disableAutonomousDatabaseOperationsInsights)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -19211,7 +19211,7 @@ def disable_autonomous_database_operations_insights(ctx, from_json, wait_for_sta
@database_group.command(name=cli_util.override('db.disable_database_management.command_name', 'disable-database-management'), help=u"""Disables the Database Management service for the database. \n[Command Reference](disableDatabaseManagement)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "BACKUP_IN_PROGRESS", "UPGRADING", "CONVERTING", "TERMINATING", "TERMINATED", "RESTORE_FAILED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -20108,7 +20108,7 @@ def edit_autonomous_container_database_dataguard(ctx, from_json, wait_for_state,
@autonomous_database_group.command(name=cli_util.override('db.enable_autonomous_database_management.command_name', 'enable-autonomous-database-management'), help=u"""Enables Database Management for Autonomous AI Database. \n[Command Reference](enableAutonomousDatabaseManagement)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -20171,7 +20171,7 @@ def enable_autonomous_database_management(ctx, from_json, wait_for_state, max_wa
@autonomous_database_group.command(name=cli_util.override('db.enable_autonomous_database_operations_insights.command_name', 'enable-autonomous-database-operations-insights'), help=u"""Enables the specified Autonomous AI Database with Operations Insights. \n[Command Reference](enableAutonomousDatabaseOperationsInsights)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -20234,7 +20234,7 @@ def enable_autonomous_database_operations_insights(ctx, from_json, wait_for_stat
@database_group.command(name=cli_util.override('db.enable_database_management.command_name', 'enable-database-management'), help=u"""Enables the Database Management service for an Oracle Database located in Oracle Cloud Infrastructure. This service allows the database to access tools including Metrics and Performance hub. Database Management is enabled at the container database (CDB) level. \n[Command Reference](enableDatabaseManagement)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--private-end-point-id', required=True, help=u"""The [OCID] of the private endpoint.""")
@cli_util.option('--service-name', required=True, help=u"""The name of the Oracle Database service that will be used to connect to the database.""")
@@ -20948,7 +20948,7 @@ def enable_pluggable_database_management(ctx, from_json, wait_for_state, max_wai
@autonomous_database_group.command(name=cli_util.override('db.fail_over_autonomous_database.command_name', 'fail-over'), help=u"""Initiates a failover of the specified Autonomous AI Database to the associated peer database. Applicable only to databases with Disaster Recovery enabled. This API should be called in the remote region where the peer database resides. Below parameter is optional: - `peerDbId` Use this parameter to specify the database OCID of the Disaster Recovery peer, which is located in a different (remote) region from the current peer database. If this parameter is not provided, the failover will happen in the same region. \n[Command Reference](failOverAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--peer-db-id', help=u"""The database OCID(/Content/General/Concepts/identifiers.htm) of the Disaster Recovery peer (source Primary) database, which is located in a different (remote) region from the current peer database.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -21117,7 +21117,7 @@ def failover_autonomous_container_database_dataguard_association(ctx, from_json,
A failover might result in data loss depending on the protection mode in effect at the time of the primary database failure.
This operation should be performed on respective standby database. \n[Command Reference](failoverDataGuard)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The administrator password of the primary database in this Data Guard association.
**The password MUST be the same as the primary admin password.**""")
@@ -21178,7 +21178,7 @@ def failover_data_guard(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@data_guard_association_group.command(name=cli_util.override('db.failover_data_guard_association.command_name', 'failover'), help=u"""Performs a failover to transition the standby database identified by the `databaseId` parameter into the specified Data Guard association's primary role after the existing primary database fails or becomes unreachable.
A failover might result in data loss depending on the protection mode in effect at the time of the primary database failure. \n[Command Reference](failoverDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--data-guard-association-id', required=True, help=u"""The Data Guard association's [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The DB system administrator password.""")
@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.""")
@@ -21239,7 +21239,7 @@ def failover_data_guard_association(ctx, from_json, wait_for_state, max_wait_sec
@autonomous_database_group.command(name=cli_util.override('db.generate_autonomous_database_wallet.command_name', 'generate-autonomous-database-wallet'), help=u"""Creates and downloads a wallet for the specified Autonomous AI Database. \n[Command Reference](generateAutonomousDatabaseWallet)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--password', required=True, help=u"""The password to encrypt the keys inside the wallet. The password must be at least 8 characters long and must include at least 1 letter and either 1 numeric character or 1 special character.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@cli_util.option('--generate-type', type=custom_types.CliCaseInsensitiveChoice(["ALL", "SINGLE"]), help=u"""The type of wallet to generate.
@@ -21306,7 +21306,7 @@ def generate_autonomous_database_wallet(ctx, from_json, file, autonomous_databas
@exadata_infrastructure_group.command(name=cli_util.override('db.generate_recommended_vm_cluster_network.command_name', 'generate-recommended-vm-cluster-network'), help=u"""Generates a recommended Cloud@Customer VM cluster network configuration. \n[Command Reference](generateRecommendedVmClusterNetwork)""")
@cli_util.option('--exadata-infrastructure-id', required=True, help=u"""The Exadata infrastructure [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name for the VM cluster network. The name does not need to be unique.""")
@cli_util.option('--networks', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of parameters for generation of the client and backup networks.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--db-servers', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of Db server Ids to configure network.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -21462,7 +21462,7 @@ def get_autonomous_container_database_resource_usage(ctx, from_json, autonomous_
@autonomous_database_group.command(name=cli_util.override('db.get_autonomous_database.command_name', 'get'), help=u"""Gets the details of the specified Autonomous AI Database. \n[Command Reference](getAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -21506,7 +21506,7 @@ def get_autonomous_database_backup(ctx, from_json, autonomous_database_backup_id
@autonomous_database_dataguard_association_group.command(name=cli_util.override('db.get_autonomous_database_dataguard_association.command_name', 'get'), help=u"""*Deprecated.* Use the [GetAutonomousContainerDatabase] operation to gets an Autonomous Data Guard-enabled database associated with the specified Autonomous AI Database. \n[Command Reference](getAutonomousDatabaseDataguardAssociation)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--autonomous-database-dataguard-association-id', required=True, help=u"""The Autonomous Container Database-Autonomous Data Guard association [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -21572,7 +21572,7 @@ def get_autonomous_database_software_image(ctx, from_json, autonomous_database_s
@autonomous_database_wallet_group.command(name=cli_util.override('db.get_autonomous_database_wallet.command_name', 'get'), help=u"""Gets the wallet details for the specified Autonomous AI Database. \n[Command Reference](getAutonomousDatabaseWallet)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -21702,7 +21702,7 @@ def get_autonomous_vm_cluster_resource_usage(ctx, from_json, autonomous_vm_clust
@backup_group.command(name=cli_util.override('db.get_backup.command_name', 'get'), help=u"""Gets information about the specified backup. \n[Command Reference](getBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The backup [OCID].""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The backup [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -22037,7 +22037,7 @@ def get_console_history_content(ctx, from_json, file, db_node_id, console_histor
@data_guard_association_group.command(name=cli_util.override('db.get_data_guard_association.command_name', 'get'), help=u"""Gets the specified Data Guard association's configuration information. \n[Command Reference](getDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--data-guard-association-id', required=True, help=u"""The Data Guard association's [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -22063,7 +22063,7 @@ def get_data_guard_association(ctx, from_json, database_id, data_guard_associati
@database_group.command(name=cli_util.override('db.get_database.command_name', 'get'), help=u"""Gets information about the specified database. \n[Command Reference](getDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -22105,7 +22105,7 @@ def get_database_software_image(ctx, from_json, database_software_image_id):
@database_upgrade_history_entry_group.command(name=cli_util.override('db.get_database_upgrade_history_entry.command_name', 'get'), help=u"""gets the upgrade history for a specified database. \n[Command Reference](getDatabaseUpgradeHistoryEntry)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--upgrade-history-entry-id', required=True, help=u"""The database/db system upgrade History [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -22154,7 +22154,7 @@ def get_db_connection_bundle(ctx, from_json, db_connection_bundle_id):
@db_home_group.command(name=cli_util.override('db.get_db_home.command_name', 'get'), help=u"""Gets information about the specified Database Home. \n[Command Reference](getDbHome)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The Database Home [OCID].""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The Database Home [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -22175,7 +22175,7 @@ def get_db_home(ctx, from_json, db_home_id):
@patch_group.command(name=cli_util.override('db.get_db_home_patch.command_name', 'get-db-home'), help=u"""Gets information about a specified patch package. \n[Command Reference](getDbHomePatch)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The Database Home [OCID].""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The Database Home [OCID].""")
@cli_util.option('--patch-id', required=True, help=u"""The [OCID] of the patch.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -22201,7 +22201,7 @@ def get_db_home_patch(ctx, from_json, db_home_id, patch_id):
@patch_history_entry_group.command(name=cli_util.override('db.get_db_home_patch_history_entry.command_name', 'get-db-home'), help=u"""Gets the patch history details for the specified patchHistoryEntryId \n[Command Reference](getDbHomePatchHistoryEntry)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The Database Home [OCID].""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The Database Home [OCID].""")
@cli_util.option('--patch-history-entry-id', required=True, help=u"""The [OCID] of the patch history entry.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -22276,7 +22276,7 @@ def get_db_server(ctx, from_json, exadata_infrastructure_id, db_server_id):
**Note:** Deprecated for Exadata Cloud Service systems. Use the [new resource model APIs] instead.
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model. \n[Command Reference](getDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -22297,7 +22297,7 @@ def get_db_system(ctx, from_json, db_system_id):
@patch_group.command(name=cli_util.override('db.get_db_system_patch.command_name', 'get-db-system'), help=u"""Gets information the specified patch. \n[Command Reference](getDbSystemPatch)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--patch-id', required=True, help=u"""The [OCID] of the patch.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -22323,7 +22323,7 @@ def get_db_system_patch(ctx, from_json, db_system_id, patch_id):
@patch_history_entry_group.command(name=cli_util.override('db.get_db_system_patch_history_entry.command_name', 'get-db-system'), help=u"""Gets the details of the specified patch operation on the specified DB system. \n[Command Reference](getDbSystemPatchHistoryEntry)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--patch-history-entry-id', required=True, help=u"""The [OCID] of the patch history entry.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -22349,7 +22349,7 @@ def get_db_system_patch_history_entry(ctx, from_json, db_system_id, patch_histor
@db_system_upgrade_history_entry_group.command(name=cli_util.override('db.get_db_system_upgrade_history_entry.command_name', 'get'), help=u"""Gets the details of the specified operating system upgrade operation for the specified DB system. \n[Command Reference](getDbSystemUpgradeHistoryEntry)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--upgrade-history-entry-id', required=True, help=u"""The database/db system upgrade History [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -22476,7 +22476,7 @@ def get_exadata_infrastructure_un_allocated_resources(ctx, from_json, exadata_in
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model.
The [GetCloudVmClusterIormConfig] API is used for this operation with Exadata systems using the new resource model. \n[Command Reference](getExadataIormConfig)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -22642,7 +22642,7 @@ def get_execution_window(ctx, from_json, execution_window_id):
@external_backup_job_group.command(name=cli_util.override('db.get_external_backup_job.command_name', 'get'), help=u"""Gets information about the specified external backup job.
**Note:** This API is used by an Oracle Cloud Infrastructure Python script that is packaged with the Oracle Cloud Infrastructure CLI. Oracle recommends that you use the script instead using the API directly. See [Migrating an On-Premises Database to Oracle Cloud Infrastructure by Creating a Backup in the Cloud] for more information. \n[Command Reference](getExternalBackupJob)""")
-@cli_util.option('--backup-id', required=True, help=u"""The backup [OCID].""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The backup [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -22751,7 +22751,7 @@ def get_external_pluggable_database(ctx, from_json, external_pluggable_database_
@infrastructure_target_version_group.command(name=cli_util.override('db.get_infrastructure_target_versions.command_name', 'get'), help=u"""Gets details of the Exadata Infrastructure target system software versions that can be applied to the specified infrastructure resource for maintenance updates. Applies to Exadata Cloud@Customer and Exadata Cloud instances only. \n[Command Reference](getInfrastructureTargetVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--target-resource-id', help=u"""The target resource ID.""")
@cli_util.option('--target-resource-type', type=custom_types.CliCaseInsensitiveChoice(["AUTONOMOUS_EXADATA_INFRASTRUCTURE", "AUTONOMOUS_CONTAINER_DATABASE", "EXADATA_DB_SYSTEM", "CLOUD_EXADATA_INFRASTRUCTURE", "EXACC_INFRASTRUCTURE", "AUTONOMOUS_VM_CLUSTER", "AUTONOMOUS_DATABASE", "CLOUD_AUTONOMOUS_VM_CLUSTER"]), help=u"""The type of the target resource.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -22862,7 +22862,7 @@ def get_oneoff_patch(ctx, from_json, oneoff_patch_id):
@pdb_conversion_history_entry_group.command(name=cli_util.override('db.get_pdb_conversion_history_entry.command_name', 'get'), help=u"""Gets the details of operations performed to convert the specified database from non-container (non-CDB) to pluggable (PDB). \n[Command Reference](getPdbConversionHistoryEntry)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--pdb-conversion-history-entry-id', required=True, help=u"""The database conversion history [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -23240,9 +23240,9 @@ def import_transportable_tablespace(ctx, from_json, wait_for_state, max_wait_sec
@autonomous_exadata_infrastructure_group.command(name=cli_util.override('db.launch_autonomous_exadata_infrastructure.command_name', 'launch'), help=u"""**Deprecated** To create a new Autonomous AI Database system on dedicated Exadata Infrastructure, use the [CreateCloudExadataInfrastructure] and [CreateCloudAutonomousVmCluster] operations instead. Note that to create an Autonomous VM cluster, you must have an existing Exadata Infrastructure resource to contain the VM cluster. \n[Command Reference](launchAutonomousExadataInfrastructure)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment the Autonomous Exadata Infrastructure belongs in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment the Autonomous Exadata Infrastructure belongs in.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the Autonomous Exadata Infrastructure is located.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the Autonomous Exadata Infrastructure is associated with.
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the Autonomous Exadata Infrastructure is associated with.
**Subnet Restrictions:** - For Autonomous Exadata Infrastructures, do not use a subnet that overlaps with 192.168.128.0/20
@@ -23336,9 +23336,9 @@ def launch_autonomous_exadata_infrastructure(ctx, from_json, wait_for_state, max
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model.
Use the [CreateCloudExadataInfrastructure] and [CreateCloudVmCluster] APIs to provision a new Exadata Cloud Service instance. \n[Command Reference](launchDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment the DB system belongs in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment the DB system belongs in.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the DB system is located.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the DB system is associated with.
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the DB system is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC DB systems, do not use a subnet that overlaps with 192.168.128.0/20.
@@ -23391,8 +23391,8 @@ def launch_autonomous_exadata_infrastructure(ctx, from_json, wait_for_state, max
@cli_util.option('--source', type=custom_types.CliCaseInsensitiveChoice(["NONE", "DB_BACKUP", "DATABASE", "DB_SYSTEM"]), help=u"""The source of the database: Use `NONE` for creating a new database. Use `DB_BACKUP` for creating a new database by restoring from a backup. Use `DATABASE` for creating a new database from an existing database, including archive redo log data. The default is `NONE`.""")
@cli_util.option('--private-ip', help=u"""A private IP address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet.""")
@cli_util.option('--private-ip-v6', help=u"""A private IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value and the subnet is dual stack, Oracle automatically assigns a private IPv6 address from the subnet.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model for Base Database Service. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. The ECPU compute model is the recommended model, and the OCPU compute model is legacy.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the DB system.""")
@@ -23543,9 +23543,9 @@ def launch_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model.
Use the [CreateCloudExadataInfrastructure] and [CreateCloudVmCluster] APIs to provision a new Exadata Cloud Service instance. \n[Command Reference](launchDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment the DB system belongs in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment the DB system belongs in.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the DB system is located.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the DB system is associated with.
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the DB system is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC DB systems, do not use a subnet that overlaps with 192.168.128.0/20.
@@ -23599,8 +23599,8 @@ def launch_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security Attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags]. Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--private-ip', help=u"""A private IP address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet.""")
@cli_util.option('--private-ip-v6', help=u"""A private IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value and the subnet is dual stack, Oracle automatically assigns a private IPv6 address from the subnet.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model for Base Database Service. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. The ECPU compute model is the recommended model, and the OCPU compute model is legacy.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the DB system.""")
@@ -23764,9 +23764,9 @@ def launch_db_system_launch_db_system_details(ctx, from_json, wait_for_state, ma
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model.
Use the [CreateCloudExadataInfrastructure] and [CreateCloudVmCluster] APIs to provision a new Exadata Cloud Service instance. \n[Command Reference](launchDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment the DB system belongs in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment the DB system belongs in.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the DB system is located.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the DB system is associated with.
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the DB system is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC DB systems, do not use a subnet that overlaps with 192.168.128.0/20.
@@ -23820,8 +23820,8 @@ def launch_db_system_launch_db_system_details(ctx, from_json, wait_for_state, ma
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security Attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags]. Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--private-ip', help=u"""A private IP address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet.""")
@cli_util.option('--private-ip-v6', help=u"""A private IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value and the subnet is dual stack, Oracle automatically assigns a private IPv6 address from the subnet.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model for Base Database Service. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. The ECPU compute model is the recommended model, and the OCPU compute model is legacy.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the DB system.""")
@@ -23977,9 +23977,9 @@ def launch_db_system_launch_db_system_from_db_system_details(ctx, from_json, wai
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model.
Use the [CreateCloudExadataInfrastructure] and [CreateCloudVmCluster] APIs to provision a new Exadata Cloud Service instance. \n[Command Reference](launchDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment the DB system belongs in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment the DB system belongs in.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the DB system is located.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the DB system is associated with.
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the DB system is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC DB systems, do not use a subnet that overlaps with 192.168.128.0/20.
@@ -24033,8 +24033,8 @@ def launch_db_system_launch_db_system_from_db_system_details(ctx, from_json, wai
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security Attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags]. Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--private-ip', help=u"""A private IP address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet.""")
@cli_util.option('--private-ip-v6', help=u"""A private IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value and the subnet is dual stack, Oracle automatically assigns a private IPv6 address from the subnet.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model for Base Database Service. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. The ECPU compute model is the recommended model, and the OCPU compute model is legacy.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the DB system.""")
@@ -24194,9 +24194,9 @@ def launch_db_system_launch_db_system_from_database_details(ctx, from_json, wait
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model.
Use the [CreateCloudExadataInfrastructure] and [CreateCloudVmCluster] APIs to provision a new Exadata Cloud Service instance. \n[Command Reference](launchDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment the DB system belongs in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment the DB system belongs in.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain where the DB system is located.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the DB system is associated with.
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the DB system is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC DB systems, do not use a subnet that overlaps with 192.168.128.0/20.
@@ -24250,8 +24250,8 @@ def launch_db_system_launch_db_system_from_database_details(ctx, from_json, wait
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security Attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags]. Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--private-ip', help=u"""A private IP address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet.""")
@cli_util.option('--private-ip-v6', help=u"""A private IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value and the subnet is dual stack, Oracle automatically assigns a private IPv6 address from the subnet.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group of the Exadata Infrastructure or Db System.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--data-collection-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model for Base Database Service. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. The ECPU compute model is the recommended model, and the OCPU compute model is legacy.""")
@cli_util.option('--compute-count', type=click.INT, help=u"""The number of compute servers for the DB system.""")
@@ -24403,7 +24403,7 @@ def launch_db_system_launch_db_system_from_backup_details(ctx, from_json, wait_f
@application_vip_group.command(name=cli_util.override('db.list_application_vips.command_name', 'list'), help=u"""Gets a list of application virtual IP (VIP) addresses on a cloud VM cluster. \n[Command Reference](listApplicationVips)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--cloud-vm-cluster-id', required=True, help=u"""The [OCID] of the cloud VM cluster associated with the application virtual IP (VIP) address.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -24464,7 +24464,7 @@ def list_application_vips(ctx, from_json, all_pages, page_size, compartment_id,
@autonomous_container_database_backup_group.command(name=cli_util.override('db.list_autonomous_container_database_backups.command_name', 'list'), help=u"""Gets a list of Autonomous Container Database backups by using either the 'autonomousDatabaseId' or 'compartmentId' as your query parameter. \n[Command Reference](listAutonomousContainerDatabaseBackups)""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--autonomous-container-database-id', help=u"""The Autonomous Container Database [OCID].""")
@cli_util.option('--is-remote', type=click.BOOL, help=u"""call for all remote backups""")
@cli_util.option('--infrastructure-type', type=custom_types.CliCaseInsensitiveChoice(["CLOUD", "CLOUD_AT_CUSTOMER"]), help=u"""A filter to return only resources that match the given Infrastructure Type.""")
@@ -24584,7 +24584,7 @@ def list_autonomous_container_database_dataguard_associations(ctx, from_json, al
@autonomous_container_database_version_group.command(name=cli_util.override('db.list_autonomous_container_database_versions.command_name', 'list'), help=u"""Gets a list of supported Autonomous Container Database versions. \n[Command Reference](listAutonomousContainerDatabaseVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--service-component', required=True, type=custom_types.CliCaseInsensitiveChoice(["ADBD", "EXACC"]), help=u"""The service component to use, either ADBD or EXACC.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -24639,7 +24639,7 @@ def list_autonomous_container_database_versions(ctx, from_json, all_pages, page_
@autonomous_container_database_group.command(name=cli_util.override('db.list_autonomous_container_databases.command_name', 'list'), help=u"""Gets a list of the Autonomous Container Databases in the specified compartment. \n[Command Reference](listAutonomousContainerDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--autonomous-exadata-infrastructure-id', help=u"""The Autonomous Exadata Infrastructure [OCID].""")
@cli_util.option('--autonomous-vm-cluster-id', help=u"""The Autonomous VM Cluster [OCID].""")
@cli_util.option('--infrastructure-type', type=custom_types.CliCaseInsensitiveChoice(["CLOUD", "CLOUD_AT_CUSTOMER"]), help=u"""A filter to return only resources that match the given Infrastructure Type.""")
@@ -24720,8 +24720,8 @@ def list_autonomous_container_databases(ctx, from_json, all_pages, page_size, co
@autonomous_database_backup_group.command(name=cli_util.override('db.list_autonomous_database_backups.command_name', 'list'), help=u"""Gets a list of Autonomous AI Database backups based on either the `autonomousDatabaseId` or `compartmentId` specified as a query parameter. \n[Command Reference](listAutonomousDatabaseBackups)""")
-@cli_util.option('--autonomous-database-id', help=u"""The database [OCID].""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--autonomous-database-id', type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
@@ -24823,8 +24823,8 @@ def list_autonomous_database_character_sets(ctx, from_json, all_pages, is_shared
@autonomous_database_group.command(name=cli_util.override('db.list_autonomous_database_clones.command_name', 'list-autonomous-database-clones'), help=u"""Lists the Autonomous AI Database clones for the specified Autonomous AI Database. \n[Command Reference](listAutonomousDatabaseClones)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -24895,7 +24895,7 @@ def list_autonomous_database_clones(ctx, from_json, all_pages, page_size, compar
@autonomous_database_dataguard_association_group.command(name=cli_util.override('db.list_autonomous_database_dataguard_associations.command_name', 'list'), help=u"""*Deprecated.* Use the [GetAutonomousContainerDatabase] operation to get a list of the Autonomous Data Guard-enabled databases associated with the specified Autonomous AI Database. \n[Command Reference](listAutonomousDatabaseDataguardAssociations)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -24945,7 +24945,7 @@ def list_autonomous_database_dataguard_associations(ctx, from_json, all_pages, p
@autonomous_database_group.command(name=cli_util.override('db.list_autonomous_database_peers.command_name', 'list-autonomous-database-peers'), help=u"""Lists the Autonomous AI Database peers for the specified Autonomous AI Database. \n[Command Reference](listAutonomousDatabasePeers)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -24996,7 +24996,7 @@ def list_autonomous_database_peers(ctx, from_json, all_pages, page_size, autonom
@autonomous_database_group.command(name=cli_util.override('db.list_autonomous_database_refreshable_clones.command_name', 'list-autonomous-database-refreshable-clones'), help=u"""Lists the OCIDs of the Autonomous AI Database local and connected remote refreshable clones with the region where they exist for the specified source database. \n[Command Reference](listAutonomousDatabaseRefreshableClones)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -25047,7 +25047,7 @@ def list_autonomous_database_refreshable_clones(ctx, from_json, all_pages, page_
@autonomous_database_software_image_group.command(name=cli_util.override('db.list_autonomous_database_software_images.command_name', 'list'), help=u"""Gets a list of the Autonomous AI Database Software Images in the specified compartment. \n[Command Reference](listAutonomousDatabaseSoftwareImages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--image-shape-family', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACC_SHAPE", "EXADATA_SHAPE"]), help=u"""A filter to return only resources that match the given image shape family exactly.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -25111,7 +25111,7 @@ def list_autonomous_database_software_images(ctx, from_json, all_pages, page_siz
@autonomous_database_group.command(name=cli_util.override('db.list_autonomous_databases.command_name', 'list'), help=u"""Gets a list of Autonomous AI Databases based on the query parameters specified. \n[Command Reference](listAutonomousDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--autonomous-container-database-id', help=u"""The Autonomous Container Database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -25203,7 +25203,7 @@ def list_autonomous_databases(ctx, from_json, all_pages, page_size, compartment_
@autonomous_db_preview_version_group.command(name=cli_util.override('db.list_autonomous_db_preview_versions.command_name', 'list'), help=u"""Gets a list of supported Autonomous AI Database versions. Note that preview version software is only available for Autonomous AI Database Serverless (https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html) databases. \n[Command Reference](listAutonomousDbPreviewVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["DBWORKLOAD"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for DBWORKLOAD is ascending.
@@ -25259,7 +25259,7 @@ def list_autonomous_db_preview_versions(ctx, from_json, all_pages, page_size, co
@autonomous_db_version_group.command(name=cli_util.override('db.list_autonomous_db_versions.command_name', 'list'), help=u"""Gets a list of supported Autonomous AI Database versions. \n[Command Reference](listAutonomousDbVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--db-workload', type=custom_types.CliCaseInsensitiveChoice(["OLTP", "DW", "AJD", "APEX", "LH"]), help=u"""A filter to return only Autonomous AI Database resources that match the specified workload type.""")
@@ -25314,7 +25314,7 @@ def list_autonomous_db_versions(ctx, from_json, all_pages, page_size, compartmen
@autonomous_exadata_infrastructure_shape_group.command(name=cli_util.override('db.list_autonomous_exadata_infrastructure_shapes.command_name', 'list'), help=u"""**Deprecated.** \n[Command Reference](listAutonomousExadataInfrastructureShapes)""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the Availability Domain.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -25365,7 +25365,7 @@ def list_autonomous_exadata_infrastructure_shapes(ctx, from_json, all_pages, pag
@autonomous_exadata_infrastructure_group.command(name=cli_util.override('db.list_autonomous_exadata_infrastructures.command_name', 'list'), help=u"""**Deprecated.** Use the [ListCloudExadataInfrastructures] operation to list Exadata Infrastructures in the Oracle cloud and the [ListCloudAutonomousVmClusters] operation to list Autonomous Exadata VM clusters. \n[Command Reference](listAutonomousExadataInfrastructures)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
@@ -25431,7 +25431,7 @@ def list_autonomous_exadata_infrastructures(ctx, from_json, all_pages, page_size
@autonomous_virtual_machine_group.command(name=cli_util.override('db.list_autonomous_virtual_machines.command_name', 'list'), help=u"""Lists the Autonomous Virtual Machines in the specified Autonomous VM Cluster and Compartment. \n[Command Reference](listAutonomousVirtualMachines)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--autonomous-vm-cluster-id', required=True, help=u"""The Autonomous Virtual machine [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -25487,7 +25487,7 @@ def list_autonomous_virtual_machines(ctx, from_json, all_pages, page_size, compa
@autonomous_vm_cluster_group.command(name=cli_util.override('db.list_autonomous_vm_cluster_acd_resource_usage.command_name', 'list-autonomous-vm-cluster-acd-resource-usage'), help=u"""Gets the list of resource usage details for all the Autonomous Container Database in the specified Autonomous Exadata VM cluster. \n[Command Reference](listAutonomousVmClusterAcdResourceUsage)""")
@cli_util.option('--autonomous-vm-cluster-id', required=True, help=u"""The autonomous VM cluster [OCID].""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -25540,7 +25540,7 @@ def list_autonomous_vm_cluster_acd_resource_usage(ctx, from_json, all_pages, pag
@autonomous_vm_cluster_group.command(name=cli_util.override('db.list_autonomous_vm_clusters.command_name', 'list'), help=u"""Gets a list of Exadata Cloud@Customer Autonomous VM clusters in the specified compartment. To list Autonomous VM Clusters in the Oracle Cloud, see [ListCloudAutonomousVmClusters]. \n[Command Reference](listAutonomousVmClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--exadata-infrastructure-id', help=u"""If provided, filters the results for the given Exadata Infrastructure.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -25603,7 +25603,7 @@ def list_autonomous_vm_clusters(ctx, from_json, all_pages, page_size, compartmen
@backup_destination_summary_group.command(name=cli_util.override('db.list_backup_destination.command_name', 'list-backup-destination'), help=u"""Gets a list of backup destinations in the specified compartment. \n[Command Reference](listBackupDestination)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--type', help=u"""A filter to return only resources that match the given type of the Backup Destination.""")
@@ -25654,8 +25654,8 @@ def list_backup_destination(ctx, from_json, all_pages, page_size, compartment_id
@backup_group.command(name=cli_util.override('db.list_backups.command_name', 'list'), help=u"""Gets a list of backups based on the `databaseId` or `compartmentId` specified. Either one of these query parameters must be provided. \n[Command Reference](listBackups)""")
-@cli_util.option('--database-id', help=u"""The [OCID] of the database.""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--shape-family', type=custom_types.CliCaseInsensitiveChoice(["SINGLENODE", "YODA", "VIRTUALMACHINE", "EXADATA", "EXACC", "EXADB_XS"]), help=u"""If provided, filters the results to the set of database versions which are supported for the given shape family.""")
@@ -25725,7 +25725,7 @@ def list_backups(ctx, from_json, all_pages, page_size, database_id, compartment_
@cloud_autonomous_vm_cluster_group.command(name=cli_util.override('db.list_cloud_autonomous_vm_cluster_acd_resource_usage.command_name', 'list-cloud-autonomous-vm-cluster-acd-resource-usage'), help=u"""Gets the list of resource usage details for all the Cloud Autonomous Container Database in the specified Cloud Autonomous Exadata VM cluster. \n[Command Reference](listCloudAutonomousVmClusterAcdResourceUsage)""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', required=True, help=u"""The Cloud VM cluster [OCID].""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -25778,7 +25778,7 @@ def list_cloud_autonomous_vm_cluster_acd_resource_usage(ctx, from_json, all_page
@cloud_autonomous_vm_cluster_group.command(name=cli_util.override('db.list_cloud_autonomous_vm_clusters.command_name', 'list'), help=u"""Lists Autonomous Exadata VM clusters in the Oracle cloud. For Exadata Cloud@Customer systems, see [ListAutonomousVmClusters]. \n[Command Reference](listCloudAutonomousVmClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--cloud-exadata-infrastructure-id', help=u"""If provided, filters the results for the specified cloud Exadata infrastructure.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -25846,14 +25846,14 @@ def list_cloud_autonomous_vm_clusters(ctx, from_json, all_pages, page_size, comp
@cloud_exadata_infrastructure_group.command(name=cli_util.override('db.list_cloud_exadata_infrastructures.command_name', 'list'), help=u"""Gets a list of the cloud Exadata infrastructure resources in the specified compartment. Applies to Exadata Cloud Service instances and Autonomous AI Database on dedicated Exadata infrastructure only. \n[Command Reference](listCloudExadataInfrastructures)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"]), help=u"""A filter to return only resources that match the given lifecycle state exactly.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given. The match is not case sensitive.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""A filter to return only resources that match the given cluster placement group ID exactly.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the given cluster placement group ID exactly.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -26017,7 +26017,7 @@ def list_cloud_vm_cluster_updates(ctx, from_json, all_pages, page_size, cloud_vm
@cloud_vm_cluster_group.command(name=cli_util.override('db.list_cloud_vm_clusters.command_name', 'list'), help=u"""Gets a list of the cloud VM clusters in the specified compartment. Applies to Exadata Cloud Service instances and Autonomous Database on dedicated Exadata infrastructure only. \n[Command Reference](listCloudVmClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--cloud-exadata-infrastructure-id', help=u"""If provided, filters the results for the specified cloud Exadata infrastructure.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -26169,7 +26169,7 @@ def list_console_histories(ctx, from_json, all_pages, page_size, db_node_id, lim
@autonomous_patch_group.command(name=cli_util.override('db.list_container_database_patches.command_name', 'list-container-database-patches'), help=u"""Lists the patches applicable to the requested container database. \n[Command Reference](listContainerDatabasePatches)""")
@cli_util.option('--autonomous-container-database-id', required=True, help=u"""The Autonomous Container Database [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--autonomous-patch-type', type=custom_types.CliCaseInsensitiveChoice(["QUARTERLY", "TIMEZONE"]), help=u"""Autonomous patch type, either \"QUARTERLY\" or \"TIMEZONE\".""")
@@ -26225,7 +26225,7 @@ def list_container_database_patches(ctx, from_json, all_pages, page_size, autono
@data_guard_association_group.command(name=cli_util.override('db.list_data_guard_associations.command_name', 'list'), help=u"""Lists all Data Guard associations for the specified database. \n[Command Reference](listDataGuardAssociations)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -26275,7 +26275,7 @@ def list_data_guard_associations(ctx, from_json, all_pages, page_size, database_
@database_software_image_group.command(name=cli_util.override('db.list_database_software_images.command_name', 'list'), help=u"""Gets a list of the database software images in the specified compartment. \n[Command Reference](listDatabaseSoftwareImages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME", "PATCHSET"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive. Default order for PATCHSET is descending.""")
@@ -26285,7 +26285,7 @@ def list_data_guard_associations(ctx, from_json, all_pages, page_size, database_
@cli_util.option('--image-type', type=custom_types.CliCaseInsensitiveChoice(["GRID_IMAGE", "DATABASE_IMAGE"]), help=u"""A filter to return only resources that match the given image type exactly.""")
@cli_util.option('--image-shape-family', type=custom_types.CliCaseInsensitiveChoice(["VM_BM_SHAPE", "EXADATA_SHAPE", "EXACC_SHAPE", "EXADBXS_SHAPE"]), help=u"""A filter to return only resources that match the given image shape family exactly.""")
@cli_util.option('--patch-set-greater-than-or-equal-to', help=u"""A filter to return only resources with `patchSet` greater than or equal to given value.""")
-@cli_util.option('--db-system-id', help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
@cli_util.option('--is-upgrade-supported', type=click.BOOL, help=u"""If provided, filters the results to the set of database versions which are supported for Upgrade.""")
@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.""")
@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.""")
@@ -26349,7 +26349,7 @@ def list_database_software_images(ctx, from_json, all_pages, page_size, compartm
@database_group.command(name=cli_util.override('db.list_database_upgrade_history_entries.command_name', 'list-database-upgrade-history-entries'), help=u"""Gets the upgrade history for a specified database in a bare metal or virtual machine DB system. \n[Command Reference](listDatabaseUpgradeHistoryEntries)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--upgrade-action', type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "UPGRADE", "ROLLBACK"]), help=u"""A filter to return only upgradeHistoryEntries that match the specified Upgrade Action.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["SUCCEEDED", "FAILED", "IN_PROGRESS"]), help=u"""A filter to return only upgradeHistoryEntries that match the given lifecycle state exactly.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMESTARTED"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is ascending.""")
@@ -26412,8 +26412,8 @@ def list_database_upgrade_history_entries(ctx, from_json, all_pages, page_size,
@database_group.command(name=cli_util.override('db.list_databases.command_name', 'list'), help=u"""Gets a list of the databases in the specified Database Home. \n[Command Reference](listDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
-@cli_util.option('--db-home-id', help=u"""A Database Home [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
+@cli_util.option('--db-home-id', type=custom_types.CLI_OCID, help=u"""A Database Home [OCID].""")
@cli_util.option('--system-id', help=u"""The [OCID] of the Exadata DB system that you want to filter the database results by. Applies only to Exadata DB systems.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -26543,7 +26543,7 @@ def list_db_connection_bundles(ctx, from_json, all_pages, page_size, compartment
@patch_history_entry_group.command(name=cli_util.override('db.list_db_home_patch_history_entries.command_name', 'list-db-home'), help=u"""Lists the history of patch operations on the specified Database Home. \n[Command Reference](listDbHomePatchHistoryEntries)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The Database Home [OCID].""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The Database Home [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -26593,7 +26593,7 @@ def list_db_home_patch_history_entries(ctx, from_json, all_pages, page_size, db_
@patch_group.command(name=cli_util.override('db.list_db_home_patches.command_name', 'list-db-home'), help=u"""Lists patches applicable to the requested Database Home. \n[Command Reference](listDbHomePatches)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The Database Home [OCID].""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The Database Home [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -26643,10 +26643,10 @@ def list_db_home_patches(ctx, from_json, all_pages, page_size, db_home_id, limit
@db_home_group.command(name=cli_util.override('db.list_db_homes.command_name', 'list'), help=u"""Lists the Database Homes in the specified DB system and compartment. A Database Home is a directory where Oracle Database software is installed. \n[Command Reference](listDbHomes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
-@cli_util.option('--db-system-id', help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
@cli_util.option('--vm-cluster-id', help=u"""The [OCID] of the VM cluster.""")
-@cli_util.option('--backup-id', help=u"""The [OCID] of the backup. Specify a backupId to list only the DB systems or DB homes that support creating a database using this backup in this compartment.""")
+@cli_util.option('--backup-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the backup. Specify a backupId to list only the DB systems or DB homes that support creating a database using this backup in this compartment.""")
@cli_util.option('--db-version', help=u"""A filter to return only DB Homes that match the specified dbVersion.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -26714,8 +26714,8 @@ def list_db_homes(ctx, from_json, all_pages, page_size, compartment_id, db_syste
@db_node_group.command(name=cli_util.override('db.list_db_nodes.command_name', 'list'), help=u"""Lists the database nodes in the specified DB system and compartment. In addition to the other required parameters, either '--db-system-id' or '--vm-cluster-id' also must be provided, depending on the service being accessed. \n[Command Reference](listDbNodes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
-@cli_util.option('--db-system-id', help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
@cli_util.option('--vm-cluster-id', help=u"""The [OCID] of the VM cluster.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -26779,7 +26779,7 @@ def list_db_nodes(ctx, from_json, all_pages, page_size, compartment_id, db_syste
@db_server_group.command(name=cli_util.override('db.list_db_servers.command_name', 'list'), help=u"""Lists the Exadata DB servers in the ExadataInfrastructureId and specified compartment. \n[Command Reference](listDbServers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--exadata-infrastructure-id', required=True, help=u"""The [OCID] of the ExadataInfrastructure.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -26864,7 +26864,7 @@ def list_db_system_compute_performances(ctx, from_json, all_pages, db_system_sha
@patch_history_entry_group.command(name=cli_util.override('db.list_db_system_patch_history_entries.command_name', 'list-db-system'), help=u"""Gets the history of the patch actions performed on the specified DB system. \n[Command Reference](listDbSystemPatchHistoryEntries)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -26914,7 +26914,7 @@ def list_db_system_patch_history_entries(ctx, from_json, all_pages, page_size, d
@patch_group.command(name=cli_util.override('db.list_db_system_patches.command_name', 'list-db-system'), help=u"""Lists the patches applicable to the specified DB system. \n[Command Reference](listDbSystemPatches)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -26964,7 +26964,7 @@ def list_db_system_patches(ctx, from_json, all_pages, page_size, db_system_id, l
@db_system_shape_group.command(name=cli_util.override('db.list_db_system_shapes.command_name', 'list'), help=u"""Gets a list of the shapes that can be used to launch a new DB system. The shape determines resources to allocate to the DB system - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. \n[Command Reference](listDbSystemShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--availability-domain', help=u"""The name of the Availability Domain.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -27020,7 +27020,7 @@ def list_db_system_shapes(ctx, from_json, all_pages, page_size, compartment_id,
@cli_util.option('--storage-management', required=True, type=custom_types.CliCaseInsensitiveChoice(["ASM", "LVM"]), help=u"""The DB system storage management option. Used to list database versions available for that storage manager. Valid values are `ASM` and `LVM`. * ASM specifies Oracle Automatic Storage Management * LVM specifies logical volume manager, sometimes called logical disk manager.""")
@cli_util.option('--shape-type', help=u"""Optional. Filters the performance results by shape type.""")
@cli_util.option('--database-edition', type=custom_types.CliCaseInsensitiveChoice(["STANDARD_EDITION", "ENTERPRISE_EDITION", "ENTERPRISE_EDITION_HIGH_PERFORMANCE", "ENTERPRISE_EDITION_EXTREME_PERFORMANCE", "ENTERPRISE_EDITION_DEVELOPER"]), help=u"""The database edition of quota (STANDARD_EDITION/ENTERPRISE_EDITION/ENTERPRISE_EDITION_HIGH_PERFORMANCE/ENTERPRISE_EDITION_EXTREME_PERFORMANCE/ENTERPRISE_EDITION_DEVELOPER)""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -27046,7 +27046,7 @@ def list_db_system_storage_performances(ctx, from_json, all_pages, storage_manag
@db_system_upgrade_history_entry_group.command(name=cli_util.override('db.list_db_system_upgrade_history_entries.command_name', 'list'), help=u"""Gets the history of the upgrade actions performed on the specified DB system. \n[Command Reference](listDbSystemUpgradeHistoryEntries)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -27109,7 +27109,7 @@ def list_db_system_upgrade_history_entries(ctx, from_json, all_pages, page_size,
@db_system_upgrade_summary_group.command(name=cli_util.override('db.list_db_system_upgrades.command_name', 'list-db-system-upgrades'), help=u"""Lists the applicable upgrade components for a DB systems. \n[Command Reference](listDbSystemUpgrades)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -27163,10 +27163,10 @@ def list_db_system_upgrades(ctx, from_json, all_pages, page_size, db_system_id,
**Note:** Deprecated for Exadata Cloud Service systems. Use the [new resource model APIs] instead.
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model. \n[Command Reference](listDbSystems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
-@cli_util.option('--backup-id', help=u"""The [OCID] of the backup. Specify a backupId to list only the DB systems or DB homes that support creating a database using this backup in this compartment.""")
+@cli_util.option('--backup-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the backup. Specify a backupId to list only the DB systems or DB homes that support creating a database using this backup in this compartment.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.
**Note:** If you do not include the availability domain filter, the resources are grouped by availability domain, then sorted.""")
@@ -27232,11 +27232,11 @@ def list_db_systems(ctx, from_json, all_pages, page_size, compartment_id, limit,
@db_version_group.command(name=cli_util.override('db.list_db_versions.command_name', 'list'), help=u"""Gets a list of supported Oracle Database versions. \n[Command Reference](listDbVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--db-system-shape', help=u"""If provided, filters the results to the set of database versions which are supported for the given shape.""")
-@cli_util.option('--db-system-id', help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB system [OCID]. If provided, filters the results to the set of database versions which are supported for the DB system.""")
@cli_util.option('--storage-management', type=custom_types.CliCaseInsensitiveChoice(["ASM", "LVM"]), help=u"""The DB system storage management option. Used to list database versions available for that storage manager. Valid values are `ASM` and `LVM`. * ASM specifies Oracle Automatic Storage Management * LVM specifies logical volume manager, sometimes called logical disk manager.""")
@cli_util.option('--shape-attribute', help=u"""If provided and applicable, return DB System shape parameters based on the shapeAttribute provided""")
@cli_util.option('--is-upgrade-supported', type=click.BOOL, help=u"""If provided, filters the results to the set of database versions which are supported for Upgrade.""")
@@ -27297,7 +27297,7 @@ def list_db_versions(ctx, from_json, all_pages, page_size, compartment_id, limit
@dbnode_snapshot_group.command(name=cli_util.override('db.list_dbnode_snapshots.command_name', 'list'), help=u"""Gets a list of the Exadata Database Node Snapshots in the specified compartment. \n[Command Reference](listDbnodeSnapshots)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "NAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for NAME is ascending. The NAME sort order is case sensitive.""")
@@ -27364,7 +27364,7 @@ def list_dbnode_snapshots(ctx, from_json, all_pages, page_size, compartment_id,
@autonomous_database_group.command(name=cli_util.override('db.list_estimate_cost_savings.command_name', 'list-estimate-cost-savings'), help=u"""Gets the estimate cost savings of the Autonomous AI Database. \n[Command Reference](listEstimateCostSavings)""")
@cli_util.option('--is-cpu-autoscale', required=True, type=click.BOOL, help=u"""If provided as true, cost estimate with cpu autoscaling.""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -27418,7 +27418,7 @@ def list_estimate_cost_savings(ctx, from_json, all_pages, page_size, is_cpu_auto
@exadata_infrastructure_group.command(name=cli_util.override('db.list_exadata_infrastructures.command_name', 'list'), help=u"""Lists the Exadata infrastructure resources in the specified compartment. Applies to Exadata Cloud@Customer instances only. To list the Exadata Cloud Service infrastructure resources in a compartment, use the [ListCloudExadataInfrastructures] operation. \n[Command Reference](listExadataInfrastructures)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -27592,14 +27592,14 @@ def list_exadb_vm_cluster_updates(ctx, from_json, all_pages, page_size, exadb_vm
@exadb_vm_cluster_group.command(name=cli_util.override('db.list_exadb_vm_clusters.command_name', 'list'), help=u"""Gets a list of the Exadata VM clusters on Exascale Infrastructure in the specified compartment. Applies to Exadata Database Service on Exascale Infrastructure only. \n[Command Reference](listExadbVmClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED", "MAINTENANCE_IN_PROGRESS"]), help=u"""A filter to return only Exadata VM clusters on Exascale Infrastructure that match the given lifecycle state exactly.""")
@cli_util.option('--exascale-db-storage-vault-id', help=u"""A filter to return only Exadata VM clusters on Exascale Infrastructure that match the given Exascale Database Storage Vault ID.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""A filter to return only resources that match the given cluster placement group ID exactly.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the given cluster placement group ID exactly.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given. The match is not case sensitive.""")
@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.""")
@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.""")
@@ -27658,13 +27658,13 @@ def list_exadb_vm_clusters(ctx, from_json, all_pages, page_size, compartment_id,
@exascale_db_storage_vault_group.command(name=cli_util.override('db.list_exascale_db_storage_vaults.command_name', 'list'), help=u"""Gets a list of the Exadata Database Storage Vaults in the specified compartment. \n[Command Reference](listExascaleDbStorageVaults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "TERMINATING", "TERMINATED", "FAILED"]), help=u"""A filter to return only Exadata Database Storage Vaults that match the given lifecycle state exactly.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""A filter to return only resources that match the given cluster placement group ID exactly.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that match the given cluster placement group ID exactly.""")
@cli_util.option('--attached-shape-attributes-not-equal-to', help=u"""A filter to return only Exadata Database Storage Vaults which do not match the given attachedShapeAttributes""")
@cli_util.option('--attached-shape-attributes', help=u"""A filter to return only Exadata Database Storage Vaults which match the given attachedShapeAttributes or has null attachedShapeAttributes""")
@cli_util.option('--vm-cluster-count-less-than-or-equal-to', type=click.INT, help=u"""A filter to return only Exadata Database Storage Vaults with associated Exadata VM Clusters less than or equal to the given count""")
@@ -27736,7 +27736,7 @@ def list_exascale_db_storage_vaults(ctx, from_json, all_pages, page_size, compar
@execution_action_group.command(name=cli_util.override('db.list_execution_actions.command_name', 'list'), help=u"""Lists the execution action resources in the specified compartment. \n[Command Reference](listExecutionActions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -27799,7 +27799,7 @@ def list_execution_actions(ctx, from_json, all_pages, page_size, compartment_id,
@execution_window_group.command(name=cli_util.override('db.list_execution_windows.command_name', 'list'), help=u"""Lists the execution window resources in the specified compartment. \n[Command Reference](listExecutionWindows)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -27862,7 +27862,7 @@ def list_execution_windows(ctx, from_json, all_pages, page_size, compartment_id,
@external_container_database_group.command(name=cli_util.override('db.list_external_container_databases.command_name', 'list'), help=u"""Gets a list of the external container databases in the specified compartment. \n[Command Reference](listExternalContainerDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["DISPLAYNAME", "TIMECREATED"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -27922,7 +27922,7 @@ def list_external_container_databases(ctx, from_json, all_pages, page_size, comp
@external_database_connector_group.command(name=cli_util.override('db.list_external_database_connectors.command_name', 'list'), help=u"""Gets a list of the external database connectors in the specified compartment. \n[Command Reference](listExternalDatabaseConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--external-database-id', required=True, help=u"""The [OCID] of the external database whose connectors will be listed.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -27986,7 +27986,7 @@ def list_external_database_connectors(ctx, from_json, all_pages, page_size, comp
@external_non_container_database_group.command(name=cli_util.override('db.list_external_non_container_databases.command_name', 'list'), help=u"""Gets a list of the ExternalNonContainerDatabases in the specified compartment. \n[Command Reference](listExternalNonContainerDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["DISPLAYNAME", "TIMECREATED"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -28046,7 +28046,7 @@ def list_external_non_container_databases(ctx, from_json, all_pages, page_size,
@external_pluggable_database_group.command(name=cli_util.override('db.list_external_pluggable_databases.command_name', 'list'), help=u"""Gets a list of the [ExternalPluggableDatabase] resources in the specified compartment. \n[Command Reference](listExternalPluggableDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--external-container-database-id', help=u"""The ExternalContainerDatabase [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -28109,7 +28109,7 @@ def list_external_pluggable_databases(ctx, from_json, all_pages, page_size, comp
@flex_component_collection_group.command(name=cli_util.override('db.list_flex_components.command_name', 'list-flex-components'), help=u"""Gets a list of the flex components that can be used to launch a new DB system. The flex component determines resources to allocate to the DB system - Database Servers and Storage Servers. \n[Command Reference](listFlexComponents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given. The match is not case sensitive.""")
@cli_util.option('--shape', help=u"""A filter to return only resources that belong to the entire shape name given. The match is not case sensitive.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -28170,7 +28170,7 @@ def list_flex_components(ctx, from_json, all_pages, page_size, compartment_id, n
@gi_minor_version_summary_group.command(name=cli_util.override('db.list_gi_version_minor_versions.command_name', 'list-gi-version-minor-versions'), help=u"""Gets a list of supported Oracle Grid Infrastructure minor versions for the given major version and shape family. \n[Command Reference](listGiVersionMinorVersions)""")
@cli_util.option('--version-parameterconflict', required=True, help=u"""The Oracle Grid Infrastructure major version.""")
@cli_util.option('--availability-domain', help=u"""The target availability domain. Only passed if the limit is AD-specific.""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--shape-family', type=custom_types.CliCaseInsensitiveChoice(["SINGLENODE", "YODA", "VIRTUALMACHINE", "EXADATA", "EXACC", "EXADB_XS"]), help=u"""If provided, filters the results to the set of database versions which are supported for the given shape family.""")
@cli_util.option('--is-gi-version-for-provisioning', type=click.BOOL, help=u"""If true, returns the Grid Infrastructure versions that can be used for provisioning a cluster""")
@cli_util.option('--shape', help=u"""If provided, filters the results for the given shape.""")
@@ -28242,7 +28242,7 @@ def list_gi_version_minor_versions(ctx, from_json, all_pages, page_size, version
@gi_version_group.command(name=cli_util.override('db.list_gi_versions.command_name', 'list'), help=u"""Gets a list of supported GI versions. \n[Command Reference](listGiVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -28304,7 +28304,7 @@ def list_gi_versions(ctx, from_json, all_pages, page_size, compartment_id, limit
@key_store_summary_group.command(name=cli_util.override('db.list_key_stores.command_name', 'list-key-stores'), help=u"""Gets a list of key stores in the specified compartment. \n[Command Reference](listKeyStores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -28352,7 +28352,7 @@ def list_key_stores(ctx, from_json, all_pages, page_size, compartment_id, limit,
@maintenance_run_history_group.command(name=cli_util.override('db.list_maintenance_run_history.command_name', 'list'), help=u"""Gets a list of the maintenance run histories in the specified compartment. \n[Command Reference](listMaintenanceRunHistory)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--target-resource-id', help=u"""The target resource ID.""")
@cli_util.option('--target-resource-type', type=custom_types.CliCaseInsensitiveChoice(["AUTONOMOUS_EXADATA_INFRASTRUCTURE", "AUTONOMOUS_CONTAINER_DATABASE", "EXADATA_DB_SYSTEM", "CLOUD_EXADATA_INFRASTRUCTURE", "EXACC_INFRASTRUCTURE", "AUTONOMOUS_VM_CLUSTER", "AUTONOMOUS_DATABASE", "CLOUD_AUTONOMOUS_VM_CLUSTER"]), help=u"""The type of the target resource.""")
@cli_util.option('--maintenance-type', type=custom_types.CliCaseInsensitiveChoice(["PLANNED", "UNPLANNED"]), help=u"""The maintenance type.""")
@@ -28427,7 +28427,7 @@ def list_maintenance_run_history(ctx, from_json, all_pages, page_size, compartme
@maintenance_run_group.command(name=cli_util.override('db.list_maintenance_runs.command_name', 'list'), help=u"""Gets a list of the maintenance runs in the specified compartment. \n[Command Reference](listMaintenanceRuns)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--target-resource-id', help=u"""The target resource ID.""")
@cli_util.option('--target-resource-type', type=custom_types.CliCaseInsensitiveChoice(["AUTONOMOUS_EXADATA_INFRASTRUCTURE", "AUTONOMOUS_CONTAINER_DATABASE", "EXADATA_DB_SYSTEM", "CLOUD_EXADATA_INFRASTRUCTURE", "EXACC_INFRASTRUCTURE", "AUTONOMOUS_VM_CLUSTER", "AUTONOMOUS_DATABASE", "CLOUD_AUTONOMOUS_VM_CLUSTER"]), help=u"""The type of the target resource.""")
@cli_util.option('--maintenance-type', type=custom_types.CliCaseInsensitiveChoice(["PLANNED", "UNPLANNED"]), help=u"""The maintenance type.""")
@@ -28505,7 +28505,7 @@ def list_maintenance_runs(ctx, from_json, all_pages, page_size, compartment_id,
@oneoff_patch_group.command(name=cli_util.override('db.list_oneoff_patches.command_name', 'list'), help=u"""Lists one-off patches in the specified compartment. \n[Command Reference](listOneoffPatches)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -28613,7 +28613,7 @@ def list_params_for_action_type(ctx, from_json, all_pages, page_size, type, limi
@database_group.command(name=cli_util.override('db.list_pdb_conversion_history_entries.command_name', 'list-pdb-conversion-history-entries'), help=u"""Gets the pluggable database conversion history for a specified database in a bare metal or virtual machine DB system. \n[Command Reference](listPdbConversionHistoryEntries)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--pdb-conversion-action', type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "CONVERT", "SYNC", "SYNC_ROLLBACK"]), help=u"""A filter to return only the pluggable database conversion history entries that match the specified conversion action. For example, you can use this filter to return only entries for the precheck operation.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["SUCCEEDED", "FAILED", "IN_PROGRESS"]), help=u"""A filter to return only the pluggable database conversion history entries that match the specified lifecycle state. For example, you can use this filter to return only entries in the \"failed\" lifecycle state.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMESTARTED"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). The default order for `TIMECREATED` is ascending.""")
@@ -28676,7 +28676,7 @@ def list_pdb_conversion_history_entries(ctx, from_json, all_pages, page_size, da
@pluggable_database_snapshot_group.command(name=cli_util.override('db.list_pluggable_database_snapshots.command_name', 'list'), help=u"""Gets a list of the Exadata Pluggable Database Snapshots in the specified compartment. \n[Command Reference](listPluggableDatabaseSnapshots)""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "NAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for NAME is ascending. The NAME sort order is case sensitive.""")
@@ -28741,8 +28741,8 @@ def list_pluggable_database_snapshots(ctx, from_json, all_pages, page_size, comp
@pluggable_database_group.command(name=cli_util.override('db.list_pluggable_databases.command_name', 'list'), help=u"""Gets a list of the pluggable databases in a database or compartment. You must provide either a `databaseId` or `compartmentId` value. \n[Command Reference](listPluggableDatabases)""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
-@cli_util.option('--database-id', help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["PDBNAME", "TIMECREATED"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for PDBNAME is ascending. The PDBNAME sort order is case sensitive.""")
@@ -28861,7 +28861,7 @@ def list_recommended_scheduled_actions(ctx, from_json, all_pages, page_size, sch
@autonomous_database_group.command(name=cli_util.override('db.list_resource_pool_members.command_name', 'list-resource-pool-members'), help=u"""Lists the OCIDs of the Autonomous AI Database resource pool members for the specified Autonomous AI Database leader. \n[Command Reference](listResourcePoolMembers)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@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.""")
@@ -28912,7 +28912,7 @@ def list_resource_pool_members(ctx, from_json, all_pages, page_size, autonomous_
@scheduled_action_group.command(name=cli_util.override('db.list_scheduled_actions.command_name', 'list'), help=u"""Lists the Scheduled Action resources in the specified compartment. \n[Command Reference](listScheduledActions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -28981,7 +28981,7 @@ def list_scheduled_actions(ctx, from_json, all_pages, page_size, compartment_id,
@scheduling_plan_group.command(name=cli_util.override('db.list_scheduling_plans.command_name', 'list'), help=u"""Lists the Scheduling Plan resources in the specified compartment. \n[Command Reference](listSchedulingPlans)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending.""")
@@ -29050,7 +29050,7 @@ def list_scheduling_plans(ctx, from_json, all_pages, page_size, compartment_id,
@scheduling_policy_group.command(name=cli_util.override('db.list_scheduling_policies.command_name', 'list'), help=u"""Lists the Scheduling Policy resources in the specified compartment. \n[Command Reference](listSchedulingPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -29111,7 +29111,7 @@ def list_scheduling_policies(ctx, from_json, all_pages, page_size, compartment_i
@scheduling_window_group.command(name=cli_util.override('db.list_scheduling_windows.command_name', 'list'), help=u"""Lists the Scheduling Window resources in the specified compartment. \n[Command Reference](listSchedulingWindows)""")
@cli_util.option('--scheduling-policy-id', required=True, help=u"""The Scheduling Policy [OCID].""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -29177,7 +29177,7 @@ def list_scheduling_windows(ctx, from_json, all_pages, page_size, scheduling_pol
@system_version_minor_version_collection_group.command(name=cli_util.override('db.list_system_version_minor_versions.command_name', 'list-system-version-minor-versions'), help=u"""Retrieves a list of supported minor versions for the specified Exadata System Software major version. You must provide either a `shape` or `resourceId` value. \n[Command Reference](listSystemVersionMinorVersions)""")
@cli_util.option('--major-version', required=True, help=u"""The System major version.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--gi-version', required=True, help=u"""Specifies gi version query parameter.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -29247,7 +29247,7 @@ def list_system_version_minor_versions(ctx, from_json, all_pages, page_size, maj
@system_version_collection_group.command(name=cli_util.override('db.list_system_versions.command_name', 'list-system-versions'), help=u"""Gets a list of supported Exadata system versions for a given shape and GI version. \n[Command Reference](listSystemVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--gi-version', required=True, help=u"""Specifies gi version query parameter.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -29312,7 +29312,7 @@ def list_system_versions(ctx, from_json, all_pages, page_size, compartment_id, g
@vm_cluster_network_group.command(name=cli_util.override('db.list_vm_cluster_networks.command_name', 'list'), help=u"""Gets a list of the VM cluster networks in the specified compartment. Applies to Exadata Cloud@Customer instances only. \n[Command Reference](listVmClusterNetworks)""")
@cli_util.option('--exadata-infrastructure-id', required=True, help=u"""The Exadata infrastructure [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for DISPLAYNAME is ascending. The DISPLAYNAME sort order is case sensitive.""")
@@ -29592,7 +29592,7 @@ def list_vm_cluster_updates(ctx, from_json, all_pages, page_size, vm_cluster_id,
@vm_cluster_group.command(name=cli_util.override('db.list_vm_clusters.command_name', 'list'), help=u"""Lists the VM clusters in the specified compartment. Applies to Exadata Cloud@Customer instances only. To list the cloud VM clusters in an Exadata Cloud Service instance, use the [ListCloudVmClusters ] operation. \n[Command Reference](listVmClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--exadata-infrastructure-id', help=u"""If provided, filters the results for the given Exadata Infrastructure.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The pagination token to continue listing from.""")
@@ -29785,7 +29785,7 @@ def migrate_autonomous_container_database_dataguard_association(ctx, from_json,
@data_guard_association_group.command(name=cli_util.override('db.migrate_data_guard_association_to_multi_data_guards.command_name', 'migrate-data-guard-association-to-multi-data-guards'), help=u"""Migrates the existing Data Guard association to new Data Guard model to support multiple standby databases functionality.
This operation should always be performed on primary. \n[Command Reference](migrateDataGuardAssociationToMultiDataGuards)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--data-guard-association-id', required=True, help=u"""The Data Guard association's [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "BACKUP_IN_PROGRESS", "UPGRADING", "CONVERTING", "TERMINATING", "TERMINATED", "RESTORE_FAILED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -29841,7 +29841,7 @@ def migrate_data_guard_association_to_multi_data_guards(ctx, from_json, wait_for
@db_system_group.command(name=cli_util.override('db.migrate_exadata_db_system_resource_model.command_name', 'migrate-exadata-db-system-resource-model'), help=u"""Migrates the Exadata DB system to the new [Exadata resource model]. All related resources will be migrated. \n[Command Reference](migrateExadataDbSystemResourceModel)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -29866,10 +29866,10 @@ def migrate_exadata_db_system_resource_model(ctx, from_json, db_system_id, if_ma
@database_group.command(name=cli_util.override('db.migrate_vault_key.command_name', 'migrate-vault-key'), help=u"""Changes encryption key management from customer-managed, using the [Vault service], to Oracle-managed. \n[Command Reference](migrateVaultKey)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--kms-key-id', required=True, help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@cli_util.option('--kms-key-version-id', help=u"""The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.""")
-@cli_util.option('--vault-id', help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--tde-wallet-password', help=u"""The existing TDE wallet password of the database.""")
@cli_util.option('--admin-password', help=u"""The existing admin password of the database.""")
@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.""")
@@ -29939,7 +29939,7 @@ def migrate_vault_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@database_group.command(name=cli_util.override('db.modify_database_management.command_name', 'modify-database-management'), help=u"""Updates one or more attributes of the Database Management service for the database. \n[Command Reference](modifyDatabaseManagement)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--credential-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--private-end-point-id', help=u"""The [OCID] of the private endpoint.""")
@cli_util.option('--management-type', type=custom_types.CliCaseInsensitiveChoice(["BASIC", "ADVANCED"]), help=u"""The Database Management type.""")
@@ -30243,7 +30243,7 @@ def move_execution_action_member(ctx, from_json, wait_for_state, max_wait_second
@database_group.command(name=cli_util.override('db.refresh_data_guard_health_status.command_name', 'refresh-data-guard-health-status'), help=u"""Refreshes the Data Guard health status for the specified database. This operation is supported on both primary and standby databases. \n[Command Reference](refreshDataGuardHealthStatus)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "BACKUP_IN_PROGRESS", "UPGRADING", "CONVERTING", "TERMINATING", "TERMINATED", "RESTORE_FAILED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -30345,7 +30345,7 @@ def refresh_pluggable_database(ctx, from_json, wait_for_state, max_wait_seconds,
@autonomous_database_group.command(name=cli_util.override('db.register_autonomous_database_data_safe.command_name', 'register-autonomous-database-data-safe'), help=u"""Asynchronously registers this Autonomous AI Database with Data Safe. \n[Command Reference](registerAutonomousDatabaseDataSafe)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--pdb-admin-password', required=True, help=u"""The admin password provided during the creation of the database. This password is between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -30660,7 +30660,7 @@ def reinstate_autonomous_container_database_dataguard_association(ctx, from_json
@database_group.command(name=cli_util.override('db.reinstate_data_guard.command_name', 'reinstate-data-guard'), help=u"""Reinstates the database identified by the `databaseId` parameter into the standby role in a Data Guard association.
This operation should be performed on disabled standby database. \n[Command Reference](reinstateDataGuard)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The administrator password of the primary database in this Data Guard association.
**The password MUST be the same as the primary admin password.**""")
@@ -30721,7 +30721,7 @@ def reinstate_data_guard(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@data_guard_association_group.command(name=cli_util.override('db.reinstate_data_guard_association.command_name', 'reinstate'), help=u"""Reinstates the database identified by the `databaseId` parameter into the standby role in a Data Guard association. \n[Command Reference](reinstateDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--data-guard-association-id', required=True, help=u"""The Data Guard association's [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The DB system administrator password.""")
@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.""")
@@ -31297,7 +31297,7 @@ def restart_autonomous_container_database(ctx, from_json, wait_for_state, max_wa
@autonomous_database_group.command(name=cli_util.override('db.restart_autonomous_database.command_name', 'restart'), help=u"""Restarts the specified Autonomous AI Database. \n[Command Reference](restartAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--is-online-restart', type=click.BOOL, help=u"""If provided, an online restart will be triggered.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -31353,7 +31353,7 @@ def restart_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds
@autonomous_database_group.command(name=cli_util.override('db.restore_autonomous_database.command_name', 'restore'), help=u"""Restores an Autonomous AI Database based on the provided request parameters. \n[Command Reference](restoreAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--timestamp', type=custom_types.CLI_DATETIME, help=u"""The time to restore the database to.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-scn', help=u"""Restores using the backup with the System Change Number (SCN) specified.""")
@cli_util.option('--latest', type=click.BOOL, help=u"""Restores to the last known good state with the least possible data loss.""")
@@ -31422,7 +31422,7 @@ def restore_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds
@database_group.command(name=cli_util.override('db.restore_database.command_name', 'restore'), help=u"""Restore a Database based on the request parameters you provide. \n[Command Reference](restoreDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-scn', help=u"""Restores using the backup with the System Change Number (SCN) specified. This field is applicable for both use cases - Restoring Container Database or Restoring specific Pluggable Database.""")
@cli_util.option('--timestamp', type=custom_types.CLI_DATETIME, help=u"""Restores to the timestamp specified.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--latest', type=click.BOOL, help=u"""Restores to the last known good state with the least possible data loss.""")
@@ -31551,7 +31551,7 @@ def rotate_autonomous_container_database_encryption_key(ctx, from_json, wait_for
@autonomous_database_group.command(name=cli_util.override('db.rotate_autonomous_database_encryption_key.command_name', 'rotate-autonomous-database-encryption-key'), help=u"""Rotate existing AutonomousDatabase [Vault service] key. \n[Command Reference](rotateAutonomousDatabaseEncryptionKey)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--key-version-id', help=u"""Key version ocid of the key provided by the user for rotate operation. [OCID].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "STOPPING", "STOPPED", "STARTING", "TERMINATING", "TERMINATED", "UNAVAILABLE", "RESTORE_IN_PROGRESS", "RESTORE_FAILED", "BACKUP_IN_PROGRESS", "SCALE_IN_PROGRESS", "AVAILABLE_NEEDS_ATTENTION", "UPDATING", "MAINTENANCE_IN_PROGRESS", "RESTARTING", "RECREATING", "ROLE_CHANGE_IN_PROGRESS", "UPGRADING", "INACCESSIBLE", "STANDBY", "TRANSPORTING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -31612,7 +31612,7 @@ def rotate_autonomous_database_encryption_key(ctx, from_json, wait_for_state, ma
@autonomous_vm_cluster_group.command(name=cli_util.override('db.rotate_autonomous_vm_cluster_ords_certs.command_name', 'rotate-autonomous-vm-cluster-ords-certs'), help=u"""Rotates the Oracle REST Data Services (ORDS) certificates for Autonomous Exadata VM cluster. \n[Command Reference](rotateAutonomousVmClusterOrdsCerts)""")
@cli_util.option('--certificate-generation-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SYSTEM", "BYOC"]), help=u"""Specify SYSTEM to use Oracle-managed certificates. Specify BYOC when you want to bring your own certificate.""")
@cli_util.option('--autonomous-vm-cluster-id', required=True, help=u"""The autonomous VM cluster [OCID].""")
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the certificate to use.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the certificate to use.""")
@cli_util.option('--certificate-authority-id', help=u"""The [OCID] of the certificate authority.""")
@cli_util.option('--ca-bundle-id', help=u"""The [OCID] of the certificate bundle.""")
@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.""")
@@ -31693,7 +31693,7 @@ def rotate_autonomous_vm_cluster_ords_certs(ctx, from_json, wait_for_state, max_
@autonomous_vm_cluster_group.command(name=cli_util.override('db.rotate_autonomous_vm_cluster_ssl_certs.command_name', 'rotate-autonomous-vm-cluster-ssl-certs'), help=u"""Rotates the SSL certificates for Autonomous Exadata VM cluster. \n[Command Reference](rotateAutonomousVmClusterSslCerts)""")
@cli_util.option('--certificate-generation-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SYSTEM", "BYOC"]), help=u"""Specify SYSTEM to use Oracle-managed certificates. Specify BYOC when you want to bring your own certificate.""")
@cli_util.option('--autonomous-vm-cluster-id', required=True, help=u"""The autonomous VM cluster [OCID].""")
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the certificate to use.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the certificate to use.""")
@cli_util.option('--certificate-authority-id', help=u"""The [OCID] of the certificate authority.""")
@cli_util.option('--ca-bundle-id', help=u"""The [OCID] of the certificate bundle.""")
@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.""")
@@ -31774,7 +31774,7 @@ def rotate_autonomous_vm_cluster_ssl_certs(ctx, from_json, wait_for_state, max_w
@cloud_autonomous_vm_cluster_group.command(name=cli_util.override('db.rotate_cloud_autonomous_vm_cluster_ords_certs.command_name', 'rotate-cloud-autonomous-vm-cluster-ords-certs'), help=u"""Rotates the Oracle REST Data Services (ORDS) certificates for a cloud Autonomous Exadata VM cluster. \n[Command Reference](rotateCloudAutonomousVmClusterOrdsCerts)""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', required=True, help=u"""The Cloud VM cluster [OCID].""")
@cli_util.option('--certificate-generation-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SYSTEM", "BYOC"]), help=u"""Specify SYSTEM to use Oracle-managed certificates. Specify BYOC when you want to bring your own certificate.""")
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the certificate to use.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the certificate to use.""")
@cli_util.option('--certificate-authority-id', help=u"""The [OCID] of the certificate authority.""")
@cli_util.option('--ca-bundle-id', help=u"""The [OCID] of the certificate bundle.""")
@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.""")
@@ -31855,7 +31855,7 @@ def rotate_cloud_autonomous_vm_cluster_ords_certs(ctx, from_json, wait_for_state
@cloud_autonomous_vm_cluster_group.command(name=cli_util.override('db.rotate_cloud_autonomous_vm_cluster_ssl_certs.command_name', 'rotate-cloud-autonomous-vm-cluster-ssl-certs'), help=u"""Rotates the SSL certficates for a cloud Autonomous Exadata VM cluster. \n[Command Reference](rotateCloudAutonomousVmClusterSslCerts)""")
@cli_util.option('--cloud-autonomous-vm-cluster-id', required=True, help=u"""The Cloud VM cluster [OCID].""")
@cli_util.option('--certificate-generation-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SYSTEM", "BYOC"]), help=u"""Specify SYSTEM to use Oracle-managed certificates. Specify BYOC when you want to bring your own certificate.""")
-@cli_util.option('--certificate-id', help=u"""The [OCID] of the certificate to use.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the certificate to use.""")
@cli_util.option('--certificate-authority-id', help=u"""The [OCID] of the certificate authority.""")
@cli_util.option('--ca-bundle-id', help=u"""The [OCID] of the certificate bundle.""")
@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.""")
@@ -32123,7 +32123,7 @@ def rotate_ssl_certs(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@database_group.command(name=cli_util.override('db.rotate_vault_key.command_name', 'rotate-vault-key'), help=u"""Creates a new version of an existing [Vault service] key. \n[Command Reference](rotateVaultKey)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "BACKUP_IN_PROGRESS", "UPGRADING", "CONVERTING", "TERMINATING", "TERMINATED", "RESTORE_FAILED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -32241,7 +32241,7 @@ def run_data_patch(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@autonomous_database_group.command(name=cli_util.override('db.saas_admin_user_status.command_name', 'saas-admin-user-status'), help=u"""This operation gets SaaS administrative user status of the Autonomous AI Database. \n[Command Reference](saasAdminUserStatus)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -32325,7 +32325,7 @@ def scan_external_container_database_pluggable_databases(ctx, from_json, wait_fo
@database_group.command(name=cli_util.override('db.set_db_key_version.command_name', 'set-db-key-version'), help=u"""Sets a new version of an existing [Vault service] key. \n[Command Reference](setDbKeyVersion)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--provider', required=True, type=custom_types.CliCaseInsensitiveChoice(["OCI"]), help=u"""Source of key version.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "BACKUP_IN_PROGRESS", "UPGRADING", "CONVERTING", "TERMINATING", "TERMINATED", "RESTORE_FAILED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -32382,7 +32382,7 @@ def set_db_key_version(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@database_group.command(name=cli_util.override('db.set_db_key_version_oci_provider_set_key_version_details.command_name', 'set-db-key-version-oci-provider-set-key-version-details'), help=u"""Sets a new version of an existing [Vault service] key. \n[Command Reference](setDbKeyVersion)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--kms-key-version-id', required=True, help=u"""The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "UPDATING", "BACKUP_IN_PROGRESS", "UPGRADING", "CONVERTING", "TERMINATING", "TERMINATED", "RESTORE_FAILED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -32557,7 +32557,7 @@ def set_pdb_key_version_oci_provider_set_key_version_details(ctx, from_json, wai
@autonomous_database_group.command(name=cli_util.override('db.shrink_autonomous_database.command_name', 'shrink'), help=u"""This operation shrinks the current allocated storage down to the current actual used data storage (actualUsedDataStorageSizeInTBs). The if the base storage value for the database (dataStorageSizeInTBs) is larger than the actualUsedDataStorageSizeInTBs value, you are billed for the base storage value. \n[Command Reference](shrinkAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "STOPPING", "STOPPED", "STARTING", "TERMINATING", "TERMINATED", "UNAVAILABLE", "RESTORE_IN_PROGRESS", "RESTORE_FAILED", "BACKUP_IN_PROGRESS", "SCALE_IN_PROGRESS", "AVAILABLE_NEEDS_ATTENTION", "UPDATING", "MAINTENANCE_IN_PROGRESS", "RESTARTING", "RECREATING", "ROLE_CHANGE_IN_PROGRESS", "UPGRADING", "INACCESSIBLE", "STANDBY", "TRANSPORTING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -32610,7 +32610,7 @@ def shrink_autonomous_database(ctx, from_json, wait_for_state, max_wait_seconds,
@autonomous_database_group.command(name=cli_util.override('db.start_autonomous_database.command_name', 'start'), help=u"""Starts the specified Autonomous AI Database. \n[Command Reference](startAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "STOPPING", "STOPPED", "STARTING", "TERMINATING", "TERMINATED", "UNAVAILABLE", "RESTORE_IN_PROGRESS", "RESTORE_FAILED", "BACKUP_IN_PROGRESS", "SCALE_IN_PROGRESS", "AVAILABLE_NEEDS_ATTENTION", "UPDATING", "MAINTENANCE_IN_PROGRESS", "RESTARTING", "RECREATING", "ROLE_CHANGE_IN_PROGRESS", "UPGRADING", "INACCESSIBLE", "STANDBY", "TRANSPORTING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -32714,7 +32714,7 @@ def start_pluggable_database(ctx, from_json, wait_for_state, max_wait_seconds, w
@autonomous_database_group.command(name=cli_util.override('db.stop_autonomous_database.command_name', 'stop'), help=u"""Stops the specified Autonomous AI Database. \n[Command Reference](stopAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PROVISIONING", "AVAILABLE", "STOPPING", "STOPPED", "STARTING", "TERMINATING", "TERMINATED", "UNAVAILABLE", "RESTORE_IN_PROGRESS", "RESTORE_FAILED", "BACKUP_IN_PROGRESS", "SCALE_IN_PROGRESS", "AVAILABLE_NEEDS_ATTENTION", "UPDATING", "MAINTENANCE_IN_PROGRESS", "RESTARTING", "RECREATING", "ROLE_CHANGE_IN_PROGRESS", "UPGRADING", "INACCESSIBLE", "STANDBY", "TRANSPORTING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -32823,7 +32823,7 @@ def stop_pluggable_database(ctx, from_json, wait_for_state, max_wait_seconds, wa
A switchover guarantees no data loss.
This operation should be performed on respective standby database. \n[Command Reference](switchOverDataGuard)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The administrator password of the primary database in this Data Guard association.
**The password MUST be the same as the primary admin password.**""")
@@ -32990,7 +32990,7 @@ def switchover_autonomous_container_database_dataguard_association(ctx, from_jso
@autonomous_database_group.command(name=cli_util.override('db.switchover_autonomous_database.command_name', 'switchover'), help=u"""Initiates a switchover of the specified Autonomous AI Database to the associated peer database. Applicable only to databases with Disaster Recovery enabled. This API should be called in the remote region where the peer database resides. Below parameter is optional: - `peerDbId` Use this parameter to specify the database OCID of the Disaster Recovery peer, which is located in a different (remote) region from the current peer database. If this parameter is not provided, the switchover will happen in the same region. \n[Command Reference](switchoverAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@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.""")
@cli_util.option('--peer-db-id', help=u"""The database OCID(/Content/General/Concepts/identifiers.htm) of the Disaster Recovery peer (source Primary) database, which is located in a different (remote) region from the current peer database.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -33049,7 +33049,7 @@ def switchover_autonomous_database(ctx, from_json, wait_for_state, max_wait_seco
@data_guard_association_group.command(name=cli_util.override('db.switchover_data_guard_association.command_name', 'switchover'), help=u"""Performs a switchover to transition the primary database of a Data Guard association into a standby role. The standby database associated with the `dataGuardAssociationId` assumes the primary database role.
A switchover guarantees no data loss. \n[Command Reference](switchoverDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--data-guard-association-id', required=True, help=u"""The Data Guard association's [OCID].""")
@cli_util.option('--database-admin-password', required=True, help=u"""The DB system administrator password.""")
@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.""")
@@ -33226,7 +33226,7 @@ def terminate_autonomous_exadata_infrastructure(ctx, from_json, wait_for_state,
**Note:** Deprecated for Exadata Cloud Service systems. Use the [new resource model APIs] instead.
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model. \n[Command Reference](terminateDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -33656,7 +33656,7 @@ def update_autonomous_container_database_dataguard_association(ctx, from_json, w
@autonomous_database_group.command(name=cli_util.override('db.update_autonomous_database.command_name', 'update'), help=u"""Updates one or more attributes of the specified Autonomous AI Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated. \n[Command Reference](updateAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--backup-retention-period-in-days', type=click.INT, help=u"""Retention period, in days, for long-term backups""")
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model of the Autonomous AI Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.""")
@cli_util.option('--in-memory-percentage', type=click.INT, help=u"""The percentage of the System Global Area(SGA) assigned to In-Memory tables in Autonomous AI Database. This property is applicable only to Autonomous AI Databases on the Exadata Cloud@Customer platform.""")
@@ -33759,7 +33759,7 @@ def update_autonomous_container_database_dataguard_association(ctx, from_json, w
@cli_util.option('--permission-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "UNRESTRICTED"]), help=u"""The Autonomous AI Database permission level. Restricted mode allows access only by admin users.
This cannot be updated in parallel with any of the following: cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isFreeTier.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -33806,7 +33806,7 @@ def update_autonomous_container_database_dataguard_association(ctx, from_json, w
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vanity-url-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--encryption-key', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-disconnect-peer', type=click.BOOL, help=u"""If true, this will disconnect the Autonomous AI Database from its peer and the Autonomous AI Database can work permanently as a standalone database.
@@ -34061,7 +34061,7 @@ def update_autonomous_database(ctx, from_json, force, wait_for_state, max_wait_s
@autonomous_database_group.command(name=cli_util.override('db.update_autonomous_database_okv_key_details.command_name', 'update-autonomous-database-okv-key-details'), help=u"""Updates one or more attributes of the specified Autonomous AI Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated. \n[Command Reference](updateAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--encryption-key-okv-uri', required=True, help=u"""URI of OKV server""")
@cli_util.option('--encryption-key-okv-kms-key', required=True, help=u"""UUID of OKV KMS Key""")
@cli_util.option('--encryption-key-directory-name', required=True, help=u"""OKV wallet directory name""")
@@ -34168,7 +34168,7 @@ def update_autonomous_database(ctx, from_json, force, wait_for_state, max_wait_s
@cli_util.option('--permission-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "UNRESTRICTED"]), help=u"""The Autonomous AI Database permission level. Restricted mode allows access only by admin users.
This cannot be updated in parallel with any of the following: cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isFreeTier.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -34215,7 +34215,7 @@ def update_autonomous_database(ctx, from_json, force, wait_for_state, max_wait_s
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vanity-url-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--is-disconnect-peer', type=click.BOOL, help=u"""If true, this will disconnect the Autonomous AI Database from its peer and the Autonomous AI Database can work permanently as a standalone database.
@@ -34477,7 +34477,7 @@ def update_autonomous_database_okv_key_details(ctx, from_json, force, wait_for_s
@autonomous_database_group.command(name=cli_util.override('db.update_autonomous_database_azure_key_details.command_name', 'update-autonomous-database-azure-key-details'), help=u"""Updates one or more attributes of the specified Autonomous AI Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated. \n[Command Reference](updateAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--encryption-key-vault-uri', required=True, help=u"""Azure vault URI""")
@cli_util.option('--encryption-key-key-name', required=True, help=u"""Azure key name""")
@cli_util.option('--backup-retention-period-in-days', type=click.INT, help=u"""Retention period, in days, for long-term backups""")
@@ -34582,7 +34582,7 @@ def update_autonomous_database_okv_key_details(ctx, from_json, force, wait_for_s
@cli_util.option('--permission-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "UNRESTRICTED"]), help=u"""The Autonomous AI Database permission level. Restricted mode allows access only by admin users.
This cannot be updated in parallel with any of the following: cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isFreeTier.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -34629,7 +34629,7 @@ def update_autonomous_database_okv_key_details(ctx, from_json, force, wait_for_s
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vanity-url-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--is-disconnect-peer', type=click.BOOL, help=u"""If true, this will disconnect the Autonomous AI Database from its peer and the Autonomous AI Database can work permanently as a standalone database.
@@ -34885,7 +34885,7 @@ def update_autonomous_database_azure_key_details(ctx, from_json, force, wait_for
@autonomous_database_group.command(name=cli_util.override('db.update_autonomous_database_aws_key_details.command_name', 'update-autonomous-database-aws-key-details'), help=u"""Updates one or more attributes of the specified Autonomous AI Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated. \n[Command Reference](updateAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--encryption-key-service-endpoint-uri', required=True, help=u"""AWS key service endpoint URI""")
@cli_util.option('--encryption-key-key-arn', required=True, help=u"""AWS key ARN""")
@cli_util.option('--backup-retention-period-in-days', type=click.INT, help=u"""Retention period, in days, for long-term backups""")
@@ -34990,7 +34990,7 @@ def update_autonomous_database_azure_key_details(ctx, from_json, force, wait_for
@cli_util.option('--permission-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "UNRESTRICTED"]), help=u"""The Autonomous AI Database permission level. Restricted mode allows access only by admin users.
This cannot be updated in parallel with any of the following: cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isFreeTier.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -35037,7 +35037,7 @@ def update_autonomous_database_azure_key_details(ctx, from_json, force, wait_for
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vanity-url-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--is-disconnect-peer', type=click.BOOL, help=u"""If true, this will disconnect the Autonomous AI Database from its peer and the Autonomous AI Database can work permanently as a standalone database.
@@ -35301,7 +35301,7 @@ def update_autonomous_database_aws_key_details(ctx, from_json, force, wait_for_s
@autonomous_database_group.command(name=cli_util.override('db.update_autonomous_database_oci_key_details.command_name', 'update-autonomous-database-oci-key-details'), help=u"""Updates one or more attributes of the specified Autonomous AI Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated. \n[Command Reference](updateAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--encryption-key-kms-key-id', required=True, help=u"""The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.""")
@cli_util.option('--encryption-key-vault-id', required=True, help=u"""The [OCID] of the Oracle Cloud Infrastructure [vault]. This parameter and `secretId` are required for Customer Managed Keys.""")
@cli_util.option('--backup-retention-period-in-days', type=click.INT, help=u"""Retention period, in days, for long-term backups""")
@@ -35406,7 +35406,7 @@ def update_autonomous_database_aws_key_details(ctx, from_json, force, wait_for_s
@cli_util.option('--permission-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "UNRESTRICTED"]), help=u"""The Autonomous AI Database permission level. Restricted mode allows access only by admin users.
This cannot be updated in parallel with any of the following: cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isFreeTier.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -35453,7 +35453,7 @@ def update_autonomous_database_aws_key_details(ctx, from_json, force, wait_for_s
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vanity-url-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--is-disconnect-peer', type=click.BOOL, help=u"""If true, this will disconnect the Autonomous AI Database from its peer and the Autonomous AI Database can work permanently as a standalone database.
@@ -35709,7 +35709,7 @@ def update_autonomous_database_oci_key_details(ctx, from_json, force, wait_for_s
@autonomous_database_group.command(name=cli_util.override('db.update_autonomous_database_gcp_key_details.command_name', 'update-autonomous-database-gcp-key-details'), help=u"""Updates one or more attributes of the specified Autonomous AI Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated. \n[Command Reference](updateAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--encryption-key-key-name', required=True, help=u"""GCP key name""")
@cli_util.option('--encryption-key-project', required=True, help=u"""GCP project name""")
@cli_util.option('--encryption-key-location', required=True, help=u"""GCP key ring location""")
@@ -35816,7 +35816,7 @@ def update_autonomous_database_oci_key_details(ctx, from_json, force, wait_for_s
@cli_util.option('--permission-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "UNRESTRICTED"]), help=u"""The Autonomous AI Database permission level. Restricted mode allows access only by admin users.
This cannot be updated in parallel with any of the following: cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isFreeTier.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -35863,7 +35863,7 @@ def update_autonomous_database_oci_key_details(ctx, from_json, force, wait_for_s
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vanity-url-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--is-disconnect-peer', type=click.BOOL, help=u"""If true, this will disconnect the Autonomous AI Database from its peer and the Autonomous AI Database can work permanently as a standalone database.
@@ -36125,7 +36125,7 @@ def update_autonomous_database_gcp_key_details(ctx, from_json, force, wait_for_s
@autonomous_database_group.command(name=cli_util.override('db.update_autonomous_database_oracle_managed_key_details.command_name', 'update-autonomous-database-oracle-managed-key-details'), help=u"""Updates one or more attributes of the specified Autonomous AI Database. See the UpdateAutonomousDatabaseDetails resource for a full list of attributes that can be updated. \n[Command Reference](updateAutonomousDatabase)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--backup-retention-period-in-days', type=click.INT, help=u"""Retention period, in days, for long-term backups""")
@cli_util.option('--compute-model', type=custom_types.CliCaseInsensitiveChoice(["ECPU", "OCPU"]), help=u"""The compute model of the Autonomous AI Database. This is required if using the `computeCount` parameter. If using `cpuCoreCount` then it is an error to specify `computeModel` to a non-null value. ECPU compute model is the recommended model and OCPU compute model is legacy.""")
@cli_util.option('--in-memory-percentage', type=click.INT, help=u"""The percentage of the System Global Area(SGA) assigned to In-Memory tables in Autonomous AI Database. This property is applicable only to Autonomous AI Databases on the Exadata Cloud@Customer platform.""")
@@ -36228,7 +36228,7 @@ def update_autonomous_database_gcp_key_details(ctx, from_json, force, wait_for_s
@cli_util.option('--permission-level', type=custom_types.CliCaseInsensitiveChoice(["RESTRICTED", "UNRESTRICTED"]), help=u"""The Autonomous AI Database permission level. Restricted mode allows access only by admin users.
This cannot be updated in parallel with any of the following: cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isFreeTier.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet the resource is associated with.
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.
**Subnet Restrictions:** - For bare metal DB systems and for single node virtual machine DB systems, do not use a subnet that overlaps with 192.168.16.16/28. - For Exadata and virtual machine 2-node RAC systems, do not use a subnet that overlaps with 192.168.128.0/20. - For Autonomous AI Database, setting this will disable public secure access to the database.
@@ -36275,7 +36275,7 @@ def update_autonomous_database_gcp_key_details(ctx, from_json, force, wait_for_s
This option is a JSON list with items of type DatabaseTool. For documentation on DatabaseTool please see our API reference: https://docs.cloud.oracle.com/api/#/en/database/20160918/datatypes/DatabaseTool.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--vanity-url-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The OCI vault secret [/Content/General/Concepts/identifiers.htm]OCID. This cannot be used in conjunction with adminPassword.""")
@cli_util.option('--secret-version-number', type=click.INT, help=u"""The version of the vault secret. If no version is specified, the latest version will be used.""")
@cli_util.option('--is-disconnect-peer', type=click.BOOL, help=u"""If true, this will disconnect the Autonomous AI Database from its peer and the Autonomous AI Database can work permanently as a standalone database.
@@ -36731,7 +36731,7 @@ def update_autonomous_database_software_image(ctx, from_json, force, wait_for_st
@autonomous_database_wallet_group.command(name=cli_util.override('db.update_autonomous_database_wallet.command_name', 'update'), help=u"""Updates the wallet for the specified Autonomous AI Database. \n[Command Reference](updateAutonomousDatabaseWallet)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--should-rotate', type=click.BOOL, help=u"""Indicates whether to rotate the wallet or not. If `false`, the wallet will not be rotated. The default is `false`.""")
@cli_util.option('--grace-period', type=click.INT, help=u"""The number of hours that the old wallet can be used after it has been rotated. The old wallet will no longer be valid after the number of hours in the wallet rotation grace period has passed. During the grace period, both the old wallet and the current wallet can be used.""")
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates that the request is a dry run, if set to \"true\". A dry run request does not actually creating or updating a resource and is used only to perform validation on the submitted data.""")
@@ -36977,7 +36977,7 @@ def update_autonomous_vm_cluster(ctx, from_json, force, wait_for_state, max_wait
@backup_group.command(name=cli_util.override('db.update_backup.command_name', 'update'), help=u"""Updates database backup details. \n[Command Reference](updateBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The backup [OCID].""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The backup [OCID].""")
@cli_util.option('--retention-period-in-days', type=click.INT, help=u"""The retention period of the long term backup in days.""")
@cli_util.option('--retention-period-in-years', type=click.INT, help=u"""The retention period of the long term backup in years.""")
@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.""")
@@ -37689,7 +37689,7 @@ def update_console_history(ctx, from_json, force, wait_for_state, max_wait_secon
@database_group.command(name=cli_util.override('db.update_data_guard.command_name', 'update-data-guard'), help=u"""Update an existing Data Guard member. A Data Guard member represents the replication relationship between the specified database and a standby database. For more information, see [Using Oracle Data Guard]. \n[Command Reference](updateDataGuard)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--database-admin-password', help=u"""The administrator password of the primary database in this Data Guard association.
**The password MUST be the same as the primary admin password.**""")
@@ -37768,7 +37768,7 @@ def update_data_guard(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@data_guard_association_group.command(name=cli_util.override('db.update_data_guard_association.command_name', 'update'), help=u"""Updates the Data Guard association the specified database. This API can be used to change the `protectionMode` and `transportType` of the Data Guard association. \n[Command Reference](updateDataGuardAssociation)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--data-guard-association-id', required=True, help=u"""The Data Guard association's [OCID].""")
@cli_util.option('--database-admin-password', help=u"""A strong password for the 'SYS', 'SYSTEM', and 'PDB Admin' users to apply during standby creation.
@@ -37858,9 +37858,9 @@ def update_data_guard_association(ctx, from_json, wait_for_state, max_wait_secon
@database_group.command(name=cli_util.override('db.update_database.command_name', 'update'), help=u"""Update the specified database based on the request parameters provided. \n[Command Reference](updateDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--db-backup-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--db-home-id', help=u"""The [OCID] of the Database Home.""")
+@cli_util.option('--db-home-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database Home.""")
@cli_util.option('--new-admin-password', help=u"""A new strong password for SYS, SYSTEM, and the plugbable database ADMIN user. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numeric, and two special characters. The special characters must be _, \\#, or -.""")
@cli_util.option('--old-tde-wallet-password', help=u"""The existing TDE wallet password. You must provide the existing password in order to set a new TDE wallet password.""")
@cli_util.option('--new-tde-wallet-password', help=u"""The new password to open the TDE wallet. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numeric, and two special characters. The special characters must be _, \\#, or -.""")
@@ -38028,7 +38028,7 @@ def update_database_software_image(ctx, from_json, force, wait_for_state, max_wa
@db_home_group.command(name=cli_util.override('db.update_db_home.command_name', 'update'), help=u"""Patches the specified Database Home. \n[Command Reference](updateDbHome)""")
-@cli_util.option('--db-home-id', required=True, help=u"""The Database Home [OCID].""")
+@cli_util.option('--db-home-id', required=True, type=custom_types.CLI_OCID, help=u"""The Database Home [OCID].""")
@cli_util.option('--db-version', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--one-off-patches', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of one-off patches for Database Homes.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -38179,7 +38179,7 @@ def update_db_node(ctx, from_json, force, wait_for_state, max_wait_seconds, wait
**Note:** Deprecated for Exadata Cloud Service systems. Use the [new resource model APIs] instead.
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model. \n[Command Reference](updateDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--cpu-core-count', type=click.INT, help=u"""The new number of CPU cores to set for the DB system. Not applicable for INTEL based virtual machine DB systems.""")
@cli_util.option('--version-parameterconflict', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--ssh-public-keys', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The public key portion of the key pair to use for SSH access to the DB system. Multiple public keys can be provided. The length of the combined keys cannot exceed 40,000 characters.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -38463,7 +38463,7 @@ def update_exadata_infrastructure(ctx, from_json, force, wait_for_state, max_wai
For Exadata Cloud Service instances, support for this API will end on May 15th, 2021. See [Switching an Exadata DB System to the New Resource Model and APIs] for details on converting existing Exadata DB systems to the new resource model.
The [UpdateCloudVmClusterIormConfig] API is used for Exadata systems using the new resource model. \n[Command Reference](updateExadataIormConfig)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--objective', type=custom_types.CliCaseInsensitiveChoice(["LOW_LATENCY", "HIGH_THROUGHPUT", "BALANCED", "AUTO", "BASIC"]), help=u"""Value for the IORM objective Default is \"Auto\"""")
@cli_util.option('--db-plans', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of IORM Setting for all the database in this Exadata DB System
@@ -40153,7 +40153,7 @@ def update_vm_cluster_network(ctx, from_json, force, wait_for_state, max_wait_se
@database_group.command(name=cli_util.override('db.upgrade_database.command_name', 'upgrade'), help=u"""Upgrades the specified Oracle Database instance. \n[Command Reference](upgradeDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "UPGRADE", "ROLLBACK"]), help=u"""The database upgrade action.""")
@cli_util.option('--database-upgrade-source-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -40214,7 +40214,7 @@ def upgrade_database(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@database_group.command(name=cli_util.override('db.upgrade_database_database_upgrade_with_db_home_details.command_name', 'upgrade-database-database-upgrade-with-db-home-details'), help=u"""Upgrades the specified Oracle Database instance. \n[Command Reference](upgradeDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "UPGRADE", "ROLLBACK"]), help=u"""The database upgrade action.""")
@cli_util.option('--database-upgrade-source-details-db-home-id', required=True, help=u"""The [OCID] of the Database Home.""")
@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.""")
@@ -40280,7 +40280,7 @@ def upgrade_database_database_upgrade_with_db_home_details(ctx, from_json, wait_
@database_group.command(name=cli_util.override('db.upgrade_database_database_upgrade_with_database_software_image_details.command_name', 'upgrade-database-database-upgrade-with-database-software-image-details'), help=u"""Upgrades the specified Oracle Database instance. \n[Command Reference](upgradeDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "UPGRADE", "ROLLBACK"]), help=u"""The database upgrade action.""")
@cli_util.option('--database-upgrade-source-details-database-software-image-id', required=True, help=u"""The database software image [OCID] of the image to be used to upgrade a database.""")
@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.""")
@@ -40346,7 +40346,7 @@ def upgrade_database_database_upgrade_with_database_software_image_details(ctx,
@database_group.command(name=cli_util.override('db.upgrade_database_database_upgrade_with_db_version_details.command_name', 'upgrade-database-database-upgrade-with-db-version-details'), help=u"""Upgrades the specified Oracle Database instance. \n[Command Reference](upgradeDatabase)""")
-@cli_util.option('--database-id', required=True, help=u"""The database [OCID].""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The database [OCID].""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "UPGRADE", "ROLLBACK"]), help=u"""The database upgrade action.""")
@cli_util.option('--database-upgrade-source-details-db-version', required=True, help=u"""A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
@@ -40414,7 +40414,7 @@ def upgrade_database_database_upgrade_with_db_version_details(ctx, from_json, wa
@db_system_group.command(name=cli_util.override('db.upgrade_db_system.command_name', 'upgrade'), help=u"""Upgrades the operating system and grid infrastructure of the DB system. \n[Command Reference](upgradeDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB system [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB system [OCID].""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["PRECHECK", "ROLLBACK", "UPDATE_SNAPSHOT_RETENTION_DAYS", "UPGRADE"]), help=u"""The operating system upgrade action.""")
@cli_util.option('--snapshot-retention-period-in-days', type=click.INT, help=u"""The retention period, in days, for the snapshot that allows you to perform a rollback of the upgrade operation. After this number of days passes, you cannot roll back the upgrade.""")
@cli_util.option('--new-gi-version', help=u"""A valid Oracle Grid Infrastructure (GI) software version.""")
diff --git a/services/database_management/src/oci_cli_db_management/dbmanagement_cli_extended.py b/services/database_management/src/oci_cli_db_management/dbmanagement_cli_extended.py
index 008bd191..4511677a 100644
--- a/services/database_management/src/oci_cli_db_management/dbmanagement_cli_extended.py
+++ b/services/database_management/src/oci_cli_db_management/dbmanagement_cli_extended.py
@@ -595,7 +595,7 @@ def change_plan_retention_managed_database_password_credential_extended(ctx, **k
@cli_util.copy_params_from_generated_command(dbmanagement_cli.change_plan_retention_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.change_plan_retention_managed_database_secret_credential.name, help=dbmanagement_cli.change_plan_retention_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -643,7 +643,7 @@ def change_space_budget_managed_database_password_credential_extended(ctx, **kwa
@cli_util.copy_params_from_generated_command(dbmanagement_cli.change_space_budget_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.change_space_budget_managed_database_secret_credential.name, help=dbmanagement_cli.change_space_budget_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -691,7 +691,7 @@ def change_sql_plan_baselines_attributes_managed_database_password_credential_ex
@cli_util.copy_params_from_generated_command(dbmanagement_cli.change_sql_plan_baselines_attributes_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.change_sql_plan_baselines_attributes_managed_database_secret_credential.name, help=dbmanagement_cli.change_sql_plan_baselines_attributes_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -739,7 +739,7 @@ def configure_automatic_capture_filters_managed_database_password_credential_ext
@cli_util.copy_params_from_generated_command(dbmanagement_cli.configure_automatic_capture_filters_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.configure_automatic_capture_filters_managed_database_secret_credential.name, help=dbmanagement_cli.configure_automatic_capture_filters_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -787,7 +787,7 @@ def configure_automatic_spm_evolve_advisor_task_managed_database_password_creden
@cli_util.copy_params_from_generated_command(dbmanagement_cli.configure_automatic_spm_evolve_advisor_task_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.configure_automatic_spm_evolve_advisor_task_managed_database_secret_credential.name, help=dbmanagement_cli.configure_automatic_spm_evolve_advisor_task_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -835,7 +835,7 @@ def disable_automatic_initial_plan_capture_managed_database_password_credential_
@cli_util.copy_params_from_generated_command(dbmanagement_cli.disable_automatic_initial_plan_capture_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.disable_automatic_initial_plan_capture_managed_database_secret_credential.name, help=dbmanagement_cli.disable_automatic_initial_plan_capture_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -883,7 +883,7 @@ def disable_automatic_spm_evolve_advisor_task_managed_database_password_credenti
@cli_util.copy_params_from_generated_command(dbmanagement_cli.disable_automatic_spm_evolve_advisor_task_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.disable_automatic_spm_evolve_advisor_task_managed_database_secret_credential.name, help=dbmanagement_cli.disable_automatic_spm_evolve_advisor_task_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -931,7 +931,7 @@ def disable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_pa
@cli_util.copy_params_from_generated_command(dbmanagement_cli.disable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.disable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_secret_credential.name, help=dbmanagement_cli.disable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -979,7 +979,7 @@ def disable_sql_plan_baselines_usage_managed_database_password_credential_extend
@cli_util.copy_params_from_generated_command(dbmanagement_cli.disable_sql_plan_baselines_usage_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.disable_sql_plan_baselines_usage_managed_database_secret_credential.name, help=dbmanagement_cli.disable_sql_plan_baselines_usage_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -1027,7 +1027,7 @@ def drop_sql_plan_baselines_managed_database_password_credential_extended(ctx, *
@cli_util.copy_params_from_generated_command(dbmanagement_cli.drop_sql_plan_baselines_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.drop_sql_plan_baselines_managed_database_secret_credential.name, help=dbmanagement_cli.drop_sql_plan_baselines_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -1075,7 +1075,7 @@ def enable_automatic_initial_plan_capture_managed_database_password_credential_e
@cli_util.copy_params_from_generated_command(dbmanagement_cli.enable_automatic_initial_plan_capture_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.enable_automatic_initial_plan_capture_managed_database_secret_credential.name, help=dbmanagement_cli.enable_automatic_initial_plan_capture_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -1123,7 +1123,7 @@ def enable_automatic_spm_evolve_advisor_task_managed_database_password_credentia
@cli_util.copy_params_from_generated_command(dbmanagement_cli.enable_automatic_spm_evolve_advisor_task_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.enable_automatic_spm_evolve_advisor_task_managed_database_secret_credential.name, help=dbmanagement_cli.enable_automatic_spm_evolve_advisor_task_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -1171,7 +1171,7 @@ def enable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_pas
@cli_util.copy_params_from_generated_command(dbmanagement_cli.enable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.enable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_secret_credential.name, help=dbmanagement_cli.enable_high_frequency_automatic_spm_evolve_advisor_task_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -1219,7 +1219,7 @@ def enable_sql_plan_baselines_usage_managed_database_password_credential_extende
@cli_util.copy_params_from_generated_command(dbmanagement_cli.enable_sql_plan_baselines_usage_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.enable_sql_plan_baselines_usage_managed_database_secret_credential.name, help=dbmanagement_cli.enable_sql_plan_baselines_usage_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -1267,7 +1267,7 @@ def load_sql_plan_baselines_from_awr_managed_database_password_credential_extend
@cli_util.copy_params_from_generated_command(dbmanagement_cli.load_sql_plan_baselines_from_awr_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.load_sql_plan_baselines_from_awr_managed_database_secret_credential.name, help=dbmanagement_cli.load_sql_plan_baselines_from_awr_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
@@ -1315,7 +1315,7 @@ def load_sql_plan_baselines_from_cursor_cache_managed_database_password_credenti
@cli_util.copy_params_from_generated_command(dbmanagement_cli.load_sql_plan_baselines_from_cursor_cache_managed_database_secret_credential, params_to_exclude=['credentials_password_secret_id', 'credentials_role', 'credentials_username'])
@dbmanagement_cli.managed_database_group.command(name=dbmanagement_cli.load_sql_plan_baselines_from_cursor_cache_managed_database_secret_credential.name, help=dbmanagement_cli.load_sql_plan_baselines_from_cursor_cache_managed_database_secret_credential.help)
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Secret where the database password is stored. [required]""")
@cli_util.option('--role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA"]), help=u"""The role of the database user. [required]""")
@cli_util.option('--username', required=True, help=u"""The user name used to connect to the database. [required]""")
@click.pass_context
diff --git a/services/database_management/src/oci_cli_db_management/generated/dbmanagement_cli.py b/services/database_management/src/oci_cli_db_management/generated/dbmanagement_cli.py
index 78411455..6f7f57f4 100644
--- a/services/database_management/src/oci_cli_db_management/generated/dbmanagement_cli.py
+++ b/services/database_management/src/oci_cli_db_management/generated/dbmanagement_cli.py
@@ -765,7 +765,7 @@ def change_database_parameters_database_password_credential_details(ctx, from_js
@db_management_private_endpoint_group.command(name=cli_util.override('db_management.change_db_management_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves the Database Management private endpoint and its dependent resources to the specified compartment. \n[Command Reference](changeDbManagementPrivateEndpointCompartment)""")
@cli_util.option('--db-management-private-endpoint-id', required=True, help=u"""The [OCID] of the Database Management private endpoint.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment to which the Database Management private endpoint needs to be moved.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which the Database Management private endpoint needs to be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -798,7 +798,7 @@ def change_db_management_private_endpoint_compartment(ctx, from_json, db_managem
@external_db_system_group.command(name=cli_util.override('db_management.change_external_db_system_compartment.command_name', 'change-compartment'), help=u"""Moves the external DB system and its related resources (excluding databases) to the specified compartment. \n[Command Reference](changeExternalDbSystemCompartment)""")
@cli_util.option('--external-db-system-id', required=True, help=u"""The [OCID] of the external DB system.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the external DB system to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the external DB system to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -859,7 +859,7 @@ def change_external_db_system_compartment(ctx, from_json, wait_for_state, max_wa
@external_exadata_infrastructure_group.command(name=cli_util.override('db_management.change_external_exadata_infrastructure_compartment.command_name', 'change-compartment'), help=u"""Moves the Exadata infrastructure and its related resources (Exadata storage server, Exadata storage server connectors and Exadata storage server grid) to the specified compartment. \n[Command Reference](changeExternalExadataInfrastructureCompartment)""")
@cli_util.option('--external-exadata-infrastructure-id', required=True, help=u"""The [OCID] of the Exadata infrastructure.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Exadata infrastructure and related components to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Exadata infrastructure and related components to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -920,7 +920,7 @@ def change_external_exadata_infrastructure_compartment(ctx, from_json, wait_for_
@job_group.command(name=cli_util.override('db_management.change_job_compartment.command_name', 'change-compartment'), help=u"""Moves a job. \n[Command Reference](changeJobCompartment)""")
@cli_util.option('--job-id', required=True, help=u"""The identifier of the job.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which the job should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which the job should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -951,7 +951,7 @@ def change_job_compartment(ctx, from_json, job_id, compartment_id, if_match):
@managed_database_group_group.command(name=cli_util.override('db_management.change_managed_database_group_compartment.command_name', 'change-compartment'), help=u"""Moves a Managed Database Group to a different compartment. The destination compartment must not have a Managed Database Group with the same name. \n[Command Reference](changeManagedDatabaseGroupCompartment)""")
@cli_util.option('--managed-database-group-id', required=True, help=u"""The [OCID] of the Managed Database Group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which the Managed Database Group should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which the Managed Database Group should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -982,7 +982,7 @@ def change_managed_database_group_compartment(ctx, from_json, managed_database_g
@named_credential_group.command(name=cli_util.override('db_management.change_named_credential_compartment.command_name', 'change-compartment'), help=u"""Moves a named credential to a different compartment. The destination compartment must not have a named credential with the same name. \n[Command Reference](changeNamedCredentialCompartment)""")
@cli_util.option('--named-credential-id', required=True, help=u"""The [OCID] of the named credential.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which the named credential should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which the named credential should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2539,7 +2539,7 @@ def configure_automatic_spm_evolve_advisor_task_database_password_credential_det
@cloud_db_system_group.command(name=cli_util.override('db_management.create_cloud_db_system.command_name', 'create'), help=u"""Creates a cloud DB system and its related resources. \n[Command Reference](createCloudDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the cloud DB system resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the cloud DB system resides.""")
@cli_util.option('--db-system-discovery-id', required=True, help=u"""The [OCID] of the DB system discovery.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB system. The name does not have to be unique.""")
@cli_util.option('--database-management-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2739,7 +2739,7 @@ def create_cloud_db_system_connector_create_cloud_db_system_macs_connector_detai
@cloud_db_system_discovery_group.command(name=cli_util.override('db_management.create_cloud_db_system_discovery.command_name', 'create'), help=u"""Creates a cloud DB system discovery resource and initiates the discovery process. \n[Command Reference](createCloudDbSystemDiscovery)""")
@cli_util.option('--agent-id', required=True, help=u"""The [OCID] of the management agent used for the cloud DB system discovery.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the cloud DB system resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the cloud DB system resides.""")
@cli_util.option('--dbaas-parent-infrastructure-id', required=True, help=u"""The [OCID] of the parent cloud DB Infrastructure. For VM Dbsystems , it will be the DBSystem Id. For ExaCS and ExaCC, it will be the cloudVmClusterId and vmClusterId respectively.""")
@cli_util.option('--deployment-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["VM", "EXADATA", "EXADATA_CC", "EXADATA_XS"]), help=u"""The deployment type of cloud dbsystem.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB system. The name does not have to be unique.""")
@@ -2810,8 +2810,8 @@ def create_cloud_db_system_discovery(ctx, from_json, wait_for_state, max_wait_se
@db_management_private_endpoint_group.command(name=cli_util.override('db_management.create_db_management_private_endpoint.command_name', 'create'), help=u"""Creates a new Database Management private endpoint. \n[Command Reference](createDbManagementPrivateEndpoint)""")
@cli_util.option('--name', required=True, help=u"""The display name of the Database Management private endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet.""")
@cli_util.option('--is-cluster', type=click.BOOL, help=u"""Specifies whether the Database Management private endpoint will be used for Oracle Databases in a cluster.""")
@cli_util.option('--is-dns-resolution-enabled', type=click.BOOL, help=u"""Specifies whether the Database Management private endpoint has DNS proxy server enabled to resolve private host name.""")
@cli_util.option('--description', help=u"""The description of the private endpoint.""")
@@ -2890,7 +2890,7 @@ def create_db_management_private_endpoint(ctx, from_json, wait_for_state, max_wa
@external_db_system_group.command(name=cli_util.override('db_management.create_external_db_system.command_name', 'create'), help=u"""Creates an external DB system and its related resources. \n[Command Reference](createExternalDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the external DB system resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the external DB system resides.""")
@cli_util.option('--db-system-discovery-id', required=True, help=u"""The [OCID] of the DB system discovery.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB system. The name does not have to be unique.""")
@cli_util.option('--database-management-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3090,7 +3090,7 @@ def create_external_db_system_connector_create_external_db_system_macs_connector
@external_db_system_discovery_group.command(name=cli_util.override('db_management.create_external_db_system_discovery.command_name', 'create'), help=u"""Creates an external DB system discovery resource and initiates the discovery process. \n[Command Reference](createExternalDbSystemDiscovery)""")
@cli_util.option('--agent-id', required=True, help=u"""The [OCID] of the management agent used for the external DB system discovery.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the external DB system resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the external DB system resides.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB system. The name does not have to be unique.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3156,7 +3156,7 @@ def create_external_db_system_discovery(ctx, from_json, wait_for_state, max_wait
@external_exadata_infrastructure_group.command(name=cli_util.override('db_management.create_external_exadata_infrastructure.command_name', 'create'), help=u"""Creates an OCI resource for the Exadata infrastructure and enables the Monitoring service for the Exadata infrastructure. The following resource/subresources are created: Infrastructure Storage server connectors Storage servers Storage grids \n[Command Reference](createExternalExadataInfrastructure)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The name of the Exadata infrastructure.""")
@cli_util.option('--db-system-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of DB systems in the Exadata infrastructure.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--discovery-key', help=u"""The unique key of the discovery request.""")
@@ -3294,7 +3294,7 @@ def create_external_exadata_storage_connector(ctx, from_json, wait_for_state, ma
@external_my_sql_database_group.command(name=cli_util.override('db_management.create_external_my_sql_database.command_name', 'create'), help=u"""Creates an external MySQL database. \n[Command Reference](createExternalMySqlDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of compartment for the External MySQL Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of compartment for the External MySQL Database.""")
@cli_util.option('--db-name', required=True, help=u"""Name of the External MySQL Database.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3319,7 +3319,7 @@ def create_external_my_sql_database(ctx, from_json, compartment_id, db_name):
@external_my_sql_database_connector_group.command(name=cli_util.override('db_management.create_external_my_sql_database_connector.command_name', 'create'), help=u"""Creates an external MySQL connector resource. \n[Command Reference](createExternalMySqlDatabaseConnector)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of compartment for the External MySQL Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of compartment for the External MySQL Database.""")
@cli_util.option('--connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-test-connection-param', required=True, type=click.BOOL, help=u"""Parameter indicating whether database connection needs to be tested.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3373,7 +3373,7 @@ def create_external_my_sql_database_connector(ctx, from_json, wait_for_state, ma
@job_group.command(name=cli_util.override('db_management.create_job.command_name', 'create'), help=u"""Creates a job to be executed on a Managed Database or Managed Database Group. Only one of the parameters, managedDatabaseId or managedDatabaseGroupId should be provided as input in CreateJobDetails resource in request body. \n[Command Reference](createJob)""")
@cli_util.option('--name', required=True, help=u"""The name of the job. Valid characters are uppercase or lowercase letters, numbers, and \"_\". The name of the job cannot be modified. It must be unique in the compartment and must begin with an alphabetic character.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the job resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the job resides.""")
@cli_util.option('--schedule-type', required=True, help=u"""The schedule type of the job.""")
@cli_util.option('--job-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SQL"]), help=u"""The type of job.""")
@cli_util.option('--description', help=u"""The description of the job.""")
@@ -3456,7 +3456,7 @@ def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@job_group.command(name=cli_util.override('db_management.create_job_create_sql_job_details.command_name', 'create-job-create-sql-job-details'), help=u"""Creates a job to be executed on a Managed Database or Managed Database Group. Only one of the parameters, managedDatabaseId or managedDatabaseGroupId should be provided as input in CreateJobDetails resource in request body. \n[Command Reference](createJob)""")
@cli_util.option('--name', required=True, help=u"""The name of the job. Valid characters are uppercase or lowercase letters, numbers, and \"_\". The name of the job cannot be modified. It must be unique in the compartment and must begin with an alphabetic character.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the job resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the job resides.""")
@cli_util.option('--schedule-type', required=True, help=u"""The schedule type of the job.""")
@cli_util.option('--operation-type', required=True, help=u"""The SQL operation type.""")
@cli_util.option('--description', help=u"""The description of the job.""")
@@ -3472,7 +3472,7 @@ def create_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@cli_util.option('--sql-type', help=u"""""")
@cli_util.option('--user-name', help=u"""The database user name used to execute the SQL job. If the job is being executed on a Managed Database Group, then the user name should exist on all the databases in the group with the same password.""")
@cli_util.option('--password', help=u"""The password for the database user name used to execute the SQL job.""")
-@cli_util.option('--secret-id', help=u"""The [OCID] of the secret containing the user password.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the secret containing the user password.""")
@cli_util.option('--named-credential-id', help=u"""The [OCID] of the Named Credentials containing password secret.""")
@cli_util.option('--role', help=u"""The role of the database user. Indicates whether the database user is a normal user or sysdba.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3585,7 +3585,7 @@ def create_job_create_sql_job_details(ctx, from_json, wait_for_state, max_wait_s
@job_group.command(name=cli_util.override('db_management.create_job_object_storage_job_execution_result_location.command_name', 'create-job-object-storage-job-execution-result-location'), help=u"""Creates a job to be executed on a Managed Database or Managed Database Group. Only one of the parameters, managedDatabaseId or managedDatabaseGroupId should be provided as input in CreateJobDetails resource in request body. \n[Command Reference](createJob)""")
@cli_util.option('--name', required=True, help=u"""The name of the job. Valid characters are uppercase or lowercase letters, numbers, and \"_\". The name of the job cannot be modified. It must be unique in the compartment and must begin with an alphabetic character.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the job resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the job resides.""")
@cli_util.option('--schedule-type', required=True, help=u"""The schedule type of the job.""")
@cli_util.option('--description', help=u"""The description of the job.""")
@cli_util.option('--managed-database-group-id', help=u"""The [OCID] of the Managed Database Group where the job has to be executed.""")
@@ -3673,7 +3673,7 @@ def create_job_object_storage_job_execution_result_location(ctx, from_json, wait
@managed_database_group_group.command(name=cli_util.override('db_management.create_managed_database_group.command_name', 'create'), help=u"""Creates a Managed Database Group. The group does not contain any Managed Databases when it is created, and they must be added later. \n[Command Reference](createManagedDatabaseGroup)""")
@cli_util.option('--name', required=True, help=u"""The name of the Managed Database Group. Valid characters are uppercase or lowercase letters, numbers, and \"_\". The name of the Managed Database Group cannot be modified. It must be unique in the compartment and must begin with an alphabetic character.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the Managed Database Group resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the Managed Database Group resides.""")
@cli_util.option('--description', help=u"""The information specified by the user about the Managed Database Group.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3739,7 +3739,7 @@ def create_managed_database_group(ctx, from_json, wait_for_state, max_wait_secon
@cli_util.option('--scope', required=True, type=custom_types.CliCaseInsensitiveChoice(["RESOURCE", "GLOBAL"]), help=u"""The scope of the named credential.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_DB"]), help=u"""The type of resource associated with the named credential.""")
@cli_util.option('--content', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the named credential resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the named credential resides.""")
@cli_util.option('--description', help=u"""The information specified by the user about the named credential.""")
@cli_util.option('--associated-resource', help=u"""The [OCID] of the resource that is associated to the named credential.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3811,7 +3811,7 @@ def create_named_credential(ctx, from_json, wait_for_state, max_wait_seconds, wa
@cli_util.option('--name', required=True, help=u"""The name of the named credential. Valid characters are uppercase or lowercase letters, numbers, and \"_\". The name of the named credential cannot be modified. It must be unique in the compartment and must begin with an alphabetic character.""")
@cli_util.option('--scope', required=True, type=custom_types.CliCaseInsensitiveChoice(["RESOURCE", "GLOBAL"]), help=u"""The scope of the named credential.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_DB"]), help=u"""The type of resource associated with the named credential.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the named credential resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the named credential resides.""")
@cli_util.option('--content-user-name', required=True, help=u"""The user name used to connect to the database.""")
@cli_util.option('--content-role', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "SYSDBA", "SYSDG"]), help=u"""The role of the database user.""")
@cli_util.option('--content-password-secret-id', required=True, help=u"""The [OCID] of the Vault service secret that contains the database user password.""")
@@ -5356,7 +5356,7 @@ def disable_automatic_spm_evolve_advisor_task_database_password_credential_detai
@managed_database_group.command(name=cli_util.override('db_management.disable_autonomous_database_management_feature.command_name', 'disable-autonomous-database-management-feature'), help=u"""Disables a Database Management feature for the specified Autonomous Database. \n[Command Reference](disableAutonomousDatabaseManagementFeature)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous Database.""")
@cli_util.option('--feature', required=True, type=custom_types.CliCaseInsensitiveChoice(["DIAGNOSTICS_AND_MANAGEMENT", "DB_LIFECYCLE_MANAGEMENT", "SQLWATCH"]), help=u"""The name of the Database Management feature.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -5527,7 +5527,7 @@ def disable_cloud_db_system_stack_monitoring(ctx, from_json, wait_for_state, max
@managed_database_group.command(name=cli_util.override('db_management.disable_database_management_feature.command_name', 'disable-database-management-feature'), help=u"""Disables a Database Management feature for the specified Oracle cloud database. \n[Command Reference](disableDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature', required=True, type=custom_types.CliCaseInsensitiveChoice(["DIAGNOSTICS_AND_MANAGEMENT", "DB_LIFECYCLE_MANAGEMENT", "SQLWATCH"]), help=u"""The name of the Database Management feature.""")
@cli_util.option('--can-disable-all-pdbs', type=click.BOOL, help=u"""Indicates whether Diagnostics & Management should be disabled for the pluggable databases before disabling it for the container database.""")
@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.""")
@@ -6562,7 +6562,7 @@ def disable_sql_plan_baselines_usage_database_password_credential_details(ctx, f
- Exadata storage servers from each DB systems - Exadata storage grid for all Exadata storage servers - Exadata infrastructure
The same API covers both new discovery and rediscovery cases. For the new discovery case, new managed resources/sub-resources are created or the existing ones are overridden. For rediscovery case, the existing managed resources/sub-resources are checked to find out which ones should be added or which ones should be removed based on the unique key defined for each resource/sub-resource. \n[Command Reference](discoverExternalExadataInfrastructure)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--discovery-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["NEW", "OVERRIDE"]), help=u"""The type of discovery.""")
@cli_util.option('--db-system-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of the DB system identifiers.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--exadata-infrastructure-id', help=u"""The [OCID] of the Exadata infrastructure. This is applicable for rediscovery only.""")
@@ -7726,7 +7726,7 @@ def enable_automatic_spm_evolve_advisor_task_database_password_credential_detail
@managed_database_group.command(name=cli_util.override('db_management.enable_autonomous_database_management_feature.command_name', 'enable-autonomous-database-management-feature'), help=u"""Enables a Database Management feature for the specified Autonomous Database. \n[Command Reference](enableAutonomousDatabaseManagementFeature)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous Database.""")
@cli_util.option('--feature-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -7787,7 +7787,7 @@ def enable_autonomous_database_management_feature(ctx, from_json, wait_for_state
@managed_database_group.command(name=cli_util.override('db_management.enable_autonomous_database_management_feature_autonomous_database_sql_watch_feature_details.command_name', 'enable-autonomous-database-management-feature-autonomous-database-sql-watch-feature-details'), help=u"""Enables a Database Management feature for the specified Autonomous Database. \n[Command Reference](enableAutonomousDatabaseManagementFeature)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--feature-details-connector-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7855,7 +7855,7 @@ def enable_autonomous_database_management_feature_autonomous_database_sql_watch_
@managed_database_group.command(name=cli_util.override('db_management.enable_autonomous_database_management_feature_autonomous_database_diagnostics_and_management_feature_details.command_name', 'enable-autonomous-database-management-feature-autonomous-database-diagnostics-and-management-feature-details'), help=u"""Enables a Database Management feature for the specified Autonomous Database. \n[Command Reference](enableAutonomousDatabaseManagementFeature)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--feature-details-connector-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -8053,7 +8053,7 @@ def enable_cloud_db_system_stack_monitoring(ctx, from_json, wait_for_state, max_
@managed_database_group.command(name=cli_util.override('db_management.enable_database_management_feature.command_name', 'enable-database-management-feature'), help=u"""Enables a Database Management feature for the specified cloud database. \n[Command Reference](enableDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -8114,7 +8114,7 @@ def enable_database_management_feature(ctx, from_json, wait_for_state, max_wait_
@managed_database_group.command(name=cli_util.override('db_management.enable_database_management_feature_database_diagnostics_and_management_feature_details.command_name', 'enable-database-management-feature-database-diagnostics-and-management-feature-details'), help=u"""Enables a Database Management feature for the specified cloud database. \n[Command Reference](enableDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-management-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["BASIC", "ADVANCED"]), help=u"""The management type for the database. Use \"BASIC\" for basic management. Use \"ADVANCED\" for full management.""")
@@ -8190,7 +8190,7 @@ def enable_database_management_feature_database_diagnostics_and_management_featu
@managed_database_group.command(name=cli_util.override('db_management.enable_database_management_feature_database_lifecycle_management_feature_details.command_name', 'enable-database-management-feature-database-lifecycle-management-feature-details'), help=u"""Enables a Database Management feature for the specified cloud database. \n[Command Reference](enableDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -8256,7 +8256,7 @@ def enable_database_management_feature_database_lifecycle_management_feature_det
@managed_database_group.command(name=cli_util.override('db_management.enable_database_management_feature_database_sql_watch_feature_details.command_name', 'enable-database-management-feature-database-sql-watch-feature-details'), help=u"""Enables a Database Management feature for the specified cloud database. \n[Command Reference](enableDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -10549,7 +10549,7 @@ def get_cluster_cache_metric(ctx, from_json, managed_database_id, start_time, en
@cli_util.option('--start-time', required=True, help=u"""The start time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--end-time', required=True, help=u"""The end time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--managed-database-group-id', help=u"""The [OCID] of the Managed Database Group.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--filter-by-metric-names', help=u"""The filter used to retrieve a specific set of metrics by passing the desired metric names with a comma separator. Note that, by default, the service returns all supported metrics.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -10602,7 +10602,7 @@ def get_database_fleet_backup_metrics(ctx, from_json, database_hosted_in, start_
@database_fleet_dataguard_metrics_group.command(name=cli_util.override('db_management.get_database_fleet_dataguard_metrics.command_name', 'get'), help=u"""Gets the fleet of Oracle Data Guard-enabled container databases (CDBs) along with Data Guard metrics and standby databases, in a compartment or Database Group. Either the CompartmentId or the ManagedDatabaseGroupId query parameters must be provided to retrieve the list of databases and Data Guard metrics. \n[Command Reference](getDatabaseFleetDataguardMetrics)""")
@cli_util.option('--managed-database-group-id', help=u"""The [OCID] of the Managed Database Group.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--filter-by-metric-names', help=u"""The filter used to retrieve a specific set of metrics by passing the desired metric names with a comma separator. Note that, by default, the service returns all supported metrics.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -10652,7 +10652,7 @@ def get_database_fleet_dataguard_metrics(ctx, from_json, managed_database_group_
@database_fleet_ha_overview_metrics_group.command(name=cli_util.override('db_management.get_database_fleet_ha_overview_metrics.command_name', 'get'), help=u"""Gets the fleet of container databases (CDBs) and their HA and backup metrics in a compartment or in a Database Group. Either the CompartmentId or the ManagedDatabaseGroupId query parameters must be provided to retrieve the HA and backup metrics. \n[Command Reference](getDatabaseFleetHaOverviewMetrics)""")
@cli_util.option('--managed-database-group-id', help=u"""The [OCID] of the Managed Database Group.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--filter-by-metric-names', help=u"""The filter used to retrieve a specific set of metrics by passing the desired metric names with a comma separator. Note that, by default, the service returns all supported metrics.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -10704,7 +10704,7 @@ def get_database_fleet_ha_overview_metrics(ctx, from_json, managed_database_grou
@cli_util.option('--compare-baseline-time', required=True, help=u"""The baseline time for metrics comparison.""")
@cli_util.option('--compare-target-time', required=True, help=u"""The target time for metrics comparison.""")
@cli_util.option('--managed-database-group-id', help=u"""The [OCID] of the Managed Database Group.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compare-type', type=custom_types.CliCaseInsensitiveChoice(["HOUR", "DAY", "WEEK"]), help=u"""The time window used for metrics comparison.""")
@cli_util.option('--filter-by-metric-names', help=u"""The filter used to retrieve a specific set of metrics by passing the desired metric names with a comma separator. Note that, by default, the service returns all supported metrics.""")
@cli_util.option('--filter-by-database-type', help=u"""The filter used to filter the databases in the fleet by a specific Oracle Database type.""")
@@ -11522,7 +11522,7 @@ def get_optimizer_statistics_collection_operation(ctx, from_json, managed_databa
@cli_util.option('--managed-database-id', required=True, help=u"""The [OCID] of the Managed Database.""")
@cli_util.option('--start-time', required=True, help=u"""The start time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--end-time', required=True, help=u"""The end time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compare-type', type=custom_types.CliCaseInsensitiveChoice(["HOUR", "DAY", "WEEK"]), help=u"""The time window used for metrics comparison.""")
@cli_util.option('--filter-by-metric-names', help=u"""The filter used to retrieve a specific set of metrics by passing the desired metric names with a comma separator. Note that, by default, the service returns all supported metrics.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -11871,7 +11871,7 @@ def list_asm_properties(ctx, from_json, all_pages, page_size, managed_database_i
@associated_database_summary_group.command(name=cli_util.override('db_management.list_associated_databases.command_name', 'list-associated-databases'), help=u"""Gets the list of databases using a specific Database Management private endpoint. \n[Command Reference](listAssociatedDatabases)""")
@cli_util.option('--db-management-private-endpoint-id', required=True, help=u"""The [OCID] of the Database Management private endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The option to sort information in ascending (\u2018ASC\u2019) or descending (\u2018DESC\u2019) order. Ascending order is the default order.""")
@@ -12145,7 +12145,7 @@ def list_cloud_asm_disk_groups(ctx, from_json, all_pages, page_size, cloud_asm_i
@cloud_asm_instance_group.command(name=cli_util.override('db_management.list_cloud_asm_instances.command_name', 'list'), help=u"""Lists the ASM instances in the specified cloud ASM. \n[Command Reference](listCloudAsmInstances)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-asm-id', help=u"""The [OCID] of the cloud ASM.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -12264,7 +12264,7 @@ def list_cloud_asm_users(ctx, from_json, all_pages, page_size, cloud_asm_id, pag
@cloud_asm_group.command(name=cli_util.override('db_management.list_cloud_asms.command_name', 'list'), help=u"""Lists the ASMs in the specified cloud DB system. \n[Command Reference](listCloudAsms)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-db-system-id', help=u"""The [OCID] of the cloud DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -12323,7 +12323,7 @@ def list_cloud_asms(ctx, from_json, all_pages, page_size, compartment_id, cloud_
@cloud_cluster_instance_group.command(name=cli_util.override('db_management.list_cloud_cluster_instances.command_name', 'list'), help=u"""Lists the cluster instances in the specified cloud cluster. \n[Command Reference](listCloudClusterInstances)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-cluster-id', help=u"""The [OCID] of the cloud cluster.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -12382,7 +12382,7 @@ def list_cloud_cluster_instances(ctx, from_json, all_pages, page_size, compartme
@cloud_cluster_group.command(name=cli_util.override('db_management.list_cloud_clusters.command_name', 'list'), help=u"""Lists the clusters in the specified cloud DB system. \n[Command Reference](listCloudClusters)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-db-system-id', help=u"""The [OCID] of the cloud DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -12442,7 +12442,7 @@ def list_cloud_clusters(ctx, from_json, all_pages, page_size, compartment_id, cl
@cloud_database_collection_group.command(name=cli_util.override('db_management.list_cloud_databases.command_name', 'list-cloud-databases'), help=u"""Lists the cloud databases in the specified compartment or in the specified DB system. \n[Command Reference](listCloudDatabases)""")
@cli_util.option('--cloud-db-system-id', required=True, help=u"""The [OCID] of the cloud DB system.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -12501,7 +12501,7 @@ def list_cloud_databases(ctx, from_json, all_pages, page_size, cloud_db_system_i
@cloud_db_home_group.command(name=cli_util.override('db_management.list_cloud_db_homes.command_name', 'list'), help=u"""Lists the DB homes in the specified cloud DB system. \n[Command Reference](listCloudDbHomes)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-db-system-id', help=u"""The [OCID] of the cloud DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -12560,7 +12560,7 @@ def list_cloud_db_homes(ctx, from_json, all_pages, page_size, compartment_id, cl
@cloud_db_node_group.command(name=cli_util.override('db_management.list_cloud_db_nodes.command_name', 'list'), help=u"""Lists the cloud DB nodes in the specified cloud DB system. \n[Command Reference](listCloudDbNodes)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-db-system-id', help=u"""The [OCID] of the cloud DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -12619,7 +12619,7 @@ def list_cloud_db_nodes(ctx, from_json, all_pages, page_size, compartment_id, cl
@cloud_db_system_connector_group.command(name=cli_util.override('db_management.list_cloud_db_system_connectors.command_name', 'list'), help=u"""Lists the cloud connectors in the specified cloud DB system. \n[Command Reference](listCloudDbSystemConnectors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-db-system-id', help=u"""The [OCID] of the cloud DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -12678,7 +12678,7 @@ def list_cloud_db_system_connectors(ctx, from_json, all_pages, page_size, compar
@cloud_db_system_discovery_group.command(name=cli_util.override('db_management.list_cloud_db_system_discoveries.command_name', 'list'), help=u"""Lists the cloud DB system discovery resources in the specified compartment. \n[Command Reference](listCloudDbSystemDiscoveries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -12735,7 +12735,7 @@ def list_cloud_db_system_discoveries(ctx, from_json, all_pages, page_size, compa
@cloud_db_system_group.command(name=cli_util.override('db_management.list_cloud_db_systems.command_name', 'list'), help=u"""Lists the cloud DB systems in the specified compartment. \n[Command Reference](listCloudDbSystems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--dbaas-parent-infrastructure-id', help=u"""The [OCID] of the dbaas parent infrastructure of the cloud DB system.""")
@cli_util.option('--deployment-type', type=custom_types.CliCaseInsensitiveChoice(["VM", "EXADATA", "EXADATA_CC", "EXADATA_XS"]), help=u"""A filter to return cloud DB systems of the specified deployment type.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@@ -12865,7 +12865,7 @@ def list_cloud_listener_services(ctx, from_json, all_pages, page_size, cloud_lis
@cloud_listener_group.command(name=cli_util.override('db_management.list_cloud_listeners.command_name', 'list'), help=u"""Lists the listeners in the specified cloud DB system. \n[Command Reference](listCloudListeners)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--cloud-db-system-id', help=u"""The [OCID] of the cloud DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13168,9 +13168,9 @@ def list_database_parameters(ctx, from_json, all_pages, managed_database_id, sou
@db_management_private_endpoint_group.command(name=cli_util.override('db_management.list_db_management_private_endpoints.command_name', 'list'), help=u"""Gets a list of Database Management private endpoints. \n[Command Reference](listDbManagementPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--is-cluster', type=click.BOOL, help=u"""The option to filter Database Management private endpoints that can used for Oracle Databases in a cluster. This should be used along with the vcnId query parameter.""")
@cli_util.option('--is-dns-resolution-enabled', type=click.BOOL, help=u"""The option to filter Database Management private endpoints which are endbled with DNS proxy server. This should be used along with the vcnId query parameter. Only one of this parameter and IsClusterDbManagementPrivateEndpointQueryParam should be set to true at one time.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The lifecycle state of a resource.""")
@@ -13297,7 +13297,7 @@ def list_external_asm_disk_groups(ctx, from_json, all_pages, page_size, external
@external_asm_instance_group.command(name=cli_util.override('db_management.list_external_asm_instances.command_name', 'list'), help=u"""Lists the ASM instances in the specified external ASM. \n[Command Reference](listExternalAsmInstances)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-asm-id', help=u"""The [OCID] of the external ASM.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13416,7 +13416,7 @@ def list_external_asm_users(ctx, from_json, all_pages, page_size, external_asm_i
@external_asm_group.command(name=cli_util.override('db_management.list_external_asms.command_name', 'list'), help=u"""Lists the ASMs in the specified external DB system. \n[Command Reference](listExternalAsms)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-db-system-id', help=u"""The [OCID] of the external DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13475,7 +13475,7 @@ def list_external_asms(ctx, from_json, all_pages, page_size, compartment_id, ext
@external_cluster_instance_group.command(name=cli_util.override('db_management.list_external_cluster_instances.command_name', 'list'), help=u"""Lists the cluster instances in the specified external cluster. \n[Command Reference](listExternalClusterInstances)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-cluster-id', help=u"""The [OCID] of the external cluster.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13534,7 +13534,7 @@ def list_external_cluster_instances(ctx, from_json, all_pages, page_size, compar
@external_cluster_group.command(name=cli_util.override('db_management.list_external_clusters.command_name', 'list'), help=u"""Lists the clusters in the specified external DB system. \n[Command Reference](listExternalClusters)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-db-system-id', help=u"""The [OCID] of the external DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13593,7 +13593,7 @@ def list_external_clusters(ctx, from_json, all_pages, page_size, compartment_id,
@external_database_collection_group.command(name=cli_util.override('db_management.list_external_databases.command_name', 'list-external-databases'), help=u"""Lists the external databases in the specified compartment or in the specified DB system. \n[Command Reference](listExternalDatabases)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-db-system-id', help=u"""The [OCID] of the external DB system.""")
@cli_util.option('--external-database-id', help=u"""The [OCID] of the external database.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@@ -13655,7 +13655,7 @@ def list_external_databases(ctx, from_json, all_pages, page_size, compartment_id
@external_db_home_group.command(name=cli_util.override('db_management.list_external_db_homes.command_name', 'list'), help=u"""Lists the DB homes in the specified external DB system. \n[Command Reference](listExternalDbHomes)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-db-system-id', help=u"""The [OCID] of the external DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13714,7 +13714,7 @@ def list_external_db_homes(ctx, from_json, all_pages, page_size, compartment_id,
@external_db_node_group.command(name=cli_util.override('db_management.list_external_db_nodes.command_name', 'list'), help=u"""Lists the external DB nodes in the specified external DB system. \n[Command Reference](listExternalDbNodes)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-db-system-id', help=u"""The [OCID] of the external DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13773,7 +13773,7 @@ def list_external_db_nodes(ctx, from_json, all_pages, page_size, compartment_id,
@external_db_system_connector_group.command(name=cli_util.override('db_management.list_external_db_system_connectors.command_name', 'list'), help=u"""Lists the external connectors in the specified external DB system. \n[Command Reference](listExternalDbSystemConnectors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-db-system-id', help=u"""The [OCID] of the external DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -13832,7 +13832,7 @@ def list_external_db_system_connectors(ctx, from_json, all_pages, page_size, com
@external_db_system_discovery_group.command(name=cli_util.override('db_management.list_external_db_system_discoveries.command_name', 'list'), help=u"""Lists the external DB system discovery resources in the specified compartment. \n[Command Reference](listExternalDbSystemDiscoveries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -13889,7 +13889,7 @@ def list_external_db_system_discoveries(ctx, from_json, all_pages, page_size, co
@external_db_system_group.command(name=cli_util.override('db_management.list_external_db_systems.command_name', 'list'), help=u"""Lists the external DB systems in the specified compartment. \n[Command Reference](listExternalDbSystems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -13946,7 +13946,7 @@ def list_external_db_systems(ctx, from_json, all_pages, page_size, compartment_i
@external_exadata_infrastructure_group.command(name=cli_util.override('db_management.list_external_exadata_infrastructures.command_name', 'list'), help=u"""Lists the Exadata infrastructure resources in the specified compartment. \n[Command Reference](listExternalExadataInfrastructures)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""The optional single value query filter parameter on the entity display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -14003,7 +14003,7 @@ def list_external_exadata_infrastructures(ctx, from_json, all_pages, page_size,
@external_exadata_storage_connector_group.command(name=cli_util.override('db_management.list_external_exadata_storage_connectors.command_name', 'list'), help=u"""Lists the Exadata storage server connectors for the specified Exadata infrastructure. \n[Command Reference](listExternalExadataStorageConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-exadata-infrastructure-id', required=True, help=u"""The [OCID] of the Exadata infrastructure.""")
@cli_util.option('--display-name', help=u"""The optional single value query filter parameter on the entity display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -14064,7 +14064,7 @@ def list_external_exadata_storage_connectors(ctx, from_json, all_pages, page_siz
@external_exadata_storage_server_group.command(name=cli_util.override('db_management.list_external_exadata_storage_servers.command_name', 'list'), help=u"""Lists the Exadata storage servers for the specified Exadata infrastructure. \n[Command Reference](listExternalExadataStorageServers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-exadata-infrastructure-id', required=True, help=u"""The [OCID] of the Exadata infrastructure.""")
@cli_util.option('--display-name', help=u"""The optional single value query filter parameter on the entity display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -14189,7 +14189,7 @@ def list_external_listener_services(ctx, from_json, all_pages, page_size, extern
@external_listener_group.command(name=cli_util.override('db_management.list_external_listeners.command_name', 'list'), help=u"""Lists the listeners in the specified external DB system. \n[Command Reference](listExternalListeners)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-db-system-id', help=u"""The [OCID] of the external DB system.""")
@cli_util.option('--display-name', help=u"""A filter to only return the resources that match the entire display name.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -14248,7 +14248,7 @@ def list_external_listeners(ctx, from_json, all_pages, page_size, compartment_id
@external_my_sql_database_collection_group.command(name=cli_util.override('db_management.list_external_my_sql_databases.command_name', 'list-external-my-sql-databases'), help=u"""Gets the list of External MySQL Databases. \n[Command Reference](listExternalMySqlDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--name', help=u"""The parameter to filter by MySQL Database System type.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@@ -14305,7 +14305,7 @@ def list_external_my_sql_databases(ctx, from_json, all_pages, page_size, compart
@job_execution_group.command(name=cli_util.override('db_management.list_job_executions.command_name', 'list'), help=u"""Gets the job execution for a specific ID or the list of job executions for a job, job run, Managed Database or Managed Database Group in a specific compartment. Only one of the parameters, ID, jobId, jobRunId, managedDatabaseId or managedDatabaseGroupId should be provided. If none of these parameters is provided, all the job executions in the compartment are listed. Job executions can also be filtered based on the name and status parameters. \n[Command Reference](listJobExecutions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""The identifier of the resource.""")
@cli_util.option('--job-id', help=u"""The identifier of the job.""")
@cli_util.option('--managed-database-id', help=u"""The [OCID] of the Managed Database.""")
@@ -14380,7 +14380,7 @@ def list_job_executions(ctx, from_json, all_pages, page_size, compartment_id, id
@job_run_group.command(name=cli_util.override('db_management.list_job_runs.command_name', 'list'), help=u"""Gets the job run for a specific ID or the list of job runs for a job, Managed Database or Managed Database Group in a specific compartment. Only one of the parameters, ID, jobId, managedDatabaseId, or managedDatabaseGroupId should be provided. If none of these parameters is provided, all the job runs in the compartment are listed. Job runs can also be filtered based on name and runStatus parameters. \n[Command Reference](listJobRuns)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""The identifier of the resource.""")
@cli_util.option('--job-id', help=u"""The identifier of the job.""")
@cli_util.option('--managed-database-id', help=u"""The [OCID] of the Managed Database.""")
@@ -14452,7 +14452,7 @@ def list_job_runs(ctx, from_json, all_pages, page_size, compartment_id, id, job_
@job_group.command(name=cli_util.override('db_management.list_jobs.command_name', 'list'), help=u"""Gets the job for a specific ID or the list of jobs for a Managed Database or Managed Database Group in a specific compartment. Only one of the parameters, ID, managedDatabaseId or managedDatabaseGroupId, should be provided. If none of these parameters is provided, all the jobs in the compartment are listed. Jobs can also be filtered based on the name and lifecycleState parameters. \n[Command Reference](listJobs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""The identifier of the resource.""")
@cli_util.option('--managed-database-group-id', help=u"""The [OCID] of the Managed Database Group.""")
@cli_util.option('--managed-database-id', help=u"""The [OCID] of the Managed Database.""")
@@ -14521,7 +14521,7 @@ def list_jobs(ctx, from_json, all_pages, page_size, compartment_id, id, managed_
@managed_database_group_group.command(name=cli_util.override('db_management.list_managed_database_groups.command_name', 'list'), help=u"""Gets the Managed Database Group for a specific ID or the list of Managed Database Groups in a specific compartment. Managed Database Groups can also be filtered based on the name parameter. Only one of the parameters, ID or name should be provided. If none of these parameters is provided, all the Managed Database Groups in the compartment are listed. \n[Command Reference](listManagedDatabaseGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""The identifier of the resource.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The lifecycle state of a resource.""")
@@ -14584,7 +14584,7 @@ def list_managed_database_groups(ctx, from_json, all_pages, page_size, compartme
@managed_database_group.command(name=cli_util.override('db_management.list_managed_databases.command_name', 'list'), help=u"""Gets the Managed Database for a specific ID or the list of Managed Databases in a specific compartment. Managed Databases can be filtered based on the name parameter. Only one of the parameters, ID or name should be provided. If neither of these parameters is provided, all the Managed Databases in the compartment are listed. Managed Databases can also be filtered based on the deployment type and management option. If the deployment type is not specified or if it is `ONPREMISE`, then the management option is not considered and Managed Databases with `ADVANCED` management option are listed. \n[Command Reference](listManagedDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""The identifier of the resource.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name.""")
@cli_util.option('--management-option', type=custom_types.CliCaseInsensitiveChoice(["BASIC", "ADVANCED"]), help=u"""A filter to return Managed Databases with the specified management option.""")
@@ -14653,7 +14653,7 @@ def list_managed_databases(ctx, from_json, all_pages, page_size, compartment_id,
@my_sql_connector_collection_group.command(name=cli_util.override('db_management.list_my_sql_database_connectors.command_name', 'list-my-sql-database-connectors'), help=u"""Gets the list of External MySQL Database connectors. \n[Command Reference](listMySqlDatabaseConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--external-database-id', help=u"""The [OCID] of the external database.""")
@cli_util.option('--name', help=u"""The parameter to filter by MySQL Database System type.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@@ -14713,7 +14713,7 @@ def list_my_sql_database_connectors(ctx, from_json, all_pages, page_size, compar
@named_credential_group.command(name=cli_util.override('db_management.list_named_credentials.command_name', 'list'), help=u"""Gets a single named credential specified by the name or all the named credentials in a specific compartment. \n[Command Reference](listNamedCredentials)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--associated-resource', help=u"""The resource associated to the named credential.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["ORACLE_DB"]), help=u"""The type of database that is associated to the named credential.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["RESOURCE", "GLOBAL"]), help=u"""The scope of named credential.""")
@@ -15751,7 +15751,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('db_management.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a specific compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter that returns the resources whose status matches the given WorkRequestStatus.""")
@@ -16652,7 +16652,7 @@ def load_sql_plan_baselines_from_cursor_cache_database_password_credential_detai
@managed_database_group.command(name=cli_util.override('db_management.modify_autonomous_database_management_feature.command_name', 'modify-autonomous-database-management-feature'), help=u"""Modifies the Database Management feature for the specified Autonomous Database. \n[Command Reference](modifyAutonomousDatabaseManagementFeature)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous Database.""")
@cli_util.option('--feature-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -16713,7 +16713,7 @@ def modify_autonomous_database_management_feature(ctx, from_json, wait_for_state
@managed_database_group.command(name=cli_util.override('db_management.modify_autonomous_database_management_feature_autonomous_database_sql_watch_feature_details.command_name', 'modify-autonomous-database-management-feature-autonomous-database-sql-watch-feature-details'), help=u"""Modifies the Database Management feature for the specified Autonomous Database. \n[Command Reference](modifyAutonomousDatabaseManagementFeature)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--feature-details-connector-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -16781,7 +16781,7 @@ def modify_autonomous_database_management_feature_autonomous_database_sql_watch_
@managed_database_group.command(name=cli_util.override('db_management.modify_autonomous_database_management_feature_autonomous_database_diagnostics_and_management_feature_details.command_name', 'modify-autonomous-database-management-feature-autonomous-database-diagnostics-and-management-feature-details'), help=u"""Modifies the Database Management feature for the specified Autonomous Database. \n[Command Reference](modifyAutonomousDatabaseManagementFeature)""")
-@cli_util.option('--autonomous-database-id', required=True, help=u"""The [OCID] of the Autonomous Database.""")
+@cli_util.option('--autonomous-database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Autonomous Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--feature-details-connector-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -16849,7 +16849,7 @@ def modify_autonomous_database_management_feature_autonomous_database_diagnostic
@managed_database_group.command(name=cli_util.override('db_management.modify_database_management_feature.command_name', 'modify-database-management-feature'), help=u"""Modifies a Database Management feature for the specified Oracle cloud database. \n[Command Reference](modifyDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -16910,7 +16910,7 @@ def modify_database_management_feature(ctx, from_json, wait_for_state, max_wait_
@managed_database_group.command(name=cli_util.override('db_management.modify_database_management_feature_database_diagnostics_and_management_feature_details.command_name', 'modify-database-management-feature-database-diagnostics-and-management-feature-details'), help=u"""Modifies a Database Management feature for the specified Oracle cloud database. \n[Command Reference](modifyDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-management-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["BASIC", "ADVANCED"]), help=u"""The management type for the database. Use \"BASIC\" for basic management. Use \"ADVANCED\" for full management.""")
@@ -16986,7 +16986,7 @@ def modify_database_management_feature_database_diagnostics_and_management_featu
@managed_database_group.command(name=cli_util.override('db_management.modify_database_management_feature_database_lifecycle_management_feature_details.command_name', 'modify-database-management-feature-database-lifecycle-management-feature-details'), help=u"""Modifies a Database Management feature for the specified Oracle cloud database. \n[Command Reference](modifyDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -17052,7 +17052,7 @@ def modify_database_management_feature_database_lifecycle_management_feature_det
@managed_database_group.command(name=cli_util.override('db_management.modify_database_management_feature_database_sql_watch_feature_details.command_name', 'modify-database-management-feature-database-sql-watch-feature-details'), help=u"""Modifies a Database Management feature for the specified Oracle cloud database. \n[Command Reference](modifyDatabaseManagementFeature)""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the Database.""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Database.""")
@cli_util.option('--feature-details-database-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--feature-details-connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -19249,7 +19249,7 @@ def summarize_external_listener_metrics(ctx, from_json, external_listener_id, st
@job_executions_status_summary_collection_group.command(name=cli_util.override('db_management.summarize_job_executions_statuses.command_name', 'summarize-job-executions-statuses'), help=u"""Gets the number of job executions grouped by status for a job, Managed Database, or Database Group in a specific compartment. Only one of the parameters, jobId, managedDatabaseId, or managedDatabaseGroupId should be provided. \n[Command Reference](summarizeJobExecutionsStatuses)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--start-time', required=True, help=u"""The start time of the time range to retrieve the status summary of job executions in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--end-time', required=True, help=u"""The end time of the time range to retrieve the status summary of job executions in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--id', help=u"""The identifier of the resource.""")
@@ -21126,7 +21126,7 @@ def update_external_db_system_discovery(ctx, from_json, force, wait_for_state, m
@external_exadata_infrastructure_group.command(name=cli_util.override('db_management.update_external_exadata_infrastructure.command_name', 'update'), help=u"""Updates the details for the Exadata infrastructure specified by externalExadataInfrastructureId. \n[Command Reference](updateExternalExadataInfrastructure)""")
@cli_util.option('--external-exadata-infrastructure-id', required=True, help=u"""The [OCID] of the Exadata infrastructure.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--discovery-key', help=u"""The unique key of the discovery request.""")
@cli_util.option('--license-model', type=custom_types.CliCaseInsensitiveChoice(["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]), help=u"""The Oracle license model that applies to the database management resources.""")
@cli_util.option('--display-name', help=u"""The name of the Exadata infrastructure.""")
@@ -21540,7 +21540,7 @@ def update_external_mysql_database(ctx, from_json, external_my_sql_database_id,
@external_my_sql_database_connector_group.command(name=cli_util.override('db_management.update_external_mysql_database_connector.command_name', 'update-external-mysql-database-connector'), help=u"""Updates the External Mysql Database Connector. \n[Command Reference](updateExternalMysqlDatabaseConnector)""")
@cli_util.option('--external-my-sql-database-connector-id', required=True, help=u"""The OCID of the External MySQL Database Connector.""")
@cli_util.option('--connector-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""OCID of compartment for the External MySQL Database.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""OCID of compartment for the External MySQL Database.""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -21699,7 +21699,7 @@ def update_job(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_int
@cli_util.option('--sql-type', help=u"""""")
@cli_util.option('--user-name', help=u"""The database user name used to execute the SQL job. If the job is being executed on a Managed Database Group, then the user name should exist on all the databases in the group with the same password.""")
@cli_util.option('--password', help=u"""The password for the database user name used to execute the SQL job.""")
-@cli_util.option('--secret-id', help=u"""The [OCID] of the secret containing the user password.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the secret containing the user password.""")
@cli_util.option('--named-credential-id', help=u"""The [OCID] of the Named Credentials containing password secret.""")
@cli_util.option('--role', help=u"""The role of the database user. Indicates whether the database user is a normal user or sysdba.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/database_management/src/oci_cli_managed_my_sql_databases/generated/managedmysqldatabases_cli.py b/services/database_management/src/oci_cli_managed_my_sql_databases/generated/managedmysqldatabases_cli.py
index c8c369b0..aedb570b 100644
--- a/services/database_management/src/oci_cli_managed_my_sql_databases/generated/managedmysqldatabases_cli.py
+++ b/services/database_management/src/oci_cli_managed_my_sql_databases/generated/managedmysqldatabases_cli.py
@@ -165,7 +165,7 @@ def get_general_replication_information(ctx, from_json, managed_my_sql_database_
@heat_wave_fleet_metrics_group.command(name=cli_util.override('managed_my_sql_databases.get_heat_wave_fleet_metric.command_name', 'get'), help=u"""Gets the health metrics for a fleet of HeatWave clusters in a compartment. \n[Command Reference](getHeatWaveFleetMetric)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--start-time', required=True, help=u"""The start time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--end-time', required=True, help=u"""The end time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--filter-by-metric-names', help=u"""The filter used to retrieve a specific set of metrics by passing the desired metric names with a comma separator. Note that, by default, the service returns all supported metrics.""")
@@ -222,7 +222,7 @@ def get_managed_my_sql_database(ctx, from_json, managed_my_sql_database_id):
@my_sql_fleet_metrics_group.command(name=cli_util.override('managed_my_sql_databases.get_my_sql_fleet_metric.command_name', 'get'), help=u"""Gets the health metrics for a fleet of MySQL Databases in a compartment. \n[Command Reference](getMySqlFleetMetric)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--start-time', required=True, help=u"""The start time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--end-time', required=True, help=u"""The end time of the time range to retrieve the health metrics of a Managed Database in UTC in ISO-8601 format, which is \"yyyy-MM-dd'T'hh:mm:ss.sss'Z'\".""")
@cli_util.option('--filter-by-metric-names', help=u"""The filter used to retrieve a specific set of metrics by passing the desired metric names with a comma separator. Note that, by default, the service returns all supported metrics.""")
@@ -529,7 +529,7 @@ def list_managed_my_sql_database_sql_data(ctx, from_json, all_pages, page_size,
@managed_my_sql_database_collection_group.command(name=cli_util.override('managed_my_sql_databases.list_managed_my_sql_databases.command_name', 'list-managed-my-sql-databases'), help=u"""Gets the list of Managed MySQL Databases in a specific compartment. \n[Command Reference](listManagedMySqlDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--page', help=u"""The page token representing the page from where the next set of paginated results are retrieved. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of records returned in the paginated response.""")
@cli_util.option('--filter-by-my-sql-database-type-param', type=custom_types.CliCaseInsensitiveChoice(["EXTERNAL", "MDS"]), help=u"""The parameter to filter by MySQL database type. Allowed values are EXTERNAL or MDS.""")
diff --git a/services/database_migration/src/oci_cli_database_migration/generated/databasemigration_cli.py b/services/database_migration/src/oci_cli_database_migration/generated/databasemigration_cli.py
index 87f22b6f..8ab8de48 100644
--- a/services/database_migration/src/oci_cli_database_migration/generated/databasemigration_cli.py
+++ b/services/database_migration/src/oci_cli_database_migration/generated/databasemigration_cli.py
@@ -287,7 +287,7 @@ def add_migration_objects_oracle_migration_object_collection(ctx, from_json, mig
@connection_group.command(name=cli_util.override('database_migration.change_connection_compartment.command_name', 'change-compartment'), help=u"""Used to change the Database Connection compartment. \n[Command Reference](changeConnectionCompartment)""")
@cli_util.option('--connection-id', required=True, help=u"""The OCID of the database connection.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -318,7 +318,7 @@ def change_connection_compartment(ctx, from_json, connection_id, compartment_id,
@migration_group.command(name=cli_util.override('database_migration.change_migration_compartment.command_name', 'change-compartment'), help=u"""Used to change the Migration compartment. \n[Command Reference](changeMigrationCompartment)""")
@cli_util.option('--migration-id', required=True, help=u"""The OCID of the migration""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the resource being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the resource being referenced.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -353,7 +353,7 @@ def change_migration_compartment(ctx, from_json, migration_id, compartment_id, i
@cli_util.option('--source-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--target-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@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.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the resource being referenced.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the resource being referenced.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -433,7 +433,7 @@ def clone_migration(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--source-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--target-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@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.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the resource being referenced.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the resource being referenced.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-container-database-connection-id', help=u"""The OCID of the resource being referenced.""")
@@ -522,7 +522,7 @@ def clone_migration_oracle_clone_migration_details(ctx, from_json, wait_for_stat
@cli_util.option('--source-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--target-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@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.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the resource being referenced.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the resource being referenced.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -691,15 +691,15 @@ def connection_diagnostics(ctx, from_json, connection_id, if_match):
@connection_group.command(name=cli_util.override('database_migration.create_connection.command_name', 'create'), help=u"""Create a Database Connection resource that contains the details to connect to either a Source or Target Database in the migration. \n[Command Reference](createConnection)""")
@cli_util.option('--connection-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["MYSQL", "ORACLE"]), help=u"""Defines the type of connection. For example, ORACLE.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--vault-id', required=True, help=u"""OCI resource ID.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key used in cryptographic operations.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key used in cryptographic operations.""")
@cli_util.option('--username', required=True, help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--password', required=True, help=u"""The password (credential) used when creating or updating this resource.""")
@cli_util.option('--description', help=u"""A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""OCI resource ID.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--replication-username', help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--replication-password', help=u"""The password (credential) used when creating or updating this resource.""")
@@ -783,9 +783,9 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@connection_group.command(name=cli_util.override('database_migration.create_connection_create_mysql_connection_details.command_name', 'create-connection-create-mysql-connection-details'), help=u"""Create a Database Connection resource that contains the details to connect to either a Source or Target Database in the migration. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--vault-id', required=True, help=u"""OCI resource ID.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key used in cryptographic operations.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key used in cryptographic operations.""")
@cli_util.option('--username', required=True, help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--password', required=True, help=u"""The password (credential) used when creating or updating this resource.""")
@cli_util.option('--technology-type', required=True, help=u"""The type of MySQL source or target connection. Example: OCI_MYSQL represents OCI MySQL HeatWave Database Service""")
@@ -794,7 +794,7 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@cli_util.option('--description', help=u"""A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""OCI resource ID.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--replication-username', help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--replication-password', help=u"""The password (credential) used when creating or updating this resource.""")
@@ -808,7 +808,7 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@cli_util.option('--additional-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of name-value pair attribute entries.
This option is a JSON list with items of type NameValuePair. For documentation on NameValuePair please see our API reference: https://docs.cloud.oracle.com/api/#/en/databasemigration/20230518/datatypes/NameValuePair.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--db-system-id', help=u"""The OCID of the database system being referenced.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The OCID of the database system being referenced.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@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.""")
@@ -920,22 +920,22 @@ def create_connection_create_mysql_connection_details(ctx, from_json, wait_for_s
@connection_group.command(name=cli_util.override('database_migration.create_connection_create_oracle_connection_details.command_name', 'create-connection-create-oracle-connection-details'), help=u"""Create a Database Connection resource that contains the details to connect to either a Source or Target Database in the migration. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--vault-id', required=True, help=u"""OCI resource ID.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key used in cryptographic operations.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key used in cryptographic operations.""")
@cli_util.option('--username', required=True, help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--password', required=True, help=u"""The password (credential) used when creating or updating this resource.""")
@cli_util.option('--technology-type', required=True, help=u"""The Oracle technology type.""")
@cli_util.option('--description', help=u"""A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""OCI resource ID.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--replication-username', help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--replication-password', help=u"""The password (credential) used when creating or updating this resource.""")
@cli_util.option('--connection-string', help=u"""Connect descriptor or Easy Connect Naming method used to connect to a database.""")
@cli_util.option('--wallet', help=u"""The wallet contents used to make connections to a database. This attribute is expected to be base64 encoded.""")
-@cli_util.option('--database-id', help=u"""The OCID of the database being referenced.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The OCID of the database being referenced.""")
@cli_util.option('--ssh-host', help=u"""Name of the host the SSH key is valid for.""")
@cli_util.option('--ssh-key', help=u"""Private SSH key string.""")
@cli_util.option('--ssh-user', help=u"""The username (credential) used when creating or updating this resource.""")
@@ -1042,7 +1042,7 @@ def create_connection_create_oracle_connection_details(ctx, from_json, wait_for_
@migration_group.command(name=cli_util.override('database_migration.create_migration.command_name', 'create'), help=u"""Create a Migration resource that contains all the details to perform the database migration operation, such as source and destination database details, credentials, etc. \n[Command Reference](createMigration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the resource being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--database-combination', required=True, type=custom_types.CliCaseInsensitiveChoice(["MYSQL", "ORACLE"]), help=u"""The combination of source and target databases participating in a migration. Example: ORACLE means the migration is meant for migrating Oracle source and target databases.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ONLINE", "OFFLINE"]), help=u"""The type of the migration to be performed. Example: ONLINE if no downtime is preferred for a migration. This method uses Oracle GoldenGate for replication.""")
@cli_util.option('--source-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@@ -1119,7 +1119,7 @@ def create_migration(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@migration_group.command(name=cli_util.override('database_migration.create_migration_create_my_sql_migration_details.command_name', 'create-migration-create-my-sql-migration-details'), help=u"""Create a Migration resource that contains all the details to perform the database migration operation, such as source and destination database details, credentials, etc. \n[Command Reference](createMigration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the resource being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ONLINE", "OFFLINE"]), help=u"""The type of the migration to be performed. Example: ONLINE if no downtime is preferred for a migration. This method uses Oracle GoldenGate for replication.""")
@cli_util.option('--source-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--target-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@@ -1232,7 +1232,7 @@ def create_migration_create_my_sql_migration_details(ctx, from_json, wait_for_st
@migration_group.command(name=cli_util.override('database_migration.create_migration_create_oracle_migration_details.command_name', 'create-migration-create-oracle-migration-details'), help=u"""Create a Migration resource that contains all the details to perform the database migration operation, such as source and destination database details, credentials, etc. \n[Command Reference](createMigration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the resource being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ONLINE", "OFFLINE"]), help=u"""The type of the migration to be performed. Example: ONLINE if no downtime is preferred for a migration. This method uses Oracle GoldenGate for replication.""")
@cli_util.option('--source-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@cli_util.option('--target-database-connection-id', required=True, help=u"""The OCID of the resource being referenced.""")
@@ -1907,7 +1907,7 @@ def get_work_request(ctx, from_json, work_request_id):
@connection_summary_group.command(name=cli_util.override('database_migration.list_connections.command_name', 'list-connections'), help=u"""List all Database Connections. \n[Command Reference](listConnections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--technology-type', type=custom_types.CliCaseInsensitiveChoice(["OCI_AUTONOMOUS_DATABASE", "OCI_MYSQL", "ORACLE_DATABASE", "ORACLE_EXADATA", "AMAZON_RDS_ORACLE", "AMAZON_AURORA_MYSQL", "AMAZON_RDS_MYSQL", "AZURE_MYSQL", "GOOGLE_CLOUD_SQL_MYSQL", "MYSQL_SERVER"]), multiple=True, help=u"""The array of technology types.""")
@cli_util.option('--connection-type', type=custom_types.CliCaseInsensitiveChoice(["MYSQL", "ORACLE"]), multiple=True, help=u"""The array of connection types.""")
@cli_util.option('--source-connection-id', help=u"""The OCID of the source database connection.""")
@@ -2329,7 +2329,7 @@ def list_migration_parameters(ctx, from_json, all_pages, page_size, migration_ty
@migration_summary_group.command(name=cli_util.override('database_migration.list_migrations.command_name', 'list-migrations'), help=u"""List all Migrations. \n[Command Reference](listMigrations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -2566,7 +2566,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_summary_group.command(name=cli_util.override('database_migration.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment or for a specified resource. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -2988,9 +2988,9 @@ def suspend_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@cli_util.option('--description', help=u"""A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""OCI resource ID.""")
-@cli_util.option('--key-id', help=u"""The OCID of the key used in cryptographic operations.""")
-@cli_util.option('--subnet-id', help=u"""OCI resource ID.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""The OCID of the key used in cryptographic operations.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--username', help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--password', help=u"""The password (credential) used when creating or updating this resource.""")
@@ -3103,9 +3103,9 @@ def update_connection(ctx, from_json, force, wait_for_state, max_wait_seconds, w
@cli_util.option('--description', help=u"""A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""OCI resource ID.""")
-@cli_util.option('--key-id', help=u"""The OCID of the key used in cryptographic operations.""")
-@cli_util.option('--subnet-id', help=u"""OCI resource ID.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""The OCID of the key used in cryptographic operations.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--username', help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--password', help=u"""The password (credential) used when creating or updating this resource.""")
@@ -3113,7 +3113,7 @@ def update_connection(ctx, from_json, force, wait_for_state, max_wait_seconds, w
@cli_util.option('--replication-password', help=u"""The password (credential) used when creating or updating this resource.""")
@cli_util.option('--connection-string', help=u"""Connect descriptor or Easy Connect Naming method used to connect to a database.""")
@cli_util.option('--wallet', help=u"""The wallet contents used to make connections to a database. This attribute is expected to be base64 encoded.""")
-@cli_util.option('--database-id', help=u"""The OCID of the database being referenced.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The OCID of the database being referenced.""")
@cli_util.option('--ssh-host', help=u"""Name of the host the SSH key is valid for.""")
@cli_util.option('--ssh-key', help=u"""Private SSH key string.""")
@cli_util.option('--ssh-user', help=u"""The username (credential) used when creating or updating this resource.""")
@@ -3245,9 +3245,9 @@ def update_connection_update_oracle_connection_details(ctx, from_json, force, wa
@cli_util.option('--description', help=u"""A user-friendly description. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@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. Example: {\"Department\": \"Finance\"}""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""OCI resource ID.""")
-@cli_util.option('--key-id', help=u"""The OCID of the key used in cryptographic operations.""")
-@cli_util.option('--subnet-id', help=u"""OCI resource ID.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""The OCID of the key used in cryptographic operations.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""OCI resource ID.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--username', help=u"""The username (credential) used when creating or updating this resource.""")
@cli_util.option('--password', help=u"""The password (credential) used when creating or updating this resource.""")
@@ -3265,7 +3265,7 @@ def update_connection_update_oracle_connection_details(ctx, from_json, force, wa
@cli_util.option('--additional-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of name-value pair attribute entries.
This option is a JSON list with items of type NameValuePair. For documentation on NameValuePair please see our API reference: https://docs.cloud.oracle.com/api/#/en/databasemigration/20230518/datatypes/NameValuePair.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--db-system-id', help=u"""The OCID of the database system being referenced.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The OCID of the database system being referenced.""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
diff --git a/services/database_tools/src/oci_cli_database_tools/generated/databasetools_cli.py b/services/database_tools/src/oci_cli_database_tools/generated/databasetools_cli.py
index 47f66ab4..0d5ac65f 100644
--- a/services/database_tools/src/oci_cli_database_tools/generated/databasetools_cli.py
+++ b/services/database_tools/src/oci_cli_database_tools/generated/databasetools_cli.py
@@ -282,7 +282,7 @@ def add_database_tools_private_endpoint_lock(ctx, from_json, wait_for_state, max
@database_tools_connection_group.command(name=cli_util.override('dbtools.change_database_tools_connection_compartment.command_name', 'change-compartment'), help=u"""Moves the specified Database Tools connection to a different compartment in the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeDatabaseToolsConnectionCompartment)""")
@cli_util.option('--database-tools-connection-id', required=True, help=u"""The [OCID] of a Database Tools connection.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Database Tools connection to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Database Tools connection to.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "WAITING", "NEEDS_ATTENTION"]), 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.""")
@@ -346,7 +346,7 @@ def change_database_tools_connection_compartment(ctx, from_json, wait_for_state,
@database_tools_identity_group.command(name=cli_util.override('dbtools.change_database_tools_identity_compartment.command_name', 'change-compartment'), help=u"""Moves the specified Database Tools identity to a different compartment in the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeDatabaseToolsIdentityCompartment)""")
@cli_util.option('--database-tools-identity-id', required=True, help=u"""The [OCID] of a Database Tools identity.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Database Tools identity to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Database Tools identity to.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "WAITING", "NEEDS_ATTENTION"]), 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.""")
@@ -410,7 +410,7 @@ def change_database_tools_identity_compartment(ctx, from_json, wait_for_state, m
@database_tools_private_endpoint_group.command(name=cli_util.override('dbtools.change_database_tools_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a Database Tools private endpoint into a different compartment in the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeDatabaseToolsPrivateEndpointCompartment)""")
@cli_util.option('--database-tools-private-endpoint-id', required=True, help=u"""The [OCID] of a Database Tools private endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the `DatabaseConnectionProfile` to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the `DatabaseConnectionProfile` to.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "WAITING", "NEEDS_ATTENTION"]), 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.""")
@@ -474,7 +474,7 @@ def change_database_tools_private_endpoint_compartment(ctx, from_json, wait_for_
@database_tools_connection_group.command(name=cli_util.override('dbtools.create_database_tools_connection.command_name', 'create'), help=u"""Creates a new Database Tools connection. \n[Command Reference](createDatabaseToolsConnection)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_DATABASE", "MYSQL", "POSTGRESQL", "GENERIC_JDBC"]), help=u"""The Database Tools connection type.""")
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -553,7 +553,7 @@ def create_database_tools_connection(ctx, from_json, wait_for_state, max_wait_se
@database_tools_connection_group.command(name=cli_util.override('dbtools.create_database_tools_connection_create_database_tools_connection_generic_jdbc_details.command_name', 'create-database-tools-connection-create-database-tools-connection-generic-jdbc-details'), help=u"""Creates a new Database Tools connection. \n[Command Reference](createDatabaseToolsConnection)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
@cli_util.option('--url', required=True, help=u"""The JDBC URL used to connect to the Generic JDBC database system.""")
@cli_util.option('--user-name', required=True, help=u"""The database user name.""")
@cli_util.option('--user-password', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -648,7 +648,7 @@ def create_database_tools_connection_create_database_tools_connection_generic_jd
@database_tools_connection_group.command(name=cli_util.override('dbtools.create_database_tools_connection_create_database_tools_connection_postgresql_details.command_name', 'create-database-tools-connection-create-database-tools-connection-postgresql-details'), help=u"""Creates a new Database Tools connection. \n[Command Reference](createDatabaseToolsConnection)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
@cli_util.option('--connection-string', required=True, help=u"""The connection string used to connect to the PostgreSQL Server.""")
@cli_util.option('--user-name', required=True, help=u"""The database user name.""")
@cli_util.option('--user-password', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -751,7 +751,7 @@ def create_database_tools_connection_create_database_tools_connection_postgresql
@database_tools_connection_group.command(name=cli_util.override('dbtools.create_database_tools_connection_create_database_tools_connection_my_sql_details.command_name', 'create-database-tools-connection-create-database-tools-connection-my-sql-details'), help=u"""Creates a new Database Tools connection. \n[Command Reference](createDatabaseToolsConnection)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
@cli_util.option('--connection-string', required=True, help=u"""The connection string used to connect to the MySQL Server.""")
@cli_util.option('--user-name', required=True, help=u"""The database user name.""")
@cli_util.option('--user-password', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -854,7 +854,7 @@ def create_database_tools_connection_create_database_tools_connection_my_sql_det
@database_tools_connection_group.command(name=cli_util.override('dbtools.create_database_tools_connection_create_database_tools_connection_oracle_database_details.command_name', 'create-database-tools-connection-create-database-tools-connection-oracle-database-details'), help=u"""Creates a new Database Tools connection. \n[Command Reference](createDatabaseToolsConnection)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools connection.""")
@cli_util.option('--connection-string', required=True, help=u"""The connect descriptor or Easy Connect Naming method use to connect to the database.""")
@cli_util.option('--user-name', required=True, help=u"""The database user name.""")
@cli_util.option('--user-password', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -961,7 +961,7 @@ def create_database_tools_connection_create_database_tools_connection_oracle_dat
@database_tools_identity_group.command(name=cli_util.override('dbtools.create_database_tools_identity.command_name', 'create'), help=u"""Creates a new Database Tools identity. \n[Command Reference](createDatabaseToolsIdentity)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_DATABASE_RESOURCE_PRINCIPAL"]), help=u"""The Database Tools identity type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools identity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools identity.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--database-tools-connection-id', required=True, help=u"""The [OCID] of the related Database Tools connection.""")
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1033,7 +1033,7 @@ def create_database_tools_identity(ctx, from_json, wait_for_state, max_wait_seco
@database_tools_identity_group.command(name=cli_util.override('dbtools.create_database_tools_identity_create_database_tools_identity_oracle_database_resource_principal_details.command_name', 'create-database-tools-identity-create-database-tools-identity-oracle-database-resource-principal-details'), help=u"""Creates a new Database Tools identity. \n[Command Reference](createDatabaseToolsIdentity)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools identity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools identity.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--database-tools-connection-id', required=True, help=u"""The [OCID] of the related Database Tools connection.""")
@cli_util.option('--credential-key', required=True, help=u"""The name of the credential object created in the Oracle Database.""")
@@ -1108,10 +1108,10 @@ def create_database_tools_identity_create_database_tools_identity_oracle_databas
@database_tools_private_endpoint_group.command(name=cli_util.override('dbtools.create_database_tools_private_endpoint.command_name', 'create'), help=u"""Creates a new Database Tools private endpoint. \n[Command Reference](createDatabaseToolsPrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Database Tools private endpoint.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Database Tools private endpoint.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--endpoint-service-id', required=True, help=u"""The [OCID] of the `DatabaseToolsEndpointService`.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet that the private endpoint belongs to.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet that the private endpoint belongs to.""")
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
@@ -1480,7 +1480,7 @@ def get_work_request(ctx, from_json, work_request_id):
@database_tools_connection_group.command(name=cli_util.override('dbtools.list_database_tools_connections.command_name', 'list'), help=u"""Returns a list of Database Tools connections. \n[Command Reference](listDatabaseToolsConnections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "INACTIVE"]), help=u"""A filter to return only resources their `lifecycleState` matches the specified `lifecycleState`.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire specified display name.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["ORACLE_DATABASE", "MYSQL", "POSTGRESQL", "GENERIC_JDBC"]), multiple=True, help=u"""A filter to return only resources their type matches the specified type.""")
@@ -1552,7 +1552,7 @@ def list_database_tools_connections(ctx, from_json, all_pages, page_size, compar
@database_tools_endpoint_service_group.command(name=cli_util.override('dbtools.list_database_tools_endpoint_services.command_name', 'list'), help=u"""Returns a list of Database Tools endpoint services. \n[Command Reference](listDatabaseToolsEndpointServices)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -1615,7 +1615,7 @@ def list_database_tools_endpoint_services(ctx, from_json, all_pages, page_size,
@database_tools_identity_group.command(name=cli_util.override('dbtools.list_database_tools_identities.command_name', 'list'), help=u"""Returns a list of Database Tools identities. \n[Command Reference](listDatabaseToolsIdentities)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return resources only when their `databaseToolsIdentityLifecycleState` matches the specified `databaseToolsIdentityLifecycleState`.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire specified display name.""")
@cli_util.option('--database-tools-connection-id', help=u"""A filter to return only resources when their `databaseToolsConnectionId` matches the specified `databaseToolsConnectionId`.""")
@@ -1681,8 +1681,8 @@ def list_database_tools_identities(ctx, from_json, all_pages, page_size, compart
@database_tools_private_endpoint_group.command(name=cli_util.override('dbtools.list_database_tools_private_endpoints.command_name', 'list'), help=u"""Returns a list of Database Tools private endpoints. \n[Command Reference](listDatabaseToolsPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
-@cli_util.option('--subnet-id', help=u"""A filter to return only resources their `subnetId` matches the specified `subnetId`.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources their `subnetId` matches the specified `subnetId`.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -1861,7 +1861,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('dbtools.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--resource-identifier', help=u"""The [OCID] of the resource.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeAccepted", "timeUpdated"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for timeAccepted is descending. If no value is specified timeAccepted is default.""")
diff --git a/services/dblm/src/oci_cli_db_life_cycle_management/generated/dblifecyclemanagement_cli.py b/services/dblm/src/oci_cli_db_life_cycle_management/generated/dblifecyclemanagement_cli.py
index 5afde463..070a361d 100644
--- a/services/dblm/src/oci_cli_db_life_cycle_management/generated/dblifecyclemanagement_cli.py
+++ b/services/dblm/src/oci_cli_db_life_cycle_management/generated/dblifecyclemanagement_cli.py
@@ -99,7 +99,7 @@ def vulnerability_scan_group():
@vulnerability_scan_group.command(name=cli_util.override('dblm.create_vulnerability_scan.command_name', 'create'), help=u"""Creates a VulnerabilityScan. \n[Command Reference](createVulnerabilityScan)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--vulnerability-scan-type', required=True, help=u"""Vulnerability Scan type is CVE, PATCH or IMAGE_PATCH""")
@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.""")
@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.""")
@@ -154,7 +154,7 @@ def create_vulnerability_scan(ctx, from_json, wait_for_state, max_wait_seconds,
@dblm_patch_management_group.command(name=cli_util.override('dblm.get_patch_management.command_name', 'get-patch-management'), help=u"""Overview of Patch Management. \n[Command Reference](getPatchManagement)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The required ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The required ID of the compartment in which to list resources.""")
@cli_util.option('--database-release', help=u"""A filter to return only database that match the given release version.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "FAILED", "NEEDS_ATTENTION", "DELETING", "DELETED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--time-started-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""A filter to return only resources whose timeStarted is greater than or equal to the given date-time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -185,7 +185,7 @@ def get_patch_management(ctx, from_json, compartment_id, database_release, lifec
@dblm_vulnerability_group.command(name=cli_util.override('dblm.get_vulnerability.command_name', 'get-vulnerability'), help=u"""Gets a Vulnerability \n[Command Reference](getVulnerability)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The required ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The required ID of the compartment in which to list resources.""")
@cli_util.option('--database-release', help=u"""A filter to return only database that match the given release version.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "FAILED", "NEEDS_ATTENTION", "DELETING", "DELETED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -254,7 +254,7 @@ def get_work_request(ctx, from_json, work_request_id):
@dblm_vulnerability_group.command(name=cli_util.override('dblm.list_aggregated_vulnerability_data.command_name', 'list-aggregated-vulnerability-data'), help=u"""Gets an AggregatedVulnerabilityData \n[Command Reference](listAggregatedVulnerabilityData)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--time-created-greater-than', type=custom_types.CLI_DATETIME, help=u"""The created greater than.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-ended-less-than', type=custom_types.CLI_DATETIME, help=u"""The time ended less than.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-release', help=u"""A filter to return only database that match the given release version.""")
@@ -313,7 +313,7 @@ def list_aggregated_vulnerability_data(ctx, from_json, all_pages, page_size, com
@patch_databases_collection_group.command(name=cli_util.override('dblm.list_databases.command_name', 'list-databases'), help=u"""Gets the list of databases \n[Command Reference](listDatabases)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "FAILED", "NEEDS_ATTENTION", "DELETING", "DELETED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--database-release', help=u"""A filter to return only database that match the given release version.""")
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["SI", "RAC"]), help=u"""Filter by database type. Possible values Single Instance or RAC.""")
@@ -321,7 +321,7 @@ def list_aggregated_vulnerability_data(ctx, from_json, all_pages, page_size, com
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "name", "resourceType", "release", "subscribedImage", "patchCompliance"]), help=u"""The field to sort by.""")
-@cli_util.option('--image-id', help=u"""Subscribed image""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Subscribed image""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--drifter-patch-id', type=click.INT, help=u"""A filter to return only database that have given patchId as additional patch (drifter from image version).""")
@cli_util.option('--image-compliance', type=custom_types.CliCaseInsensitiveChoice(["NOT_SUBSCRIBED", "NOT_COMPLIANT_WITH_IMAGES", "ALL_DATABASES"]), help=u"""Filter databases by image compliance status.""")
@@ -390,7 +390,7 @@ def list_databases(ctx, from_json, all_pages, page_size, compartment_id, lifecyc
@notification_collection_group.command(name=cli_util.override('dblm.list_notifications.command_name', 'list-notifications'), help=u"""List of notifications \n[Command Reference](listNotifications)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The required ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The required ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -413,7 +413,7 @@ def list_notifications(ctx, from_json, all_pages, compartment_id, limit):
@dblm_vulnerability_group.command(name=cli_util.override('dblm.list_vulnerabilities.command_name', 'list-vulnerabilities'), help=u"""Gets the vulnerabilities summary list \n[Command Reference](listVulnerabilities)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -484,7 +484,7 @@ def list_vulnerabilities(ctx, from_json, all_pages, page_size, compartment_id, l
@vulnerability_resource_collection_group.command(name=cli_util.override('dblm.list_vulnerability_resources.command_name', 'list-vulnerability-resources'), help=u"""Lists the summary of vulnerable and clean resourcees \n[Command Reference](listVulnerabilityResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The required ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The required ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -557,7 +557,7 @@ def list_vulnerability_resources(ctx, from_json, all_pages, page_size, compartme
@vulnerability_scan_collection_group.command(name=cli_util.override('dblm.list_vulnerability_scans.command_name', 'list-vulnerability-scans'), help=u"""Gets a list of VulnerabilityScans. \n[Command Reference](listVulnerabilityScans)""")
@cli_util.option('--vulnerability-scan-id', help=u"""The ID of the vulnerability scan.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -741,7 +741,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('dblm.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/dbmulticloud/src/oci_cli_db_multicloud_aws_provider/generated/dbmulticloudawsprovider_cli.py b/services/dbmulticloud/src/oci_cli_db_multicloud_aws_provider/generated/dbmulticloudawsprovider_cli.py
index ecb85b0e..4d65b98a 100644
--- a/services/dbmulticloud/src/oci_cli_db_multicloud_aws_provider/generated/dbmulticloudawsprovider_cli.py
+++ b/services/dbmulticloud/src/oci_cli_db_multicloud_aws_provider/generated/dbmulticloudawsprovider_cli.py
@@ -75,7 +75,7 @@ def oracle_db_aws_key_group():
@oracle_db_aws_identity_connector_group.command(name=cli_util.override('db_multicloud_aws_provider.change_oracle_db_aws_identity_connector_compartment.command_name', 'change-compartment'), help=u"""Moves the Oracle DB AWS Identity Connector resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbAwsIdentityConnectorCompartment)""")
@cli_util.option('--oracle-db-aws-identity-connector-id', required=True, help=u"""The [OCID] of the Oracle DB AWS Identity Connector resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the new compartment to contain the Oracle DB AWS Identity Connector resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment to contain the Oracle DB AWS Identity Connector resource.""")
@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.""")
@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.""")
@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.""")
@@ -138,7 +138,7 @@ def change_oracle_db_aws_identity_connector_compartment(ctx, from_json, wait_for
@oracle_db_aws_key_group.command(name=cli_util.override('db_multicloud_aws_provider.change_oracle_db_aws_key_compartment.command_name', 'change-compartment'), help=u"""Moves the AWS Key resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbAwsKeyCompartment)""")
@cli_util.option('--oracle-db-aws-key-id', required=True, help=u"""The [OCID] of the Oracle DB AWS Key resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the new compartment to contain the Oracle DB AWS Key resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment to contain the Oracle DB AWS Key resource.""")
@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.""")
@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.""")
@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.""")
@@ -201,7 +201,7 @@ def change_oracle_db_aws_key_compartment(ctx, from_json, wait_for_state, max_wai
@oracle_db_aws_identity_connector_group.command(name=cli_util.override('db_multicloud_aws_provider.create_oracle_db_aws_identity_connector.command_name', 'create'), help=u"""Creates Oracle DB AWS Identity Connector resource. \n[Command Reference](createOracleDbAwsIdentityConnector)""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB Google AWS Identity Connector resource name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains Oracle DB AWS Identity Connector resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Oracle DB AWS Identity Connector resource.""")
@cli_util.option('--resource-id', required=True, help=u"""The [OCID] of the AWS VM Cluster resource.""")
@cli_util.option('--oidc-scope', required=True, help=u"""OCI IAM Domain scope for issuer URL.""")
@cli_util.option('--issuer-url', required=True, help=u"""OIDC token issuer Url.""")
@@ -285,7 +285,7 @@ def create_oracle_db_aws_identity_connector(ctx, from_json, wait_for_state, max_
@oracle_db_aws_key_group.command(name=cli_util.override('db_multicloud_aws_provider.create_oracle_db_aws_key.command_name', 'create'), help=u"""Create DB AWS Key resource. \n[Command Reference](createOracleDbAwsKey)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains Oracle DB AWS Key resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Oracle DB AWS Key resource.""")
@cli_util.option('--oracle-db-connector-id', required=True, help=u"""The [OCID] of the Oracle DB Connector resource.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB AWS Key resource name.""")
@cli_util.option('--aws-key-arn', help=u"""Amazon resource name of AWS Key.""")
@@ -546,7 +546,7 @@ def get_oracle_db_aws_key(ctx, from_json, oracle_db_aws_key_id, limit, page, sor
@oracle_db_aws_identity_connector_group.command(name=cli_util.override('db_multicloud_aws_provider.list_oracle_db_aws_identity_connectors.command_name', 'list'), help=u"""Lists all Oracle DB AWS Identity Connectors based on the specified filters. \n[Command Reference](listOracleDbAwsIdentityConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB AWS Identity Connector Resource that match the given display name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--resource-id', help=u"""A filter to return Oracle DB Identity Connector resource that match the given resource [OCID].""")
@@ -609,7 +609,7 @@ def list_oracle_db_aws_identity_connectors(ctx, from_json, all_pages, page_size,
@oracle_db_aws_key_group.command(name=cli_util.override('db_multicloud_aws_provider.list_oracle_db_aws_keys.command_name', 'list'), help=u"""Lists all DB AWS Keys based on the specified filters. \n[Command Reference](listOracleDbAwsKeys)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB AWS Key Resource that match the given display name.""")
@cli_util.option('--oracle-db-aws-key-id', help=u"""A filter to return Oracle DB AWS Identity Connector Resource that match the given OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB AWS Key resource.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
diff --git a/services/dbmulticloud/src/oci_cli_db_multicloud_gcp_provider/generated/dbmulticloudgcpprovider_cli.py b/services/dbmulticloud/src/oci_cli_db_multicloud_gcp_provider/generated/dbmulticloudgcpprovider_cli.py
index 6371d0b3..6292fb9a 100644
--- a/services/dbmulticloud/src/oci_cli_db_multicloud_gcp_provider/generated/dbmulticloudgcpprovider_cli.py
+++ b/services/dbmulticloud/src/oci_cli_db_multicloud_gcp_provider/generated/dbmulticloudgcpprovider_cli.py
@@ -82,7 +82,7 @@ def oracle_db_gcp_key_group():
@oracle_db_gcp_identity_connector_group.command(name=cli_util.override('db_multicloud_gcp_provider.change_oracle_db_gcp_identity_connector_compartment.command_name', 'change-compartment'), help=u"""Moves the Oracle DB GCP Identity Connector resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbGcpIdentityConnectorCompartment)""")
@cli_util.option('--oracle-db-gcp-identity-connector-id', required=True, help=u"""The [OCID] of the Oracle DB GCP Identity Configuration Resource.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the Oracle DB GCP Identity Connector resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the Oracle DB GCP Identity Connector resource.""")
@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.""")
@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.""")
@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.""")
@@ -145,7 +145,7 @@ def change_oracle_db_gcp_identity_connector_compartment(ctx, from_json, wait_for
@oracle_db_gcp_key_ring_group.command(name=cli_util.override('db_multicloud_gcp_provider.change_oracle_db_gcp_key_ring_compartment.command_name', 'change-compartment'), help=u"""Moves the GCP Key Ring resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbGcpKeyRingCompartment)""")
@cli_util.option('--oracle-db-gcp-key-ring-id', required=True, help=u"""The [OCID] of the Oracle DB GCP Key-Ring resource.""")
-@cli_util.option('--compartment-id', help=u"""The compartment [OCID] where the Oracle DB GCP Key Ring resource resides.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment [OCID] where the Oracle DB GCP Key Ring resource resides.""")
@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.""")
@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.""")
@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.""")
@@ -208,7 +208,7 @@ def change_oracle_db_gcp_key_ring_compartment(ctx, from_json, wait_for_state, ma
@oracle_db_gcp_identity_connector_group.command(name=cli_util.override('db_multicloud_gcp_provider.create_oracle_db_gcp_identity_connector.command_name', 'create'), help=u"""Creates Oracle DB GCP Identity Connector resource. \n[Command Reference](createOracleDbGcpIdentityConnector)""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB Google GCP Identity Connector resource name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the Oracle DB GCP Identity Connector resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the Oracle DB GCP Identity Connector resource.""")
@cli_util.option('--issuer-url', required=True, help=u"""OIDC token issuer Url""")
@cli_util.option('--project-id', required=True, help=u"""Project id of the customer project.""")
@cli_util.option('--resource-id', required=True, help=u"""The [OCID] of the GCP VM Cluster resource.""")
@@ -288,7 +288,7 @@ def create_oracle_db_gcp_identity_connector(ctx, from_json, wait_for_state, max_
@oracle_db_gcp_key_ring_group.command(name=cli_util.override('db_multicloud_gcp_provider.create_oracle_db_gcp_key_ring.command_name', 'create'), help=u"""Creates DB GCP Key Rings based on the provided information and retrieves the associated keys. \n[Command Reference](createOracleDbGcpKeyRing)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] where the Oracle DB GCP Key Ring resource resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] where the Oracle DB GCP Key Ring resource resides.""")
@cli_util.option('--oracle-db-connector-id', required=True, help=u"""The [OCID] of the compartment where the Oracle DB GCP Identity Connector resource resides.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of DB GCP Key Ring resource.""")
@cli_util.option('--gcp-key-ring-id', help=u"""GCP Key Ring ID.""")
@@ -563,7 +563,7 @@ def get_oracle_db_gcp_key_ring(ctx, from_json, oracle_db_gcp_key_ring_id, limit,
@oracle_db_gcp_identity_connector_group.command(name=cli_util.override('db_multicloud_gcp_provider.list_oracle_db_gcp_identity_connectors.command_name', 'list'), help=u"""Lists all Oracle DB GCP Identity Connectors based on the specified filters. \n[Command Reference](listOracleDbGcpIdentityConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB GCP Identity Connector resources that match the specified display name.""")
@cli_util.option('--resource-id', help=u"""A filter to return Oracle DB Identity Connector resource that match the given resource [OCID].""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the specified lifecycle state. The state value is case-insensitive.""")
@@ -626,7 +626,7 @@ def list_oracle_db_gcp_identity_connectors(ctx, from_json, all_pages, page_size,
@oracle_db_gcp_key_ring_group.command(name=cli_util.override('db_multicloud_gcp_provider.list_oracle_db_gcp_key_rings.command_name', 'list'), help=u"""Lists the all DB GCP Key Rings based on filters. \n[Command Reference](listOracleDbGcpKeyRings)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB GCP Key Ring resources that match the specified display name.""")
@cli_util.option('--oracle-db-gcp-key-ring-id', help=u"""A filter to return Oracle DB GCP Key Rings.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@@ -692,7 +692,7 @@ def list_oracle_db_gcp_key_rings(ctx, from_json, all_pages, page_size, compartme
@oracle_db_gcp_key_group.command(name=cli_util.override('db_multicloud_gcp_provider.list_oracle_db_gcp_keys.command_name', 'list'), help=u"""Lists all Oracle DB Google Cloud Keys based on the specified filters. \n[Command Reference](listOracleDbGcpKeys)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Google Cloud Key resources that match the specified display name.""")
@cli_util.option('--oracle-db-gcp-key-ring-id', help=u"""A filter to return Oracle DB GCP Key Rings.""")
@cli_util.option('--oracle-db-gcp-key-id', help=u"""A filter to return Oracle DB Google Cloud Key resources.""")
diff --git a/services/dbmulticloud/src/oci_cli_multi_cloud_resource_discovery/generated/multicloudresourcediscovery_cli.py b/services/dbmulticloud/src/oci_cli_multi_cloud_resource_discovery/generated/multicloudresourcediscovery_cli.py
index 8d88f56d..2ffc627b 100644
--- a/services/dbmulticloud/src/oci_cli_multi_cloud_resource_discovery/generated/multicloudresourcediscovery_cli.py
+++ b/services/dbmulticloud/src/oci_cli_multi_cloud_resource_discovery/generated/multicloudresourcediscovery_cli.py
@@ -68,7 +68,7 @@ def multi_cloud_resource_discovery_group():
@multi_cloud_resource_discovery_group.command(name=cli_util.override('multi_cloud_resource_discovery.change_multi_cloud_resource_discovery_compartment.command_name', 'change-compartment'), help=u"""Moves the Multicloud Resource Discovery resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeMultiCloudResourceDiscoveryCompartment)""")
@cli_util.option('--multi-cloud-resource-discovery-id', required=True, help=u"""The [OCID] of the Multicloud Discovery Resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the new compartment that contains Multicloud Resource Discovery resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment that contains Multicloud Resource Discovery resource.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -148,7 +148,7 @@ def change_multi_cloud_resource_discovery_compartment(ctx, from_json, wait_for_s
@multi_cloud_resource_discovery_group.command(name=cli_util.override('multi_cloud_resource_discovery.create_multi_cloud_resource_discovery.command_name', 'create'), help=u"""Discovers Multicloud Resource and their associated resources based on the information provided. \n[Command Reference](createMultiCloudResourceDiscovery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains Multicloud Resource Discovery resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Multicloud Resource Discovery resource.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the Multicloud Resource Discovery resource.""")
@cli_util.option('--oracle-db-connector-id', required=True, help=u"""The [OCID] of the Oracle DB Connector resource.""")
@cli_util.option('--resource-type', required=True, help=u"""Resource Type to discover.""")
@@ -313,7 +313,7 @@ def get_multi_cloud_resource_discovery(ctx, from_json, multi_cloud_resource_disc
@multi_cloud_resource_discovery_group.command(name=cli_util.override('multi_cloud_resource_discovery.list_multi_cloud_resource_discoveries.command_name', 'list'), help=u"""Lists all Multicloud Resource Discovery resources based on the specified filters. \n[Command Reference](listMultiCloudResourceDiscoveries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Multicloud Discovery resources that match the specified display name.""")
@cli_util.option('--multi-cloud-resource-discovery-id', help=u"""The [OCID] of the Multicloud Discovery resource.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "SUCCEEDED", "UPDATING", "CANCELING", "CANCELED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources that match the specified lifecycle state. The state value is case-insensitive.""")
@@ -386,7 +386,7 @@ def list_multi_cloud_resource_discoveries(ctx, from_json, all_pages, page_size,
@multi_cloud_resource_discovery_group.command(name=cli_util.override('multi_cloud_resource_discovery.update_multi_cloud_resource_discovery.command_name', 'update'), help=u"""Modifies the properties of an Azure discovered resource identified by the specified resource [OCID]. \n[Command Reference](updateMultiCloudResourceDiscovery)""")
@cli_util.option('--multi-cloud-resource-discovery-id', required=True, help=u"""The [OCID] of the Multicloud Discovery Resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains Multicloud Resource Discovery resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Multicloud Resource Discovery resource.""")
@cli_util.option('--display-name', help=u"""Display name of the Multicloud Resource Discovery resource.""")
@cli_util.option('--oracle-db-connector-id', help=u"""The [OCID] of the Oracle DB Connector resource.""")
@cli_util.option('--resource-type', help=u"""Resource Type to discover.""")
diff --git a/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_container/generated/oracledbazureblobcontainer_cli.py b/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_container/generated/oracledbazureblobcontainer_cli.py
index efbd7a13..48cda93c 100644
--- a/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_container/generated/oracledbazureblobcontainer_cli.py
+++ b/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_container/generated/oracledbazureblobcontainer_cli.py
@@ -68,7 +68,7 @@ def oracle_db_azure_blob_container_group():
@oracle_db_azure_blob_container_group.command(name=cli_util.override('oracle_db_azure_blob_container.change_oracle_db_azure_blob_container_compartment.command_name', 'change-compartment'), help=u"""Moves the Oracle DB Azure Blob Container resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbAzureBlobContainerCompartment)""")
@cli_util.option('--oracle-db-azure-blob-container-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Blob Container resource.""")
-@cli_util.option('--compartment-id', help=u"""he [OCID] of the compartment that contains the Oracle DB Azure Blob Container resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""he [OCID] of the compartment that contains the Oracle DB Azure Blob Container resource.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -148,7 +148,7 @@ def change_oracle_db_azure_blob_container_compartment(ctx, from_json, wait_for_s
@oracle_db_azure_blob_container_group.command(name=cli_util.override('oracle_db_azure_blob_container.create_oracle_db_azure_blob_container.command_name', 'create'), help=u"""Creates Oracle DB Azure Blob Container resource. \n[Command Reference](createOracleDbAzureBlobContainer)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of Oracle DB Azure Blob Container resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of Oracle DB Azure Blob Container resource.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB Azure Blob Container resource name.""")
@cli_util.option('--azure-storage-account-name', required=True, help=u"""Azure Storage account name.""")
@cli_util.option('--azure-storage-container-name', required=True, help=u"""Azure Storage container name.""")
@@ -317,7 +317,7 @@ def get_oracle_db_azure_blob_container(ctx, from_json, oracle_db_azure_blob_cont
@oracle_db_azure_blob_container_group.command(name=cli_util.override('oracle_db_azure_blob_container.list_oracle_db_azure_blob_containers.command_name', 'list'), help=u"""Lists all Oracle DB Azure Blob Container resources based on the specified filters. \n[Command Reference](listOracleDbAzureBlobContainers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Azure Blob Container resources that match the specified display name.""")
@cli_util.option('--oracle-db-azure-blob-container-id', help=u"""A filter to return Oracle DB Azure Blob Container resource.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@@ -387,7 +387,7 @@ def list_oracle_db_azure_blob_containers(ctx, from_json, all_pages, page_size, c
@oracle_db_azure_blob_container_group.command(name=cli_util.override('oracle_db_azure_blob_container.update_oracle_db_azure_blob_container.command_name', 'update'), help=u"""Modifies the existing Oracle DB Azure Blob Container resource for a given [OCID]. \n[Command Reference](updateOracleDbAzureBlobContainer)""")
@cli_util.option('--oracle-db-azure-blob-container-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Blob Container resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the Oracle DB Azure Blob Container resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle DB Azure Blob Container resource.""")
@cli_util.option('--display-name', help=u"""Oracle DB Azure Blob Container resource name.""")
@cli_util.option('--private-endpoint-ip-address', help=u"""Private endpoint IP.""")
@cli_util.option('--private-endpoint-dns-alias', help=u"""Private endpoint's DNS alias.""")
diff --git a/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_mount/generated/oracledbazureblobmount_cli.py b/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_mount/generated/oracledbazureblobmount_cli.py
index 7514f370..6ba70f05 100644
--- a/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_mount/generated/oracledbazureblobmount_cli.py
+++ b/services/dbmulticloud/src/oci_cli_oracle_db_azure_blob_mount/generated/oracledbazureblobmount_cli.py
@@ -68,7 +68,7 @@ def oracle_db_azure_blob_mount_group():
@oracle_db_azure_blob_mount_group.command(name=cli_util.override('oracle_db_azure_blob_mount.change_oracle_db_azure_blob_mount_compartment.command_name', 'change-compartment'), help=u"""Moves the Oracle DB Azure Blob Mount resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbAzureBlobMountCompartment)""")
@cli_util.option('--oracle-db-azure-blob-mount-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Blob Mount resource.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the new compartment to contain the Oracle DB Azure Blob Mount resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the new compartment to contain the Oracle DB Azure Blob Mount resource.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -148,7 +148,7 @@ def change_oracle_db_azure_blob_mount_compartment(ctx, from_json, wait_for_state
@oracle_db_azure_blob_mount_group.command(name=cli_util.override('oracle_db_azure_blob_mount.create_oracle_db_azure_blob_mount.command_name', 'create'), help=u"""Creates Oracle DB Azure Blob Mount resource. \n[Command Reference](createOracleDbAzureBlobMount)""")
-@cli_util.option('--compartment-id', required=True, help=u"""TThe [OCID] of the compartment that contains Oracle DB Azure Blob Mount resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""TThe [OCID] of the compartment that contains Oracle DB Azure Blob Mount resource.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB Azure Blob Mount resource name.""")
@cli_util.option('--oracle-db-azure-connector-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Connector resource that contains Oracle DB Azure Blob Mount resource.""")
@cli_util.option('--oracle-db-azure-blob-container-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Blob Container resource that contains Oracle DB Azure Blob Mount resource.""")
@@ -309,7 +309,7 @@ def get_oracle_db_azure_blob_mount(ctx, from_json, oracle_db_azure_blob_mount_id
@oracle_db_azure_blob_mount_group.command(name=cli_util.override('oracle_db_azure_blob_mount.list_oracle_db_azure_blob_mounts.command_name', 'list'), help=u"""Lists all Oracle DB Azure Blob Mount resources based on the specified filters. \n[Command Reference](listOracleDbAzureBlobMounts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Azure Blob Mount resources that match the specified display name.""")
@cli_util.option('--oracle-db-azure-blob-mount-id', help=u"""The [OCID] of the Oracle DB Azure Blob Mount resource.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@@ -379,7 +379,7 @@ def list_oracle_db_azure_blob_mounts(ctx, from_json, all_pages, page_size, compa
@oracle_db_azure_blob_mount_group.command(name=cli_util.override('oracle_db_azure_blob_mount.update_oracle_db_azure_blob_mount.command_name', 'update'), help=u"""Modifies the existing Oracle DB Azure Blob Mount resource for a given [OCID]. \n[Command Reference](updateOracleDbAzureBlobMount)""")
@cli_util.option('--oracle-db-azure-blob-mount-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Blob Mount resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains Oracle DB Azure Blob Mount resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Oracle DB Azure Blob Mount resource.""")
@cli_util.option('--display-name', help=u"""Oracle DB Azure Blob Mount resource name.""")
@cli_util.option('--oracle-db-azure-connector-id', help=u"""The [OCID] of the Oracle DB Azure Connector resource that contains Oracle DB Azure Blob Mount resource.""")
@cli_util.option('--oracle-db-azure-blob-container-id', help=u"""The [OCID] of the Oracle DB Azure Blob Container resource that contains Oracle DB Azure Blob Mount resource.""")
diff --git a/services/dbmulticloud/src/oci_cli_oracle_db_azure_connector/generated/oracledbazureconnector_cli.py b/services/dbmulticloud/src/oci_cli_oracle_db_azure_connector/generated/oracledbazureconnector_cli.py
index 5a44e1ac..4fd95525 100644
--- a/services/dbmulticloud/src/oci_cli_oracle_db_azure_connector/generated/oracledbazureconnector_cli.py
+++ b/services/dbmulticloud/src/oci_cli_oracle_db_azure_connector/generated/oracledbazureconnector_cli.py
@@ -68,7 +68,7 @@ def oracle_db_azure_connector_group():
@oracle_db_azure_connector_group.command(name=cli_util.override('oracle_db_azure_connector.change_oracle_db_azure_connector_compartment.command_name', 'change-compartment'), help=u"""Moves the Oracle DB Azure Connector resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbAzureConnectorCompartment)""")
@cli_util.option('--oracle-db-azure-connector-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Connector resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the new compartment to contain the Oracle DB Azure Connector resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment to contain the Oracle DB Azure Connector resource.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -148,7 +148,7 @@ def change_oracle_db_azure_connector_compartment(ctx, from_json, wait_for_state,
@oracle_db_azure_connector_group.command(name=cli_util.override('oracle_db_azure_connector.create_oracle_db_azure_connector.command_name', 'create'), help=u"""Creates Oracle DB Azure Connector resource and configured Azure Identity in Oracle Database resource. \n[Command Reference](createOracleDbAzureConnector)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains Oracle DB Azure Connector resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Oracle DB Azure Connector resource.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB Azure Connector resource name.""")
@cli_util.option('--db-cluster-resource-id', required=True, help=u"""The [OCID] of the Oracle DB Cloud VM Cluster resource where this Azure Arc Agent Identity to configure.""")
@cli_util.option('--azure-identity-mechanism', required=True, help=u"""Azure Identity mechanism.""")
@@ -324,7 +324,7 @@ def get_oracle_db_azure_connector(ctx, from_json, oracle_db_azure_connector_id,
@oracle_db_azure_connector_group.command(name=cli_util.override('oracle_db_azure_connector.list_oracle_db_azure_connectors.command_name', 'list'), help=u"""Lists all Oracle DB Azure Connector resources based on the specified filters. \n[Command Reference](listOracleDbAzureConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Azure Connector resources that match the specified display name.""")
@cli_util.option('--oracle-db-azure-connector-id', help=u"""A filter to return Oracle DB Azure Azure Identity Connector resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@@ -527,7 +527,7 @@ def refresh_oracle_db_azure_connector(ctx, from_json, wait_for_state, max_wait_s
@oracle_db_azure_connector_group.command(name=cli_util.override('oracle_db_azure_connector.update_oracle_db_azure_connector.command_name', 'update'), help=u"""Modifies the existing Oracle DB Azure Connector resource for a given [OCID]. \n[Command Reference](updateOracleDbAzureConnector)""")
@cli_util.option('--oracle-db-azure-connector-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Connector resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains Oracle DB Azure Connector resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Oracle DB Azure Connector resource.""")
@cli_util.option('--display-name', help=u"""Oracle DB Azure Connector resource name.""")
@cli_util.option('--db-cluster-resource-id', help=u"""The [OCID] of the Oracle DB Cloud VM Cluster resource where this Azure Arc Agent Identity to configure.""")
@cli_util.option('--azure-identity-mechanism', help=u"""Azure Identity mechanism.""")
diff --git a/services/dbmulticloud/src/oci_cli_oracle_db_azure_key/generated/oracledbazurekey_cli.py b/services/dbmulticloud/src/oci_cli_oracle_db_azure_key/generated/oracledbazurekey_cli.py
index 93569aa5..6b7cc2f6 100644
--- a/services/dbmulticloud/src/oci_cli_oracle_db_azure_key/generated/oracledbazurekey_cli.py
+++ b/services/dbmulticloud/src/oci_cli_oracle_db_azure_key/generated/oracledbazurekey_cli.py
@@ -98,7 +98,7 @@ def get_oracle_db_azure_key(ctx, from_json, oracle_db_azure_key_id, limit, page,
@oracle_db_azure_key_group.command(name=cli_util.override('oracle_db_azure_key.list_oracle_db_azure_keys.command_name', 'list'), help=u"""Lists all Oracle DB Azure Keys based on the specified filters. \n[Command Reference](listOracleDbAzureKeys)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Azure Vault Keys resources that match the specified display name.""")
@cli_util.option('--oracle-db-azure-vault-id', help=u"""A filter to return Oracle DB Azure Vault resources that match the specified [OCID] of the Oracle DB Azure Vault resource.""")
@cli_util.option('--oracle-db-azure-key-id', help=u"""A filter to return Oracle DB Azure Vault Keys resource that match the specified Oracle DB Azure Key [OCID].""")
diff --git a/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault/generated/oracledbazurevault_cli.py b/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault/generated/oracledbazurevault_cli.py
index 01569dea..2748e8f6 100644
--- a/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault/generated/oracledbazurevault_cli.py
+++ b/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault/generated/oracledbazurevault_cli.py
@@ -68,7 +68,7 @@ def oracle_db_azure_vault_group():
@oracle_db_azure_vault_group.command(name=cli_util.override('oracle_db_azure_vault.change_oracle_db_azure_vault_compartment.command_name', 'change-compartment'), help=u"""Moves the DB Azure Vault resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbAzureVaultCompartment)""")
@cli_util.option('--oracle-db-azure-vault-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Vault resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the new compartment to contain the Oracle DB Azure Vault resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment to contain the Oracle DB Azure Vault resource.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -148,7 +148,7 @@ def change_oracle_db_azure_vault_compartment(ctx, from_json, wait_for_state, max
@oracle_db_azure_vault_group.command(name=cli_util.override('oracle_db_azure_vault.create_oracle_db_azure_vault.command_name', 'create'), help=u"""Creates DB Azure Vault resource. \n[Command Reference](createOracleDbAzureVault)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains DB Azure Vault resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains DB Azure Vault resource.""")
@cli_util.option('--oracle-db-connector-id', required=True, help=u"""The [OCID] of the Oracle DB Connector resource that contains Oracle DB Azure Vault resource.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB Azure Vault resource name.""")
@cli_util.option('--oracle-db-azure-resource-group', help=u"""Oracle DB Azure resource group name.""")
@@ -327,7 +327,7 @@ def get_oracle_db_azure_vault(ctx, from_json, oracle_db_azure_vault_id, limit, p
@oracle_db_azure_vault_group.command(name=cli_util.override('oracle_db_azure_vault.list_oracle_db_azure_vaults.command_name', 'list'), help=u"""Lists all DB Azure Vault resources based on the specified filters. \n[Command Reference](listOracleDbAzureVaults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Azure Vault resources that match the specified display name.""")
@cli_util.option('--oracle-db-azure-vault-id', help=u"""A filter to return Oracle DB Azure Vault resources that match the specified [OCID] of the Oracle DB Azure Vault resource.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@@ -460,7 +460,7 @@ def refresh_oracle_db_azure_vault(ctx, from_json, wait_for_state, max_wait_secon
@oracle_db_azure_vault_group.command(name=cli_util.override('oracle_db_azure_vault.update_oracle_db_azure_vault.command_name', 'update'), help=u"""Modifies the configuration details of an existing Oracle Database Azure Vault resource identified by its unique [OCID]. This operation updates only the specified fields in the request body. \n[Command Reference](updateOracleDbAzureVault)""")
@cli_util.option('--oracle-db-azure-vault-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Vault resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains this Oracle DB Azure Vault resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains this Oracle DB Azure Vault resource.""")
@cli_util.option('--oracle-db-connector-id', help=u"""The [OCID] of the Oracle DB Connector resource that contains Oracle DB Azure Vault resource.""")
@cli_util.option('--display-name', help=u"""Oracle DB Azure Vault resource name.""")
@cli_util.option('--oracle-db-azure-resource-group', help=u"""Oracle DB Azure resource group name.""")
diff --git a/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault_association/generated/oracledbazurevaultassociation_cli.py b/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault_association/generated/oracledbazurevaultassociation_cli.py
index 353947f0..6f1b4491 100644
--- a/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault_association/generated/oracledbazurevaultassociation_cli.py
+++ b/services/dbmulticloud/src/oci_cli_oracle_db_azure_vault_association/generated/oracledbazurevaultassociation_cli.py
@@ -123,7 +123,7 @@ def cascading_delete_oracle_db_azure_vault_association(ctx, from_json, wait_for_
@oracle_db_azure_vault_association_group.command(name=cli_util.override('oracle_db_azure_vault_association.change_oracle_db_azure_vault_association_compartment.command_name', 'change-compartment'), help=u"""Moves the Oracle DB Azure Vault Association resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOracleDbAzureVaultAssociationCompartment)""")
@cli_util.option('--oracle-db-azure-vault-association-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Vault Association resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the new compartment to contain the Oracle DB Azure Vault Association resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the new compartment to contain the Oracle DB Azure Vault Association resource.""")
@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].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -203,7 +203,7 @@ def change_oracle_db_azure_vault_association_compartment(ctx, from_json, wait_fo
@oracle_db_azure_vault_association_group.command(name=cli_util.override('oracle_db_azure_vault_association.create_oracle_db_azure_vault_association.command_name', 'create'), help=u"""Creates Oracle DB Azure Vault Association resource. \n[Command Reference](createOracleDbAzureVaultAssociation)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains Oracle DB Azure Vault Association resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Oracle DB Azure Vault Association resource.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle DB Azure Vault Association resource name.""")
@cli_util.option('--oracle-db-azure-vault-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Vault that contains Oracle DB Azure Vault Association resource.""")
@cli_util.option('--oracle-db-azure-connector-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Connector that contains Oracle DB Azure Vault Association resource.""")
@@ -364,7 +364,7 @@ def get_oracle_db_azure_vault_association(ctx, from_json, oracle_db_azure_vault_
@oracle_db_azure_vault_association_group.command(name=cli_util.override('oracle_db_azure_vault_association.list_oracle_db_azure_vault_associations.command_name', 'list'), help=u"""Lists all Oracle DB Azure Associations based on the specified filters. \n[Command Reference](listOracleDbAzureVaultAssociations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--oracle-db-azure-vault-id', help=u"""A filter to return Oracle DB Azure Vault resources that match the specified [OCID] of the Oracle DB Azure Vault resource.""")
@cli_util.option('--display-name', help=u"""A filter to return Oracle DB Azure Vault Association resources that match the specified display name.""")
@cli_util.option('--oracle-db-azure-vault-association-id', help=u"""A filter to return Oracle DB Azure Vault resources that match the specified OCID](/Content/General/Concepts/identifiers.htm) of the Oracle DB Azure Vault Association resource.""")
@@ -434,7 +434,7 @@ def list_oracle_db_azure_vault_associations(ctx, from_json, all_pages, page_size
@oracle_db_azure_vault_association_group.command(name=cli_util.override('oracle_db_azure_vault_association.update_oracle_db_azure_vault_association.command_name', 'update'), help=u"""Modifies the properties of an Oracle DB Azure Vault Association resource identified by the specified resource [OCID]. \n[Command Reference](updateOracleDbAzureVaultAssociation)""")
@cli_util.option('--oracle-db-azure-vault-association-id', required=True, help=u"""The [OCID] of the Oracle DB Azure Vault Association resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains Oracle DB Azure Vault Association resource.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains Oracle DB Azure Vault Association resource.""")
@cli_util.option('--display-name', help=u"""Oracle DB Azure Vault Association resource name.""")
@cli_util.option('--oracle-db-azure-vault-id', help=u"""The [OCID] of the Oracle DB Azure Vault that contains Oracle DB Azure Vault Association resource.""")
@cli_util.option('--oracle-db-azure-connector-id', help=u"""The [OCID] of the Oracle DB Azure Connector that contains Oracle DB Azure Vault Association resource.""")
diff --git a/services/dbmulticloud/src/oci_cli_work_request/generated/workrequest_cli.py b/services/dbmulticloud/src/oci_cli_work_request/generated/workrequest_cli.py
index 18e8e8d5..88f14901 100644
--- a/services/dbmulticloud/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/dbmulticloud/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -243,7 +243,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_request.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [ID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [ID] of the compartment.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only work requests with the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/delegate_access_control/src/oci_cli_delegate_access_control/generated/delegateaccesscontrol_cli.py b/services/delegate_access_control/src/oci_cli_delegate_access_control/generated/delegateaccesscontrol_cli.py
index 7be94d64..25334e05 100644
--- a/services/delegate_access_control/src/oci_cli_delegate_access_control/generated/delegateaccesscontrol_cli.py
+++ b/services/delegate_access_control/src/oci_cli_delegate_access_control/generated/delegateaccesscontrol_cli.py
@@ -154,7 +154,7 @@ def approve_delegated_resource_access_request(ctx, from_json, wait_for_state, ma
@delegation_control_group.command(name=cli_util.override('delegate_access_control.change_delegation_control_compartment.command_name', 'change-compartment'), help=u"""Moves the Delegation Control resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeDelegationControlCompartment)""")
@cli_util.option('--delegation-control-id', required=True, help=u"""unique Delegation Control identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the new compartment to contain the Delegation Control.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment to contain the Delegation Control.""")
@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.""")
@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.""")
@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.""")
@@ -217,7 +217,7 @@ def change_delegation_control_compartment(ctx, from_json, wait_for_state, max_wa
@delegation_subscription_group.command(name=cli_util.override('delegate_access_control.change_delegation_subscription_compartment.command_name', 'change-compartment'), help=u"""Moves the Delegation Subscription resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeDelegationSubscriptionCompartment)""")
@cli_util.option('--delegation-subscription-id', required=True, help=u"""unique Delegation Subscription identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the new compartment to contain the Delegation Subscription.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment to contain the Delegation Subscription.""")
@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.""")
@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.""")
@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.""")
@@ -279,7 +279,7 @@ def change_delegation_subscription_compartment(ctx, from_json, wait_for_state, m
@delegation_control_group.command(name=cli_util.override('delegate_access_control.create_delegation_control.command_name', 'create'), help=u"""Creates a Delegation Control. \n[Command Reference](createDelegationControl)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains this Delegation Control.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains this Delegation Control.""")
@cli_util.option('--display-name', required=True, help=u"""Name of the Delegation Control. The name does not need to be unique.""")
@cli_util.option('--delegation-subscription-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Delegation Subscription OCID that are allowed for this Delegation Control. The allowed subscriptions will determine the available Service Provider Actions. Only support operators for the allowed subscriptions are allowed to create Delegated Resource Access Request.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--resource-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OCID of the selected resources that this Delegation Control is applicable to.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -290,7 +290,7 @@ def change_delegation_subscription_compartment(ctx, from_json, wait_for_state, m
@cli_util.option('--num-approvals-required', type=click.INT, help=u"""number of approvals required.""")
@cli_util.option('--pre-approved-service-provider-action-names', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of pre-approved Service Provider Action names. The list of pre-defined Service Provider Actions can be obtained from the ListServiceProviderActions API. Delegated Resource Access Requests associated with a resource governed by this Delegation Control will be automatically approved if the Delegated Resource Access Request only contain Service Provider Actions in the pre-approved list.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-auto-approve-during-maintenance', type=click.BOOL, help=u"""Set to true to allow all Delegated Resource Access Request to be approved automatically during maintenance.""")
-@cli_util.option('--vault-id', help=u"""The OCID of the OCI Vault that will store the secrets containing the SSH keys to access the resource governed by this Delegation Control by Delegate Access Control Service. This property is required when resourceType is CLOUDVMCLUSTER. Delegate Access Control Service will generate the SSH keys and store them as secrets in the OCI Vault.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The OCID of the OCI Vault that will store the secrets containing the SSH keys to access the resource governed by this Delegation Control by Delegate Access Control Service. This property is required when resourceType is CLOUDVMCLUSTER. Delegate Access Control Service will generate the SSH keys and store them as secrets in the OCI Vault.""")
@cli_util.option('--vault-key-id', help=u"""The OCID of the Master Encryption Key in the OCI Vault specified by vaultId. This key will be used to encrypt the SSH keys to access the resource governed by this Delegation Control by Delegate Access Control Service. This property is required when resourceType is CLOUDVMCLUSTER.""")
@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].
@@ -380,7 +380,7 @@ def create_delegation_control(ctx, from_json, wait_for_state, max_wait_seconds,
@delegation_subscription_group.command(name=cli_util.override('delegate_access_control.create_delegation_subscription.command_name', 'create'), help=u"""Creates Delegation Subscription in Delegation Control. \n[Command Reference](createDelegationSubscription)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the Delegation Control.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the Delegation Control.""")
@cli_util.option('--service-provider-id', required=True, help=u"""Unique identifier of the Service Provider.""")
@cli_util.option('--subscribed-service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["TROUBLESHOOTING", "ASSISTED_PATCHING"]), help=u"""Subscribed Service Provider Service Type.""")
@cli_util.option('--description', help=u"""Description of the Delegation Subscription.""")
@@ -760,7 +760,7 @@ def list_delegated_resource_access_request_histories(ctx, from_json, all_pages,
@delegated_resource_access_request_group.command(name=cli_util.override('delegate_access_control.list_delegated_resource_access_requests.command_name', 'list'), help=u"""Lists all Delegated Resource Access Requests in the compartment. Note that only one of lifecycleState or requestStatus query parameter can be used. \n[Command Reference](listDelegatedResourceAccessRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--delegation-control-id', help=u"""unique Delegation Control identifier""")
@cli_util.option('--resource-id', help=u"""A filter to return only Delegated Resource Access Requests for the given resource identifier.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only Delegated Resource Access Requests whose lifecycleState matches the given Delegated Resource Access Request lifecycleState.""")
@@ -883,7 +883,7 @@ def list_delegation_control_resources(ctx, from_json, all_pages, page_size, dele
@delegation_control_group.command(name=cli_util.override('delegate_access_control.list_delegation_controls.command_name', 'list'), help=u"""Lists the Delegation Controls in the compartment. \n[Command Reference](listDelegationControls)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only Delegation Control resources whose lifecycleState matches the given Delegation Control lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return Delegation Control resources that match the given display name.""")
@cli_util.option('--resource-type', type=custom_types.CliCaseInsensitiveChoice(["VMCLUSTER", "CLOUDVMCLUSTER"]), help=u"""A filter to return only resources that match the given resource type.""")
@@ -949,7 +949,7 @@ def list_delegation_controls(ctx, from_json, all_pages, page_size, compartment_i
@delegation_subscription_group.command(name=cli_util.override('delegate_access_control.list_delegation_subscriptions.command_name', 'list'), help=u"""Lists the Delegation Subscriptions in Delegation Control. \n[Command Reference](listDelegationSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only Delegation Subscription resources whose lifecycleState matches the given Delegation Subscription lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return Delegation Subscription resources that match the given display name.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1009,7 +1009,7 @@ def list_delegation_subscriptions(ctx, from_json, all_pages, page_size, compartm
@service_provider_action_group.command(name=cli_util.override('delegate_access_control.list_service_provider_actions.command_name', 'list'), help=u"""Lists all the ServiceProviderActions available in the system. \n[Command Reference](listServiceProviderActions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@cli_util.option('--resource-type', type=custom_types.CliCaseInsensitiveChoice(["VMCLUSTER", "CLOUDVMCLUSTER"]), help=u"""A filter to return only resources that match the given resource type.""")
@cli_util.option('--service-provider-service-type', type=custom_types.CliCaseInsensitiveChoice(["TROUBLESHOOTING", "ASSISTED_PATCHING"]), multiple=True, help=u"""A filter to return only resources that match the given Service Provider service type.""")
@@ -1126,7 +1126,7 @@ def list_service_provider_interactions(ctx, from_json, all_pages, page_size, del
@service_provider_group.command(name=cli_util.override('delegate_access_control.list_service_providers.command_name', 'list'), help=u"""Lists the Service Providers. \n[Command Reference](listServiceProviders)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only Service Provider resources whose lifecycleState matches the given Service Provider lifecycle state.""")
@cli_util.option('--name', help=u"""A filter to return Service Provider resources that match the given name.""")
@cli_util.option('--supported-resource-type', type=custom_types.CliCaseInsensitiveChoice(["VMCLUSTER", "CLOUDVMCLUSTER"]), help=u"""A filter to return only Service Provider resources whose supported resource type matches the given resource type.""")
diff --git a/services/delegate_access_control/src/oci_cli_work_request/generated/workrequest_cli.py b/services/delegate_access_control/src/oci_cli_work_request/generated/workrequest_cli.py
index 57638d85..506a8470 100644
--- a/services/delegate_access_control/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/delegate_access_control/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -187,7 +187,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_request.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only work requests with the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/demand_signal/src/oci_cli_occ_demand_signal/generated/occdemandsignal_cli.py b/services/demand_signal/src/oci_cli_occ_demand_signal/generated/occdemandsignal_cli.py
index 021a2d1c..0aa444e0 100644
--- a/services/demand_signal/src/oci_cli_occ_demand_signal/generated/occdemandsignal_cli.py
+++ b/services/demand_signal/src/oci_cli_occ_demand_signal/generated/occdemandsignal_cli.py
@@ -42,7 +42,7 @@ def occ_demand_signal_group():
@occ_demand_signal_group.command(name=cli_util.override('demand_signal.change_occ_demand_signal_compartment.command_name', 'change-compartment'), help=u"""Moves a OccDemandSignal 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](changeOccDemandSignalCompartment)""")
@cli_util.option('--occ-demand-signal-id', required=True, help=u"""The [OCID] of the OccDemandSignal.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the OccDemandSignal to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the OccDemandSignal to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -74,7 +74,7 @@ def change_occ_demand_signal_compartment(ctx, from_json, occ_demand_signal_id, c
@occ_demand_signal_group.command(name=cli_util.override('demand_signal.create_occ_demand_signal.command_name', 'create'), help=u"""Creates a OccDemandSignal. \n[Command Reference](createOccDemandSignal)""")
@cli_util.option('--occ-demand-signals', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OccDemandSignal data.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-active', required=True, type=click.BOOL, help=u"""Indicator of whether to share the data with Oracle.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the OccDemandSignal in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the OccDemandSignal in.""")
@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.""")
@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].
@@ -227,7 +227,7 @@ def get_occ_demand_signal(ctx, from_json, occ_demand_signal_id):
@occ_demand_signal_collection_group.command(name=cli_util.override('demand_signal.list_occ_demand_signals.command_name', 'list-occ-demand-signals'), help=u"""Gets a list of OccDemandSignals. \n[Command Reference](listOccDemandSignals)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the OccDemandSignal.""")
diff --git a/services/desktops/src/oci_cli_desktop_service/generated/desktopservice_cli.py b/services/desktops/src/oci_cli_desktop_service/generated/desktopservice_cli.py
index 17d70562..6380601f 100644
--- a/services/desktops/src/oci_cli_desktop_service/generated/desktopservice_cli.py
+++ b/services/desktops/src/oci_cli_desktop_service/generated/desktopservice_cli.py
@@ -87,7 +87,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@desktop_pool_group.command(name=cli_util.override('desktops.change_desktop_pool_compartment.command_name', 'change-compartment'), help=u"""Moves a desktop pool into a different compartment within the same tenancy. You must provide the OCID of the desktop pool and the OCID of the compartment that you are moving the pool to. \n[Command Reference](changeDesktopPoolCompartment)""")
@cli_util.option('--desktop-pool-id', required=True, help=u"""The OCID of the desktop pool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment which will contain the desktop pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment which will contain the desktop pool.""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -147,7 +147,7 @@ def change_desktop_pool_compartment(ctx, from_json, wait_for_state, max_wait_sec
@desktop_pool_group.command(name=cli_util.override('desktops.create_desktop_pool.command_name', 'create'), help=u"""Creates a desktop pool with the given configuration parameters. \n[Command Reference](createDesktopPool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment which will contain the desktop pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment which will contain the desktop pool.""")
@cli_util.option('--display-name', required=True, help=u"""A user friendly display name. Avoid entering confidential information.""")
@cli_util.option('--maximum-size', required=True, type=click.INT, help=u"""The maximum number of desktops permitted in the desktop pool.""")
@cli_util.option('--standby-size', required=True, type=click.INT, help=u"""The maximum number of standby desktops available in the desktop pool.""")
@@ -449,7 +449,7 @@ def get_work_request(ctx, from_json, work_request_id):
@desktop_pool_group.command(name=cli_util.override('desktops.list_desktop_pool_desktops.command_name', 'list-desktop-pool-desktops'), help=u"""Returns a list of desktops within a given desktop pool. You can limit the results to an availability domain, desktop name, or desktop state. You can limit the number of results returned, sort the results by time or name, and sort in ascending or descending order. \n[Command Reference](listDesktopPoolDesktops)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the desktop pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the desktop pool.""")
@cli_util.option('--desktop-pool-id', required=True, help=u"""The OCID of the desktop pool.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.""")
@cli_util.option('--display-name', help=u"""A filter to return only results with the given displayName.""")
@@ -525,7 +525,7 @@ def list_desktop_pool_desktops(ctx, from_json, all_pages, page_size, compartment
@desktop_pool_group.command(name=cli_util.override('desktops.list_desktop_pool_volumes.command_name', 'list-desktop-pool-volumes'), help=u"""Returns a list of volumes within the given desktop pool. You can limit the results to an availability domain, volume name, or volume state. You can limit the number of results returned, sort the results by time or name, and sort in ascending or descending order. \n[Command Reference](listDesktopPoolVolumes)""")
@cli_util.option('--desktop-pool-id', required=True, help=u"""The OCID of the desktop pool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the desktop pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the desktop pool.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.""")
@cli_util.option('--display-name', help=u"""A filter to return only results with the given displayName.""")
@cli_util.option('--id', help=u"""A filter to return only results with the given OCID.""")
@@ -599,7 +599,7 @@ def list_desktop_pool_volumes(ctx, from_json, all_pages, page_size, desktop_pool
@desktop_pool_group.command(name=cli_util.override('desktops.list_desktop_pools.command_name', 'list'), help=u"""Returns a list of desktop pools within the given compartment. You can limit the results to an availability domain, pool name, or pool state. You can limit the number of results returned, sort the results by time or name, and sort in ascending or descending order. \n[Command Reference](listDesktopPools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the desktop pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the desktop pool.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.""")
@cli_util.option('--display-name', help=u"""A filter to return only results with the given displayName.""")
@cli_util.option('--id', help=u"""A filter to return only results with the given OCID.""")
@@ -667,7 +667,7 @@ def list_desktop_pools(ctx, from_json, all_pages, page_size, compartment_id, ava
@desktop_group.command(name=cli_util.override('desktops.list_desktops.command_name', 'list'), help=u"""Returns a list of desktops filtered by the specified parameters. You can limit the results to an availability domain, desktop name, desktop OCID, desktop state, pool OCID, or compartment OCID. You can limit the number of results returned, sort the results by time or name, and sort in ascending or descending order. \n[Command Reference](listDesktops)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the desktop pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the desktop pool.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.""")
@cli_util.option('--display-name', help=u"""A filter to return only results with the given displayName.""")
@cli_util.option('--id', help=u"""A filter to return only results with the given OCID.""")
@@ -852,7 +852,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('desktops.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment of the desktop pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment of the desktop pool.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/devops/src/oci_cli_devops/generated/devops_cli.py b/services/devops/src/oci_cli_devops/generated/devops_cli.py
index a160ccd9..22299a05 100644
--- a/services/devops/src/oci_cli_devops/generated/devops_cli.py
+++ b/services/devops/src/oci_cli_devops/generated/devops_cli.py
@@ -545,7 +545,7 @@ def cancel_scheduled_cascading_project_deletion(ctx, from_json, wait_for_state,
@project_group.command(name=cli_util.override('devops.change_project_compartment.command_name', 'change-compartment'), help=u"""Moves a project resource from one compartment OCID to another. \n[Command Reference](changeProjectCompartment)""")
@cli_util.option('--project-id', required=True, help=u"""Unique project identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which the resource must be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which the resource must be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "WAITING", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -4821,7 +4821,7 @@ def create_or_update_protected_branch(ctx, from_json, repository_id, branch_name
@project_group.command(name=cli_util.override('devops.create_project.command_name', 'create'), help=u"""Creates a new project. \n[Command Reference](createProject)""")
@cli_util.option('--name', required=True, help=u"""Project name (case-sensitive).""")
@cli_util.option('--notification-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the project is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the project is created.""")
@cli_util.option('--description', help=u"""Project description.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. See [Resource Tags]. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. See [Resource Tags]. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7685,7 +7685,7 @@ def list_authors(ctx, from_json, all_pages, page_size, repository_id, ref_name,
@build_pipeline_stage_summary_group.command(name=cli_util.override('devops.list_build_pipeline_stages.command_name', 'list-build-pipeline-stages'), help=u"""Returns a list of all stages in a compartment or build pipeline. \n[Command Reference](listBuildPipelineStages)""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--build-pipeline-id', help=u"""The OCID of the parent build pipeline.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return the stages that matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -7750,7 +7750,7 @@ def list_build_pipeline_stages(ctx, from_json, all_pages, page_size, id, build_p
@build_pipeline_collection_group.command(name=cli_util.override('devops.list_build_pipelines.command_name', 'list-build-pipelines'), help=u"""Returns a list of build pipelines. \n[Command Reference](listBuildPipelines)""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only build pipelines that matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -7882,7 +7882,7 @@ def list_build_run_snapshots(ctx, from_json, all_pages, page_size, pull_request_
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--build-pipeline-id', help=u"""Unique build pipeline identifier.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETING"]), help=u"""A filter to return only build runs that matches the given lifecycle state.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -8086,7 +8086,7 @@ def list_commits(ctx, from_json, all_pages, page_size, repository_id, ref_name,
@connection_collection_group.command(name=cli_util.override('devops.list_connections.command_name', 'list-connections'), help=u"""Returns a list of connections. \n[Command Reference](listConnections)""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETING"]), help=u"""A filter to return only connections that matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--connection-type', type=custom_types.CliCaseInsensitiveChoice(["GITHUB_ACCESS_TOKEN", "GITLAB_ACCESS_TOKEN", "GITLAB_SERVER_ACCESS_TOKEN", "BITBUCKET_SERVER_ACCESS_TOKEN", "BITBUCKET_CLOUD_APP_PASSWORD", "VBS_ACCESS_TOKEN"]), help=u"""A filter to return only resources that match the given connection type.""")
@@ -8154,7 +8154,7 @@ def list_connections(ctx, from_json, all_pages, page_size, id, project_id, compa
@deploy_artifact_summary_group.command(name=cli_util.override('devops.list_deploy_artifacts.command_name', 'list-deploy-artifacts'), help=u"""Returns a list of deployment artifacts. \n[Command Reference](listDeployArtifacts)""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only DeployArtifacts that matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -8218,7 +8218,7 @@ def list_deploy_artifacts(ctx, from_json, all_pages, page_size, id, project_id,
@deploy_environment_summary_group.command(name=cli_util.override('devops.list_deploy_environments.command_name', 'list-deploy-environments'), help=u"""Returns a list of deployment environments. \n[Command Reference](listDeployEnvironments)""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only DeployEnvironments that matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -8284,7 +8284,7 @@ def list_deploy_environments(ctx, from_json, all_pages, page_size, project_id, c
@deploy_pipeline_summary_group.command(name=cli_util.override('devops.list_deploy_pipelines.command_name', 'list-deploy-pipelines'), help=u"""Returns a list of deployment pipelines. \n[Command Reference](listDeployPipelines)""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only DeployPipelines that matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -8349,7 +8349,7 @@ def list_deploy_pipelines(ctx, from_json, all_pages, page_size, id, project_id,
@deploy_stage_summary_group.command(name=cli_util.override('devops.list_deploy_stages.command_name', 'list-deploy-stages'), help=u"""Retrieves a list of deployment stages. \n[Command Reference](listDeployStages)""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--deploy-pipeline-id', help=u"""The ID of the parent pipeline.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only deployment stages that matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -8414,7 +8414,7 @@ def list_deploy_stages(ctx, from_json, all_pages, page_size, id, deploy_pipeline
@deployment_summary_group.command(name=cli_util.override('devops.list_deployments.command_name', 'list-deployments'), help=u"""Returns a list of deployments. \n[Command Reference](listDeployments)""")
@cli_util.option('--deploy-pipeline-id', help=u"""The ID of the parent pipeline.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only Deployments that matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -8694,7 +8694,7 @@ def list_project_commit_analytics_authors(ctx, from_json, all_pages, page_size,
@project_summary_group.command(name=cli_util.override('devops.list_projects.command_name', 'list-projects'), help=u"""Returns a list of projects. \n[Command Reference](listProjects)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single resource by ID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only Projects that matches the given lifecycleState.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@@ -8875,7 +8875,7 @@ def list_pull_request_activities(ctx, from_json, all_pages, page_size, pull_requ
@pull_request_group.command(name=cli_util.override('devops.list_pull_request_attachments.command_name', 'list-pull-request-attachments'), help=u"""List PullRequest level attachments by identifier \n[Command Reference](listPullRequestAttachments)""")
@cli_util.option('--pull-request-id', required=True, help=u"""unique PullRequest identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use. Use either ascending or descending.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["fileName", "timeCreated", "createdBy"]), help=u"""The field to sort by. Only one sort order may be provided. Default order is ascending. If no value is specified timeCreated is default.""")
@cli_util.option('--file-name', help=u"""A filter to return only resources that match the entire file name given.""")
@@ -8992,7 +8992,7 @@ def list_pull_request_authors(ctx, from_json, all_pages, page_size, repository_i
@pull_request_group.command(name=cli_util.override('devops.list_pull_request_comments.command_name', 'list-pull-request-comments'), help=u"""List PullRequest level comments by identifier \n[Command Reference](listPullRequestComments)""")
@cli_util.option('--pull-request-id', required=True, help=u"""unique PullRequest identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use. Use either ascending or descending.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "createdBy"]), help=u"""The field to sort by. Only one sort order may be provided. Default order is ascending. If no value is specified timeCreated is default.""")
@cli_util.option('--comment-id', help=u"""unique PullRequest Comment identifier""")
@@ -9060,7 +9060,7 @@ def list_pull_request_comments(ctx, from_json, all_pages, page_size, pull_reques
@pull_request_collection_group.command(name=cli_util.override('devops.list_pull_requests.command_name', 'list-pull-requests'), help=u"""Returns a list of PullRequests. \n[Command Reference](listPullRequests)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only pull requests that match the given lifecycle state.""")
@cli_util.option('--lifecycle-details', type=custom_types.CliCaseInsensitiveChoice(["OPEN", "CONFLICT", "CLOSED", "MERGING", "MERGED"]), help=u"""A filter to return only pull requests that match the given lifecycle state.""")
@cli_util.option('--repository-id', help=u"""The OCID of the repository in which to list resources.""")
@@ -9209,7 +9209,7 @@ def list_refs(ctx, from_json, all_pages, page_size, repository_id, ref_type, com
@repository_group.command(name=cli_util.override('devops.list_repositories.command_name', 'list'), help=u"""Returns a list of repositories given a compartment ID or a project ID. \n[Command Reference](listRepositories)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
@cli_util.option('--repository-id', help=u"""Unique repository identifier.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETED", "FAILED", "DELETING"]), help=u"""A filter to return only resources whose lifecycle state matches the given lifecycle state.""")
@@ -9331,7 +9331,7 @@ def list_repository_commit_analytics_authors(ctx, from_json, all_pages, page_siz
@trigger_collection_group.command(name=cli_util.override('devops.list_triggers.command_name', 'list-triggers'), help=u"""Returns a list of triggers. \n[Command Reference](listTriggers)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--project-id', help=u"""unique project identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETING"]), help=u"""A filter to return only triggers that matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -9510,7 +9510,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('devops.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "WAITING", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources where the lifecycle state matches the given operation status.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/dif/src/oci_cli_stack/generated/stack_cli.py b/services/dif/src/oci_cli_stack/generated/stack_cli.py
index 09e76cb4..fb45a684 100644
--- a/services/dif/src/oci_cli_stack/generated/stack_cli.py
+++ b/services/dif/src/oci_cli_stack/generated/stack_cli.py
@@ -200,7 +200,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@stack_group.command(name=cli_util.override('dif.change_stack_compartment.command_name', 'change-compartment'), help=u"""Moves a Stack 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](changeStackCompartment)""")
@cli_util.option('--stack-id', required=True, help=u"""The [OCID] of the Stack.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Stack to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Stack to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELLING", "CANCELLED"]), 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.""")
@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.""")
@@ -261,7 +261,7 @@ def change_stack_compartment(ctx, from_json, wait_for_state, max_wait_seconds, w
@stack_group.command(name=cli_util.override('dif.create_stack.command_name', 'create'), help=u"""Creates a Stack. \n[Command Reference](createStack)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Should be unique per compartment. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the Stack in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the Stack in.""")
@cli_util.option('--stack-templates', required=True, type=custom_types.CliCaseInsensitiveChoice(["DATALAKE", "DATAPIPELINE", "AISERVICES", "DATATRANSFORMATION", "DEVOPSTOOLKIT"]), help=u"""List of templates to be onboarded for the stack.""")
@cli_util.option('--services', required=True, type=custom_types.CliCaseInsensitiveChoice(["ADB", "GGCS", "OBJECTSTORAGE", "GENAI", "DATAFLOW", "AIDATAPLATFORM", "OMK", "OKE"]), help=u"""List of services to be onboarded for the stack.""")
@cli_util.option('--notification-email', help=u"""email id to which the stack notifications would be sent.""")
@@ -442,7 +442,7 @@ def delete_stack(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@cli_util.option('--stack-id', required=True, help=u"""The [OCID] of the Stack.""")
@cli_util.option('--stack-templates', required=True, type=custom_types.CliCaseInsensitiveChoice(["DATALAKE", "DATAPIPELINE", "AISERVICES", "DATATRANSFORMATION", "DEVOPSTOOLKIT"]), help=u"""List of templates to be onboarded for the stack.""")
@cli_util.option('--services', required=True, type=custom_types.CliCaseInsensitiveChoice(["ADB", "GGCS", "OBJECTSTORAGE", "GENAI", "DATAFLOW", "AIDATAPLATFORM", "OMK", "OKE"]), help=u"""List of services to be onboarded for the stack.""")
-@cli_util.option('--subnet-id', help=u"""Subnet id for the Private Endpoint creation for artifact deployment.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Subnet id for the Private Endpoint creation for artifact deployment.""")
@cli_util.option('--adb', type=custom_types.CLI_COMPLEX_TYPE, help=u"""ADB artifact details if adb is included in the services.
This option is a JSON list with items of type AdbArtifactsDetail. For documentation on AdbArtifactsDetail please see our API reference: https://docs.cloud.oracle.com/api/#/en/stack/20250830/datatypes/AdbArtifactsDetail.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -580,7 +580,7 @@ def get_work_request(ctx, from_json, work_request_id):
@stack_collection_group.command(name=cli_util.override('dif.list_stacks.command_name', 'list-stacks'), help=u"""Gets a list of Stacks. \n[Command Reference](listStacks)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the Stack.""")
@@ -756,7 +756,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('dif.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELLING", "CANCELLED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/disaster_recovery/src/oci_cli_disaster_recovery/generated/disasterrecovery_cli.py b/services/disaster_recovery/src/oci_cli_disaster_recovery/generated/disasterrecovery_cli.py
index 8bb29067..651a25e7 100644
--- a/services/disaster_recovery/src/oci_cli_disaster_recovery/generated/disasterrecovery_cli.py
+++ b/services/disaster_recovery/src/oci_cli_disaster_recovery/generated/disasterrecovery_cli.py
@@ -247,7 +247,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@dr_protection_group_group.command(name=cli_util.override('disaster_recovery.change_dr_protection_group_compartment.command_name', 'change-compartment'), help=u"""Move the DR protection group identified by *drProtectionGroupId* to a different compartment. \n[Command Reference](changeDrProtectionGroupCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which the DR protection group should be moved.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which the DR protection group should be moved.
Example: `ocid1.compartment.oc1..uniqueID`""")
@cli_util.option('--dr-protection-group-id', required=True, help=u"""The OCID of the DR protection group.
@@ -1231,7 +1231,7 @@ def create_dr_plan_execution_failover_execution_option_details(ctx, from_json, w
@dr_protection_group_group.command(name=cli_util.override('disaster_recovery.create_dr_protection_group.command_name', 'create'), help=u"""Create a DR protection group. \n[Command Reference](createDrProtectionGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to create the DR protection group.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to create the DR protection group.
Example: `ocid1.compartment.oc1..uniqueID`""")
@cli_util.option('--display-name', required=True, help=u"""The display name of the DR protection group.
@@ -1808,7 +1808,7 @@ def get_work_request(ctx, from_json, work_request_id):
@dr_plan_execution_group.command(name=cli_util.override('disaster_recovery.ignore_dr_plan_execution.command_name', 'ignore'), help=u"""Ignore the failed group or step in DR plan execution identified by *drPlanExecutionId* and resume execution. \n[Command Reference](ignoreDrPlanExecution)""")
-@cli_util.option('--group-id', required=True, help=u"""The unique id of the group to ignore as a whole, or the group containing the step to ignore.
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique id of the group to ignore as a whole, or the group containing the step to ignore.
Example: `sgid1.group..uniqueID`""")
@cli_util.option('--dr-plan-execution-id', required=True, help=u"""The OCID of the DR plan execution.
@@ -2119,7 +2119,7 @@ def list_dr_plans(ctx, from_json, all_pages, page_size, dr_protection_group_id,
@dr_protection_group_group.command(name=cli_util.override('disaster_recovery.list_dr_protection_groups.command_name', 'list'), help=u"""Get a summary list of all DR protection groups in a compartment. \n[Command Reference](listDrProtectionGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID (OCID) of the compartment in which to list resources.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID (OCID) of the compartment in which to list resources.
Example: `ocid1.compartment.oc1..uniqueID`""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "INACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only DR protection groups that match the given lifecycle state.""")
@@ -2332,7 +2332,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('disaster_recovery.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID (OCID) of the compartment in which to list resources.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID (OCID) of the compartment in which to list resources.
Example: `ocid1.compartment.oc1..uniqueID`""")
@cli_util.option('--work-request-id', help=u"""The ID (OCID) of the asynchronous work request.
@@ -2662,7 +2662,7 @@ def resume_dr_plan_execution(ctx, from_json, wait_for_state, max_wait_seconds, w
@dr_plan_execution_group.command(name=cli_util.override('disaster_recovery.retry_dr_plan_execution.command_name', 'retry'), help=u"""Retry the failed group or step in DR plan execution identified by *drPlanExecutionId* and resume execution. \n[Command Reference](retryDrPlanExecution)""")
-@cli_util.option('--group-id', required=True, help=u"""The unique id of the group to retry as a whole, or the group containing the step being retried.
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique id of the group to retry as a whole, or the group containing the step being retried.
Example: `sgid1.group..uniqueID`""")
@cli_util.option('--dr-plan-execution-id', required=True, help=u"""The OCID of the DR plan execution.
diff --git a/services/distributed_database/src/oci_cli_distributed_autonomous_db_service/generated/distributedautonomousdbservice_cli.py b/services/distributed_database/src/oci_cli_distributed_autonomous_db_service/generated/distributedautonomousdbservice_cli.py
index 53954a18..2c8f69b7 100644
--- a/services/distributed_database/src/oci_cli_distributed_autonomous_db_service/generated/distributedautonomousdbservice_cli.py
+++ b/services/distributed_database/src/oci_cli_distributed_autonomous_db_service/generated/distributedautonomousdbservice_cli.py
@@ -42,7 +42,7 @@ def distributed_autonomous_database_group():
@distributed_autonomous_database_group.command(name=cli_util.override('distributed_autonomous_db_service.add_distributed_autonomous_database_gds_control_node.command_name', 'add'), help=u"""Add new Global database services control(GDS CTL) node for the Globally distributed autonomous database. \n[Command Reference](addDistributedAutonomousDatabaseGdsControlNode)""")
@cli_util.option('--distributed-autonomous-database-id', required=True, help=u"""Globally distributed autonomous database identifier""")
@cli_util.option('--public-ssh-key', required=True, help=u"""The public sshKey for Global database services control(GDS CTL) node.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet on which the Global database services control(GDS CTL) node should be created.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet on which the Global database services control(GDS CTL) node should be created.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -105,7 +105,7 @@ def add_distributed_autonomous_database_gds_control_node(ctx, from_json, wait_fo
@distributed_autonomous_database_group.command(name=cli_util.override('distributed_autonomous_db_service.change_distributed_autonomous_database_compartment.command_name', 'change-compartment'), help=u"""Move the Globally distributed autonomous database and its dependent resources to the specified compartment. \n[Command Reference](changeDistributedAutonomousDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--distributed-autonomous-database-id', required=True, help=u"""Globally distributed autonomous database identifier""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@@ -348,7 +348,7 @@ def configure_distributed_autonomous_database_sharding(ctx, from_json, wait_for_
@distributed_autonomous_database_group.command(name=cli_util.override('distributed_autonomous_db_service.create_distributed_autonomous_database.command_name', 'create'), help=u"""Creates a Globally distributed autonomous database. \n[Command Reference](createDistributedAutonomousDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Globally distributed autonomous database compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Globally distributed autonomous database compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The display name of the Globally distributed autonomous database.""")
@cli_util.option('--database-version', required=True, help=u"""Oracle Database version for the shards and catalog used in Globally distributed autonomous database.""")
@cli_util.option('--prefix', required=True, help=u"""Unique name prefix for the Globally distributed autonomous databases. Only alpha-numeric values are allowed. First character has to be a letter followed by any combination of letter and number.""")
@@ -704,7 +704,7 @@ def get_distributed_autonomous_database(ctx, from_json, distributed_autonomous_d
@distributed_autonomous_database_collection_group.command(name=cli_util.override('distributed_autonomous_db_service.list_distributed_autonomous_databases.command_name', 'list-distributed-autonomous-databases'), help=u"""List of Globally distributed autonomous databases. \n[Command Reference](listDistributedAutonomousDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "FAILED", "NEEDS_ATTENTION", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
diff --git a/services/distributed_database/src/oci_cli_distributed_db_private_endpoint_service/generated/distributeddbprivateendpointservice_cli.py b/services/distributed_database/src/oci_cli_distributed_db_private_endpoint_service/generated/distributeddbprivateendpointservice_cli.py
index 73c139f1..760109af 100644
--- a/services/distributed_database/src/oci_cli_distributed_db_private_endpoint_service/generated/distributeddbprivateendpointservice_cli.py
+++ b/services/distributed_database/src/oci_cli_distributed_db_private_endpoint_service/generated/distributeddbprivateendpointservice_cli.py
@@ -40,7 +40,7 @@ def distributed_database_private_endpoint_group():
@distributed_database_private_endpoint_group.command(name=cli_util.override('distributed_db_private_endpoint_service.change_distributed_database_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves the DistributedDatabasePrivateEndpoint to the specified compartment. \n[Command Reference](changeDistributedDatabasePrivateEndpointCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--distributed-database-private-endpoint-id', required=True, help=u"""Distributed Database PrivateEndpoint identifier""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@@ -101,8 +101,8 @@ def change_distributed_database_private_endpoint_compartment(ctx, from_json, wai
@distributed_database_private_endpoint_group.command(name=cli_util.override('distributed_db_private_endpoint_service.create_distributed_database_private_endpoint.command_name', 'create'), help=u"""Creates a DistributedDatabasePrivateEndpoint. \n[Command Reference](createDistributedDatabasePrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Identifier of the compartment where private endpoint is to be created.""")
-@cli_util.option('--subnet-id', required=True, help=u"""Identifier of the customer subnet against which private endpoint is to be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the compartment where private endpoint is to be created.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the customer subnet against which private endpoint is to be created.""")
@cli_util.option('--display-name', required=True, help=u"""Private endpoint display name.""")
@cli_util.option('--description', help=u"""DistributedDatabasePrivateEndpoint description.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OCIDs of the network security groups that the private endpoint belongs to.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -255,7 +255,7 @@ def get_distributed_database_private_endpoint(ctx, from_json, distributed_databa
@distributed_database_private_endpoint_collection_group.command(name=cli_util.override('distributed_db_private_endpoint_service.list_distributed_database_private_endpoints.command_name', 'list-distributed-database-private-endpoints'), help=u"""List of DistributedDatabasePrivateEndpoints. \n[Command Reference](listDistributedDatabasePrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "FAILED", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
diff --git a/services/distributed_database/src/oci_cli_distributed_db_service/generated/distributeddbservice_cli.py b/services/distributed_database/src/oci_cli_distributed_db_service/generated/distributeddbservice_cli.py
index 5d6bd383..3a7b8fdd 100644
--- a/services/distributed_database/src/oci_cli_distributed_db_service/generated/distributeddbservice_cli.py
+++ b/services/distributed_database/src/oci_cli_distributed_db_service/generated/distributeddbservice_cli.py
@@ -42,7 +42,7 @@ def distributed_database_group():
@distributed_database_group.command(name=cli_util.override('distributed_db_service.add_distributed_database_gds_control_node.command_name', 'add'), help=u"""Add new Global database services control(GDS CTL) node for the Globally distributed database. \n[Command Reference](addDistributedDatabaseGdsControlNode)""")
@cli_util.option('--distributed-database-id', required=True, help=u"""Globally distributed database identifier""")
@cli_util.option('--public-ssh-key', required=True, help=u"""The public sshKey for Global database services control(GDS CTL) node.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet on which the Global database services control(GDS CTL) node should be created.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet on which the Global database services control(GDS CTL) node should be created.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -105,7 +105,7 @@ def add_distributed_database_gds_control_node(ctx, from_json, wait_for_state, ma
@distributed_database_group.command(name=cli_util.override('distributed_db_service.change_distributed_database_compartment.command_name', 'change-compartment'), help=u"""Move the Globally distributed database and its dependent resources to the specified compartment. \n[Command Reference](changeDistributedDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--distributed-database-id', required=True, help=u"""Globally distributed database identifier""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@@ -348,7 +348,7 @@ def configure_distributed_database_sharding(ctx, from_json, wait_for_state, max_
@distributed_database_group.command(name=cli_util.override('distributed_db_service.create_distributed_database.command_name', 'create'), help=u"""Creates a Globally distributed database. \n[Command Reference](createDistributedDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Globally distributed database compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Globally distributed database compartment.""")
@cli_util.option('--display-name', required=True, help=u"""The display name of the Globally distributed database.""")
@cli_util.option('--database-version', required=True, help=u"""Oracle Database version for the shards and catalog used in Globally distributed database.""")
@cli_util.option('--prefix', required=True, help=u"""Unique name prefix for the Globally distributed databases. Only alpha-numeric values are allowed. First character has to be a letter followed by any combination of letter and number.""")
@@ -706,7 +706,7 @@ def get_distributed_database(ctx, from_json, distributed_database_id, metadata,
@distributed_database_collection_group.command(name=cli_util.override('distributed_db_service.list_distributed_databases.command_name', 'list-distributed-databases'), help=u"""List of Globally distributed databases. \n[Command Reference](listDistributedDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "FAILED", "NEEDS_ATTENTION", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
diff --git a/services/distributed_database/src/oci_cli_distributed_db_work_request_service/generated/distributeddbworkrequestservice_cli.py b/services/distributed_database/src/oci_cli_distributed_db_work_request_service/generated/distributeddbworkrequestservice_cli.py
index 2237c57d..e61026c4 100644
--- a/services/distributed_database/src/oci_cli_distributed_db_work_request_service/generated/distributeddbworkrequestservice_cli.py
+++ b/services/distributed_database/src/oci_cli_distributed_db_work_request_service/generated/distributeddbworkrequestservice_cli.py
@@ -183,7 +183,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('distributed_db_work_request_service.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/dns/src/oci_cli_dns/generated/dns_cli.py b/services/dns/src/oci_cli_dns/generated/dns_cli.py
index f360d52b..06b281d8 100644
--- a/services/dns/src/oci_cli_dns/generated/dns_cli.py
+++ b/services/dns/src/oci_cli_dns/generated/dns_cli.py
@@ -111,7 +111,7 @@ def records_group():
Zones in the default view are not moved. VCN-dedicated resolvers are initially created in the same compartment as their corresponding VCN, but can then be moved to a different compartment. \n[Command Reference](changeResolverCompartment)""")
@cli_util.option('--resolver-id', required=True, help=u"""The OCID of the target resolver.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resolver, along with its protected default view and resolver endpoints, should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resolver, along with its protected default view and resolver endpoints, should be moved.""")
@cli_util.option('--if-match', help=u"""The `If-Match` header field makes the request method conditional on the existence of at least one current representation of the target resource, when the field-value is `*`, or having a current representation of the target resource that has an entity-tag matching a member of the list of entity-tags provided in the field-value.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -183,7 +183,7 @@ def change_resolver_compartment(ctx, from_json, wait_for_state, max_wait_seconds
@steering_policy_group.command(name=cli_util.override('dns.change_steering_policy_compartment.command_name', 'change-compartment'), help=u"""Moves a steering policy into a different compartment. \n[Command Reference](changeSteeringPolicyCompartment)""")
@cli_util.option('--steering-policy-id', required=True, help=u"""The OCID of the target steering policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the steering policy should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the steering policy should be moved.""")
@cli_util.option('--if-match', help=u"""The `If-Match` header field makes the request method conditional on the existence of at least one current representation of the target resource, when the field-value is `*`, or having a current representation of the target resource that has an entity-tag matching a member of the list of entity-tags provided in the field-value.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -255,7 +255,7 @@ def change_steering_policy_compartment(ctx, from_json, wait_for_state, max_wait_
@tsig_key_group.command(name=cli_util.override('dns.change_tsig_key_compartment.command_name', 'change-compartment'), help=u"""Moves a TSIG key into a different compartment. \n[Command Reference](changeTsigKeyCompartment)""")
@cli_util.option('--tsig-key-id', required=True, help=u"""The OCID of the target TSIG key.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the TSIG key should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the TSIG key should be moved.""")
@cli_util.option('--if-match', help=u"""The `If-Match` header field makes the request method conditional on the existence of at least one current representation of the target resource, when the field-value is `*`, or having a current representation of the target resource that has an entity-tag matching a member of the list of entity-tags provided in the field-value.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -291,7 +291,7 @@ def change_tsig_key_compartment(ctx, from_json, tsig_key_id, compartment_id, if_
To change the compartment of a protected view, change the compartment of its corresponding resolver. \n[Command Reference](changeViewCompartment)""")
@cli_util.option('--view-id', required=True, help=u"""The OCID of the target view.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the view should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the view should be moved.""")
@cli_util.option('--if-match', help=u"""The `If-Match` header field makes the request method conditional on the existence of at least one current representation of the target resource, when the field-value is `*`, or having a current representation of the target resource that has an entity-tag matching a member of the list of entity-tags provided in the field-value.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -367,7 +367,7 @@ def change_view_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wa
**Note:** All SteeringPolicyAttachment objects associated with this zone will also be moved into the provided compartment. \n[Command Reference](changeZoneCompartment)""")
@cli_util.option('--zone-id', required=True, help=u"""The OCID of the target zone.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the zone should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the zone should be moved.""")
@cli_util.option('--if-match', help=u"""The `If-Match` header field makes the request method conditional on the existence of at least one current representation of the target resource, when the field-value is `*`, or having a current representation of the target resource that has an entity-tag matching a member of the list of entity-tags provided in the field-value.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@@ -515,7 +515,7 @@ def create_resolver_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, w
@cli_util.option('--name', required=True, help=u"""The name of the resolver endpoint. Must be unique, case-insensitive, within the resolver.""")
@cli_util.option('--is-forwarding', required=True, type=click.BOOL, help=u"""A Boolean flag indicating whether or not the resolver endpoint is for forwarding.""")
@cli_util.option('--is-listening', required=True, type=click.BOOL, help=u"""A Boolean flag indicating whether or not the resolver endpoint is for listening.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of a subnet. Must be part of the VCN that the resolver is attached to.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of a subnet. Must be part of the VCN that the resolver is attached to.""")
@cli_util.option('--forwarding-address', help=u"""An IP address from which forwarded queries may be sent. For VNIC endpoints, this IP address must be part of the subnet and will be assigned by the system if unspecified when isForwarding is true.""")
@cli_util.option('--listening-address', help=u"""An IP address to listen to queries on. For VNIC endpoints this IP address must be part of the subnet and will be assigned by the system if unspecified when isListening is true.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of network security group OCIDs for the resolver endpoint. These must be part of the VCN that the resolver endpoint is a part of.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -588,7 +588,7 @@ def create_resolver_endpoint_create_resolver_vnic_endpoint_details(ctx, from_jso
@steering_policy_group.command(name=cli_util.override('dns.create_steering_policy.command_name', 'create'), help=u"""Creates a new steering policy in the specified compartment. For more information on creating policies with templates, see [Traffic Management API Guide]. \n[Command Reference](createSteeringPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the steering policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the steering policy.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the steering policy. Does not have to be unique and can be changed. Avoid entering confidential information.""")
@cli_util.option('--template', required=True, type=custom_types.CliCaseInsensitiveChoice(["FAILOVER", "LOAD_BALANCE", "ROUTE_BY_GEO", "ROUTE_BY_ASN", "ROUTE_BY_IP", "CUSTOM"]), help=u"""A set of predefined rules based on the desired purpose of the steering policy. Each template utilizes Traffic Management's rules in a different order to produce the desired results when answering DNS queries.
@@ -764,7 +764,7 @@ def create_steering_policy_attachment(ctx, from_json, wait_for_state, max_wait_s
@tsig_key_group.command(name=cli_util.override('dns.create_tsig_key.command_name', 'create'), help=u"""Creates a new TSIG key in the specified compartment. There is no `opc-retry-token` header since TSIG key names must be globally unique. \n[Command Reference](createTsigKey)""")
@cli_util.option('--algorithm', required=True, help=u"""TSIG key algorithms are encoded as domain names, but most consist of only one non-empty label, which is not required to be explicitly absolute. Applicable algorithms include: hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha512. For more information on these algorithms, see [RFC 4635].""")
@cli_util.option('--name', required=True, help=u"""A globally unique domain name identifying the key for a given pair of hosts.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the TSIG key.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the TSIG key.""")
@cli_util.option('--secret', required=True, help=u"""A base64 string encoding the binary shared secret.""")
@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].
@@ -832,7 +832,7 @@ def create_tsig_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@view_group.command(name=cli_util.override('dns.create_view.command_name', 'create'), help=u"""Creates a new view in the specified compartment. \n[Command Reference](createView)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the owning compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the owning compartment.""")
@cli_util.option('--display-name', help=u"""The display name of the view.""")
@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].
@@ -914,7 +914,7 @@ def create_view(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@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].
**Example:** `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@@ -1016,7 +1016,7 @@ def create_zone(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
Enabling DNSSEC results in additional records in DNS responses which increases their size and can cause higher response latency.
For more information, see [DNSSEC].""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@@ -1116,7 +1116,7 @@ def create_zone_create_zone_details(ctx, from_json, wait_for_state, max_wait_sec
**Example:** `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--dynect-migration-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@@ -1187,7 +1187,7 @@ def create_zone_create_migrated_dynect_zone_details(ctx, from_json, wait_for_sta
@zone_group.command(name=cli_util.override('dns.create_zone_from_zone_file.command_name', 'create-zone-from-zone-file'), help=u"""Creates a new zone from a zone file in the specified compartment. Not supported for private zones. \n[Command Reference](createZoneFromZoneFile)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--create-zone-from-zone-file-details', required=True, help=u"""The zone file contents.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the resource is associated with.""")
@@ -1226,7 +1226,7 @@ def create_zone_from_zone_file(ctx, from_json, compartment_id, create_zone_from_
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.confirm_delete_option
@@ -1342,7 +1342,7 @@ def delete_resolver_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, w
@cli_util.option('--rtype', required=True, help=u"""The type of the target RRSet within the target zone.""")
@cli_util.option('--if-match', help=u"""The `If-Match` header field makes the request method conditional on the existence of at least one current representation of the target resource, when the field-value is `*`, or having a current representation of the target resource that has an entity-tag matching a member of the list of entity-tags provided in the field-value.""")
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@@ -1650,7 +1650,7 @@ def delete_view(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.confirm_delete_option
@@ -1730,7 +1730,7 @@ def delete_zone(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["rtype", "ttl"]), help=u"""The field by which to sort records.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The order to sort the resources.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@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.""")
@@ -1886,7 +1886,7 @@ def get_resolver_endpoint(ctx, from_json, resolver_id, resolver_endpoint_name, i
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a page of the collection.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--zone-version', help=u"""The version of the zone for which data is requested.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@@ -2096,7 +2096,7 @@ def get_view(ctx, from_json, view_id, if_modified_since, if_none_match, scope):
@cli_util.option('--if-modified-since', help=u"""The `If-Modified-Since` header field makes a GET or HEAD request method conditional on the selected representation's modification date being more recent than the date provided in the field-value. Transfer of the selected representation's data is avoided if that data has not changed.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -2200,7 +2200,7 @@ def get_zone_content(ctx, from_json, file, zone_name_or_id, if_none_match, if_mo
@cli_util.option('--rtype', help=u"""Search by record type. Will match any record whose [type] (case-insensitive) equals the provided value.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["domain", "rtype", "ttl"]), help=u"""The field by which to sort records.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The order to sort the resources.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@@ -2343,7 +2343,7 @@ def list_resolver_endpoints(ctx, from_json, all_pages, page_size, resolver_id, n
@resolver_group.command(name=cli_util.override('dns.list_resolvers.command_name', 'list'), help=u"""Gets a list of all resolvers within a compartment.
The collection can be filtered by display name, id, or lifecycle state. It can be sorted on creation time or displayName both in ASC or DESC order. Note that when no lifecycleState query parameter is provided, the collection does not include resolvers in the DELETED lifecycleState to be consistent with other operations of the API. \n[Command Reference](listResolvers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--display-name', help=u"""The displayName of a resource.""")
@cli_util.option('--id', help=u"""The OCID of a resource.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@@ -2409,7 +2409,7 @@ def list_resolvers(ctx, from_json, all_pages, page_size, compartment_id, display
@steering_policy_group.command(name=cli_util.override('dns.list_steering_policies.command_name', 'list'), help=u"""Gets a list of all steering policies in the specified compartment. \n[Command Reference](listSteeringPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a page of the collection.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--id', help=u"""The OCID of a resource.""")
@@ -2490,7 +2490,7 @@ def list_steering_policies(ctx, from_json, all_pages, page_size, compartment_id,
@steering_policy_attachment_group.command(name=cli_util.override('dns.list_steering_policy_attachments.command_name', 'list'), help=u"""Lists the steering policy attachments in the specified compartment. \n[Command Reference](listSteeringPolicyAttachments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a page of the collection.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--id', help=u"""The OCID of a resource.""")
@@ -2574,7 +2574,7 @@ def list_steering_policy_attachments(ctx, from_json, all_pages, page_size, compa
@tsig_key_group.command(name=cli_util.override('dns.list_tsig_keys.command_name', 'list'), help=u"""Gets a list of all TSIG keys in the specified compartment. \n[Command Reference](listTsigKeys)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a page of the collection.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--id', help=u"""The OCID of a resource.""")
@@ -2642,7 +2642,7 @@ def list_tsig_keys(ctx, from_json, all_pages, page_size, compartment_id, limit,
@view_group.command(name=cli_util.override('dns.list_views.command_name', 'list'), help=u"""Gets a list of all views within a compartment.
The collection can be filtered by display name, id, or lifecycle state. It can be sorted on creation time or displayName both in ASC or DESC order. Note that when no lifecycleState query parameter is provided, the collection does not include views in the DELETED lifecycleState to be consistent with other operations of the API. \n[Command Reference](listViews)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--display-name', help=u"""The displayName of a resource.""")
@cli_util.option('--id', help=u"""The OCID of a resource.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@@ -2708,7 +2708,7 @@ def list_views(ctx, from_json, all_pages, page_size, compartment_id, display_nam
@zone_transfer_server_group.command(name=cli_util.override('dns.list_zone_transfer_servers.command_name', 'list'), help=u"""Gets a list of IP addresses of OCI nameservers for inbound and outbound transfer of zones in the specified compartment (which must be the root compartment of a tenancy) that transfer zone data with external master or downstream nameservers. \n[Command Reference](listZoneTransferServers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@@ -2743,7 +2743,7 @@ def list_zone_transfer_servers(ctx, from_json, all_pages, compartment_id, scope,
@zone_group.command(name=cli_util.override('dns.list_zones.command_name', 'list'), help=u"""Gets a list of all zones in the specified compartment.
The collection can be filtered by name, time created, scope, associated view, and zone type. Filtering by view is only supported for private zones. \n[Command Reference](listZones)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the resource belongs to.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a page of the collection.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--name', help=u"""A case-sensitive filter for zone names. Will match any zone with a name that equals the provided value.""")
@@ -2838,7 +2838,7 @@ def list_zones(ctx, from_json, all_pages, page_size, compartment_id, limit, page
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'dns', 'class': 'list[RecordOperation]'}})
@@ -2895,7 +2895,7 @@ def patch_domain_records(ctx, from_json, zone_name_or_id, domain, items, if_matc
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'dns', 'class': 'list[RecordOperation]'}})
@@ -2954,7 +2954,7 @@ def patch_rr_set(ctx, from_json, zone_name_or_id, domain, rtype, items, if_match
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'dns', 'class': 'list[RecordOperation]'}})
@@ -3164,7 +3164,7 @@ def stage_zone_dnssec_key_version(ctx, from_json, wait_for_state, max_wait_secon
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -3467,7 +3467,7 @@ def update_resolver_endpoint_update_resolver_vnic_endpoint_details(ctx, from_jso
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -3908,7 +3908,7 @@ def update_view(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -4002,7 +4002,7 @@ def update_zone(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--if-unmodified-since', help=u"""The `If-Unmodified-Since` header field makes the request method conditional on the selected representation's last modification date being earlier than or equal to the date provided in the field-value. This field accomplishes the same purpose as If-Match for cases where the user agent does not have an entity-tag for the representation.""")
@cli_util.option('--scope', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "PRIVATE"]), help=u"""Specifies to operate only on resources that have a matching DNS scope.""")
@cli_util.option('--view-id', help=u"""The OCID of the view the zone is associated with. Required when accessing a private zone by name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment the zone belongs to.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the zone belongs to.
This parameter is deprecated and should be omitted.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
diff --git a/services/em_warehouse/src/oci_cli_em_warehouse/generated/emwarehouse_cli.py b/services/em_warehouse/src/oci_cli_em_warehouse/generated/emwarehouse_cli.py
index 2dbb167c..858bd7c8 100644
--- a/services/em_warehouse/src/oci_cli_em_warehouse/generated/emwarehouse_cli.py
+++ b/services/em_warehouse/src/oci_cli_em_warehouse/generated/emwarehouse_cli.py
@@ -101,7 +101,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@em_warehouse_group.command(name=cli_util.override('em_warehouse.change_em_warehouse_compartment.command_name', 'change-compartment'), help=u"""Moves a EmWarehouse resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeEmWarehouseCompartment)""")
@cli_util.option('--em-warehouse-id', required=True, help=u"""unique EmWarehouse identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -162,7 +162,7 @@ def change_em_warehouse_compartment(ctx, from_json, wait_for_state, max_wait_sec
@em_warehouse_group.command(name=cli_util.override('em_warehouse.create_em_warehouse.command_name', 'create'), help=u"""Creates a new EmWarehouse. \n[Command Reference](createEmWarehouse)""")
@cli_util.option('--em-bridge-id', required=True, help=u"""EMBridge Identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--operations-insights-warehouse-id', required=True, help=u"""operations Insights Warehouse Identifier""")
@cli_util.option('--display-name', help=u"""EmWarehouse Identifier""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -352,7 +352,7 @@ def get_work_request(ctx, from_json, work_request_id):
@em_warehouse_collection_group.command(name=cli_util.override('em_warehouse.list_em_warehouses.command_name', 'list-em-warehouses'), help=u"""Returns a list of EmWarehouses. \n[Command Reference](listEmWarehouses)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--operations-insights-warehouse-id', help=u"""unique operationsInsightsWarehouseId identifier""")
@@ -418,7 +418,7 @@ def list_em_warehouses(ctx, from_json, all_pages, page_size, compartment_id, lif
@etl_run_collection_group.command(name=cli_util.override('em_warehouse.list_etl_runs.command_name', 'list-etl-runs'), help=u"""Gets a list of runs of an EmWarehouseResource by identifier \n[Command Reference](listEtlRuns)""")
@cli_util.option('--em-warehouse-id', required=True, help=u"""unique EmWarehouse identifier""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -594,7 +594,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('em_warehouse.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@@ -657,7 +657,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, wor
@em_warehouse_group.command(name=cli_util.override('em_warehouse.update_em_warehouse.command_name', 'update'), help=u"""Updates the EmWarehouse \n[Command Reference](updateEmWarehouse)""")
@cli_util.option('--em-warehouse-id', required=True, help=u"""unique EmWarehouse identifier""")
-@cli_util.option('--compartment-id', help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--em-bridge-id', help=u"""EMBridge Identifier""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/email/src/oci_cli_email/generated/email_cli.py b/services/email/src/oci_cli_email/generated/email_cli.py
index 49f61e34..b774000b 100644
--- a/services/email/src/oci_cli_email/generated/email_cli.py
+++ b/services/email/src/oci_cli_email/generated/email_cli.py
@@ -122,7 +122,7 @@ def work_request_log_entry_collection_group():
@email_domain_group.command(name=cli_util.override('email.add_email_domain_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addEmailDomainLock)""")
@cli_util.option('--email-domain-id', required=True, help=u"""The [OCID] of this email domain.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--related-resource-id', help=u"""The resource ID that is locking this resource. Indicates that deleting this resource removes the lock.""")
@cli_util.option('--message', help=u"""A message added by the lock creator. The message typically gives an indication of why the resource is locked.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@@ -191,7 +191,7 @@ def add_email_domain_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait
@email_ip_pool_group.command(name=cli_util.override('email.add_email_ip_pool_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addEmailIpPoolLock)""")
@cli_util.option('--email-ip-pool-id', required=True, help=u"""The [OCID] of the IpPool.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--related-resource-id', help=u"""The resource ID that is locking this resource. Indicates that deleting this resource removes the lock.""")
@cli_util.option('--message', help=u"""A message added by the lock creator. The message typically gives an indication of why the resource is locked.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@@ -321,7 +321,7 @@ def add_email_outbound_ip(ctx, from_json, wait_for_state, max_wait_seconds, wait
@email_return_path_group.command(name=cli_util.override('email.add_return_path_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addReturnPathLock)""")
@cli_util.option('--email-return-path-id', required=True, help=u"""The [OCID] of this email return path.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--related-resource-id', help=u"""The resource ID that is locking this resource. Indicates that deleting this resource removes the lock.""")
@cli_util.option('--message', help=u"""A message added by the lock creator. The message typically gives an indication of why the resource is locked.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@@ -390,7 +390,7 @@ def add_return_path_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@sender_group.command(name=cli_util.override('email.add_sender_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addSenderLock)""")
@cli_util.option('--sender-id', required=True, help=u"""The unique OCID of the sender.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--related-resource-id', help=u"""The resource ID that is locking this resource. Indicates that deleting this resource removes the lock.""")
@cli_util.option('--message', help=u"""A message added by the lock creator. The message typically gives an indication of why the resource is locked.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@@ -460,7 +460,7 @@ def add_sender_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
**Note:** All DKIM objects associated with this email domain will also be moved into the provided compartment. \n[Command Reference](changeEmailDomainCompartment)""")
@cli_util.option('--email-domain-id', required=True, help=u"""The [OCID] of this email domain.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the specified resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the specified resource to.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@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.""")
@@ -524,7 +524,7 @@ def change_email_domain_compartment(ctx, from_json, wait_for_state, max_wait_sec
@email_ip_pool_group.command(name=cli_util.override('email.change_email_ip_pool_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeEmailIpPoolCompartment)""")
@cli_util.option('--email-ip-pool-id', required=True, help=u"""The [OCID] of the IpPool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@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.""")
@@ -588,7 +588,7 @@ def change_email_ip_pool_compartment(ctx, from_json, wait_for_state, max_wait_se
@sender_group.command(name=cli_util.override('email.change_sender_compartment.command_name', 'change-compartment'), help=u"""Moves a sender into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeSenderCompartment)""")
@cli_util.option('--sender-id', required=True, help=u"""The unique OCID of the sender.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the sender should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the sender should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -703,7 +703,7 @@ def create_dkim(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@email_domain_group.command(name=cli_util.override('email.create_email_domain.command_name', 'create'), help=u"""Creates a new email domain. Avoid entering confidential information. \n[Command Reference](createEmailDomain)""")
@cli_util.option('--name', required=True, help=u"""The name of the email domain in the Internet Domain Name System (DNS). The email domain name must be unique in the region for this tenancy. Domain names limited to ASCII characters use alphanumeric, dash (\"-\"), and dot (\".\") characters. The dash and dot are only allowed between alphanumeric characters. For details, see [RFC 5321, section 4.1.2] Non-ASCII domain names should adopt IDNA2008 normalization (RFC 5891-5892).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for this email domain.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for this email domain.""")
@cli_util.option('--domain-verification-id', help=u"""Id for Domain in Domain Management (under governance) if DOMAINID verification method used.""")
@cli_util.option('--description', help=u"""A string that describes the details about the domain. It does not have to be unique, and you can change it. Avoid entering confidential information.""")
@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].
@@ -780,7 +780,7 @@ def create_email_domain(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@cli_util.option('--name', required=True, help=u"""The name of the IpPool. The name must be unique within a region. The name is case sensitive and supported characters include alphanumeric, hyphens (\"-\") and underscore (\"_\") characters.
Example: green_pool-1""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for this IpPool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for this IpPool.""")
@cli_util.option('--outbound-ips', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of outbound public IPs for assignment to the IpPool. These IPs must be in the AVAILABLE state to be eligible for assignment.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""The description of the IpPool. Avoid entering confidential information.""")
@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].
@@ -925,7 +925,7 @@ def create_email_return_path(ctx, from_json, wait_for_state, max_wait_seconds, w
@sender_group.command(name=cli_util.override('email.create_sender.command_name', 'create'), help=u"""Creates a sender for a tenancy in a given compartment. \n[Command Reference](createSender)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the sender.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the sender.""")
@cli_util.option('--email-address', required=True, help=u"""The email address of the sender.""")
@cli_util.option('--email-ip-pool-id', help=u"""An optional field. The IpPool [OCID] used to submit an email by Email Delivery when sent from this sender.""")
@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].
@@ -992,7 +992,7 @@ def create_sender(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@suppression_group.command(name=cli_util.override('email.create_suppression.command_name', 'create'), help=u"""Adds recipient email addresses to the suppression list for a tenancy. Addresses added to the suppression list via the API are denoted as \"MANUAL\" in the `reason` field. *Note:* All email addresses added to the suppression list are normalized to include only lowercase letters. \n[Command Reference](createSuppression)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to contain the suppression. Since suppressions are at the customer level, this must be the tenancy OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to contain the suppression. Since suppressions are at the customer level, this must be the tenancy OCID.""")
@cli_util.option('--email-address', required=True, help=u"""The recipient email address of the suppression.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1362,7 +1362,7 @@ def get_dkim(ctx, from_json, dkim_id):
@configuration_group.command(name=cli_util.override('email.get_email_configuration.command_name', 'get-email'), help=u"""Returns email configuration associated with the specified compartment. \n[Command Reference](getEmailConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1580,7 +1580,7 @@ def list_dkims(ctx, from_json, all_pages, page_size, email_domain_id, id, name,
@email_domain_group.command(name=cli_util.override('email.list_email_domains.command_name', 'list'), help=u"""Lists email domains in the specified compartment. \n[Command Reference](listEmailDomains)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@cli_util.option('--id', help=u"""A filter to only return resources that match the given id exactly.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@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. `1` is the minimum, `1000` is the maximum. For important details about how pagination works, see [List Pagination].""")
@@ -1647,7 +1647,7 @@ def list_email_domains(ctx, from_json, all_pages, page_size, compartment_id, id,
@email_ip_pool_collection_group.command(name=cli_util.override('email.list_email_ip_pools.command_name', 'list-email-ip-pools'), help=u"""Returns a list of EmailIpPools. \n[Command Reference](listEmailIpPools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@cli_util.option('--id', help=u"""A filter to only return resources that match the given id exactly.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "INACTIVE"]), help=u"""Filter returned list by specified lifecycle state. This parameter is case-insensitive.""")
@@ -1714,7 +1714,7 @@ def list_email_ip_pools(ctx, from_json, all_pages, page_size, compartment_id, id
@email_outbound_ip_collection_group.command(name=cli_util.override('email.list_email_outbound_ips.command_name', 'list-email-outbound-ips'), help=u"""Returns a list of all Outbound Public IPs assigned for a given tenant. \n[Command Reference](listEmailOutboundIps)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@cli_util.option('--outbound-ip', help=u"""The outbound IP address assigned to the tenancy.""")
@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. `1` is the minimum, `1000` is the maximum. For important details about how pagination works, see [List Pagination].""")
@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].""")
@@ -1777,7 +1777,7 @@ def list_email_outbound_ips(ctx, from_json, all_pages, page_size, compartment_id
@email_return_path_group.command(name=cli_util.override('email.list_email_return_paths.command_name', 'list'), help=u"""Lists email return paths in the specified compartment or emaildomain. \n[Command Reference](listEmailReturnPaths)""")
-@cli_util.option('--compartment-id', help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@cli_util.option('--parent-resource-id', help=u"""The [OCID] of the Email Domain to which this Email Return Path belongs.""")
@cli_util.option('--id', help=u"""A filter to only return resources that match the given id exactly.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@@ -1846,7 +1846,7 @@ def list_email_return_paths(ctx, from_json, all_pages, page_size, compartment_id
@sender_group.command(name=cli_util.override('email.list_senders.command_name', 'list'), help=u"""Gets a collection of approved sender email addresses and sender IDs. \n[Command Reference](listSenders)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "NEEDS_ATTENTION", "INACTIVE", "FAILED", "DELETING", "DELETED", "UPDATING"]), help=u"""The current state of a sender.""")
@cli_util.option('--domain', help=u"""A filter to only return resources that match the given domain exactly.""")
@cli_util.option('--email-address', help=u"""The email address of the approved sender.""")
@@ -1912,7 +1912,7 @@ def list_senders(ctx, from_json, all_pages, page_size, compartment_id, lifecycle
@suppression_group.command(name=cli_util.override('email.list_suppressions.command_name', 'list'), help=u"""Gets a list of suppressed recipient email addresses for a user. The `compartmentId` for suppressions must be a tenancy OCID. The returned list is sorted by creation time in descending order. \n[Command Reference](listSuppressions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@cli_util.option('--email-address', help=u"""The email address of the suppression.""")
@cli_util.option('--time-created-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Search for suppressions that were created within a specific date range, using this parameter to specify the earliest creation date for the returned list (inclusive). Specifying this parameter without the corresponding `timeCreatedLessThan` parameter will retrieve suppressions created from the given `timeCreatedGreaterThanOrEqualTo` to the current time, in \"YYYY-MM-ddThh:mmZ\" format with a Z offset, as defined by [RFC 3339].
@@ -2081,7 +2081,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_summary_collection_group.command(name=cli_util.override('email.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID for the compartment.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@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].""")
@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. `1` is the minimum, `1000` is the maximum. For important details about how pagination works, see [List Pagination].""")
@@ -2134,7 +2134,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, wor
@email_domain_group.command(name=cli_util.override('email.remove_email_domain_lock.command_name', 'remove'), help=u"""Remove a lock to a resource. \n[Command Reference](removeEmailDomainLock)""")
@cli_util.option('--email-domain-id', required=True, help=u"""The [OCID] of this email domain.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETING", "DELETED", "FAILED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2195,7 +2195,7 @@ def remove_email_domain_lock(ctx, from_json, wait_for_state, max_wait_seconds, w
@email_ip_pool_group.command(name=cli_util.override('email.remove_email_ip_pool_lock.command_name', 'remove'), help=u"""Remove a lock to a resource. \n[Command Reference](removeEmailIpPoolLock)""")
@cli_util.option('--email-ip-pool-id', required=True, help=u"""The [OCID] of the IpPool.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "INACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2317,7 +2317,7 @@ def remove_email_outbound_ip(ctx, from_json, wait_for_state, max_wait_seconds, w
@email_return_path_group.command(name=cli_util.override('email.remove_return_path_lock.command_name', 'remove'), help=u"""Remove a lock to a resource. \n[Command Reference](removeReturnPathLock)""")
@cli_util.option('--email-return-path-id', required=True, help=u"""The [OCID] of this email return path.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -2378,7 +2378,7 @@ def remove_return_path_lock(ctx, from_json, wait_for_state, max_wait_seconds, wa
@sender_group.command(name=cli_util.override('email.remove_sender_lock.command_name', 'remove'), help=u"""Remove a lock to a resource. \n[Command Reference](removeSenderLock)""")
@cli_util.option('--sender-id', required=True, help=u"""The unique OCID of the sender.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Lock type.""")
-@cli_util.option('--compartment-id', help=u"""The lock compartment ID.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The lock compartment ID.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "NEEDS_ATTENTION", "INACTIVE", "FAILED", "DELETING", "DELETED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
diff --git a/services/email_data_plane/src/oci_cli_email_dp/generated/emaildp_cli.py b/services/email_data_plane/src/oci_cli_email_dp/generated/emaildp_cli.py
index 6a5a6697..283749a2 100644
--- a/services/email_data_plane/src/oci_cli_email_dp/generated/emaildp_cli.py
+++ b/services/email_data_plane/src/oci_cli_email_dp/generated/emaildp_cli.py
@@ -90,7 +90,7 @@ def submit_email(ctx, from_json, sender, recipients, subject, message_id, body_h
@email_raw_submitted_response_group.command(name=cli_util.override('email_data_plane.submit_raw_email.command_name', 'submit-raw-email'), help=u"""Submits a raw email. \n[Command Reference](submitRawEmail)""")
@cli_util.option('--content-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["message/rfc822", "message/global"]), help=u"""The media type of the body.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the approved sender resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the approved sender resource.""")
@cli_util.option('--sender', required=True, help=u"""The envelope and the header from email address, that is sending the email. Email address must be an approved sender.""")
@cli_util.option('--recipients', required=True, multiple=True, help=u"""The destination for the email, all recipients including to, cc and bcc addresses.""")
@cli_util.option('--raw-message', required=True, help=u"""This should be formatted in valid MIME format. Message can include attachments. MIME libraries should be used to convert the content into the appropriate format.""")
diff --git a/services/events/src/oci_cli_events/generated/events_cli.py b/services/events/src/oci_cli_events/generated/events_cli.py
index 3ef3bb2b..63373a91 100644
--- a/services/events/src/oci_cli_events/generated/events_cli.py
+++ b/services/events/src/oci_cli_events/generated/events_cli.py
@@ -34,7 +34,7 @@ def rule_group():
@rule_group.command(name=cli_util.override('events.change_rule_compartment.command_name', 'change-compartment'), help=u"""Moves a rule 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](changeRuleCompartment)""")
@cli_util.option('--rule-id', required=True, help=u"""The [OCID] of this rule.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -79,7 +79,7 @@ def change_rule_compartment(ctx, from_json, rule_id, compartment_id, if_match):
For examples of wildcard matching, see [Matching Events with Filters]
Example: `\\\"eventType\\\": \\\"com.oraclecloud.databaseservice.autonomous.database.backup.end\\\"`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which this rule belongs.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which this rule belongs.""")
@cli_util.option('--actions', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A string that describes the details of the rule. It does not have to be unique, and you can change it. Avoid entering confidential information.""")
@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. Exists for cross-compatibility only. For more information, see [Resource Tags].
@@ -235,7 +235,7 @@ def get_rule(ctx, from_json, rule_id):
@rule_group.command(name=cli_util.override('events.list_rules.command_name', 'list'), help=u"""Lists rules for this compartment. \n[Command Reference](listRules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which this rule belongs.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which this rule belongs.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return. 1 is the minimum, 50 is the maximum. Default: 10""")
@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].""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only rules that match the lifecycle state in this parameter.
diff --git a/services/file_storage/src/oci_cli_file_storage/generated/filestorage_cli.py b/services/file_storage/src/oci_cli_file_storage/generated/filestorage_cli.py
index 38c37d03..9484629a 100644
--- a/services/file_storage/src/oci_cli_file_storage/generated/filestorage_cli.py
+++ b/services/file_storage/src/oci_cli_file_storage/generated/filestorage_cli.py
@@ -180,7 +180,7 @@ def add_export_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@file_system_group.command(name=cli_util.override('fs.add_file_system_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addFileSystemLock)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -318,7 +318,7 @@ def add_filesystem_snapshot_policy_lock(ctx, from_json, wait_for_state, max_wait
@mount_target_group.command(name=cli_util.override('fs.add_mount_target_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addMountTargetLock)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -456,7 +456,7 @@ def add_outbound_connector_lock(ctx, from_json, wait_for_state, max_wait_seconds
@replication_group.command(name=cli_util.override('fs.add_replication_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addReplicationLock)""")
-@cli_util.option('--replication-id', required=True, help=u"""The [OCID] of the replication.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the replication.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -525,7 +525,7 @@ def add_replication_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@snapshot_group.command(name=cli_util.override('fs.add_snapshot_lock.command_name', 'add'), help=u"""Adds a lock to a resource. \n[Command Reference](addSnapshotLock)""")
-@cli_util.option('--snapshot-id', required=True, help=u"""The [OCID] of the snapshot.""")
+@cli_util.option('--snapshot-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the snapshot.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -594,7 +594,7 @@ def add_snapshot_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@mount_target_group.command(name=cli_util.override('fs.cancel_downgrade_shape_mount_target.command_name', 'cancel-downgrade-shape'), help=u"""Cancel scheduled downgrade shape request for mount target. \n[Command Reference](cancelDowngradeShapeMountTarget)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -645,8 +645,8 @@ def cancel_downgrade_shape_mount_target(ctx, from_json, wait_for_state, max_wait
@file_system_group.command(name=cli_util.override('fs.change_file_system_compartment.command_name', 'change-compartment'), help=u"""Moves a file system and its associated snapshots 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](changeFileSystemCompartment)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the file system to.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the file system to.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -680,7 +680,7 @@ def change_file_system_compartment(ctx, from_json, file_system_id, compartment_i
@filesystem_snapshot_policy_group.command(name=cli_util.override('fs.change_filesystem_snapshot_policy_compartment.command_name', 'change-compartment'), help=u"""Moves a file system snapshot policy 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](changeFilesystemSnapshotPolicyCompartment)""")
@cli_util.option('--filesystem-snapshot-policy-id', required=True, help=u"""The [OCID] of the file system snapshot policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the file system snapshot policy to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the file system snapshot policy to.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -713,8 +713,8 @@ def change_filesystem_snapshot_policy_compartment(ctx, from_json, filesystem_sna
@mount_target_group.command(name=cli_util.override('fs.change_mount_target_compartment.command_name', 'change-compartment'), help=u"""Moves a mount target and its associated export set or share set 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](changeMountTargetCompartment)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the mount target to.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the mount target to.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -748,7 +748,7 @@ def change_mount_target_compartment(ctx, from_json, mount_target_id, compartment
@outbound_connector_group.command(name=cli_util.override('fs.change_outbound_connector_compartment.command_name', 'change-compartment'), help=u"""Moves an outbound connector 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](changeOutboundConnectorCompartment)""")
@cli_util.option('--outbound-connector-id', required=True, help=u"""The [OCID] of the outbound connector.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the outbound connector to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the outbound connector to.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -781,8 +781,8 @@ def change_outbound_connector_compartment(ctx, from_json, outbound_connector_id,
@replication_group.command(name=cli_util.override('fs.change_replication_compartment.command_name', 'change-compartment'), help=u"""Moves a replication and its replication target 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](changeReplicationCompartment)""")
-@cli_util.option('--replication-id', required=True, help=u"""The [OCID] of the replication.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the replication to. Also changes the replication target's compartment in the target region.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the replication.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the replication to. Also changes the replication target's compartment in the target region.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -815,8 +815,8 @@ def change_replication_compartment(ctx, from_json, replication_id, compartment_i
@export_group.command(name=cli_util.override('fs.create_export.command_name', 'create'), help=u"""Creates a new export in the specified export set, path, and file system. \n[Command Reference](createExport)""")
-@cli_util.option('--export-set-id', required=True, help=u"""The [OCID] of this export's export set.""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of this export's file system.""")
+@cli_util.option('--export-set-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of this export's export set.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of this export's file system.""")
@cli_util.option('--path', required=True, help=u"""Path used to access the associated file system.
Avoid entering confidential information.
@@ -911,7 +911,7 @@ def create_export(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain to create the file system in.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the file system in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the file system in.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `My file system`""")
@@ -1008,7 +1008,7 @@ def create_file_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain that the file system snapshot policy is in.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the file system snapshot policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the file system snapshot policy.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `policy1`""")
@@ -1103,8 +1103,8 @@ def create_filesystem_snapshot_policy(ctx, from_json, wait_for_state, max_wait_s
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain in which to create the mount target.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to create the mount target.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet in which to create the mount target.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to create the mount target.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet in which to create the mount target.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `My mount target`""")
@@ -1229,7 +1229,7 @@ def create_mount_target(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain the outbound connector is in. May be unset as a blank or NULL value.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the outbound connector.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the outbound connector.""")
@cli_util.option('--connector-type', required=True, help=u"""The account type of this outbound connector.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
@@ -1310,7 +1310,7 @@ def create_outbound_connector(ctx, from_json, wait_for_state, max_wait_seconds,
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain the outbound connector is in. May be unset as a blank or NULL value.
Example: `Uocm:PHX-AD-1`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the outbound connector.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the outbound connector.""")
@cli_util.option('--endpoints', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of server endpoints to use when connecting with the LDAP bind account.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--bind-distinguished-name', required=True, help=u"""The LDAP Distinguished Name of the bind account.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
@@ -1397,7 +1397,7 @@ def create_outbound_connector_create_ldap_bind_account_details(ctx, from_json, w
@cli_util.option('--principal-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FILE_SYSTEM_LEVEL", "DEFAULT_GROUP", "DEFAULT_USER", "INDIVIDUAL_GROUP", "INDIVIDUAL_USER"]), help=u"""The type of the owner of this quota rule and usage.""")
@cli_util.option('--is-hard-quota', required=True, type=click.BOOL, help=u"""Whether the quota rule will be enforced. If `isHardQuota` is true, the quota rule is enforced so that the write is blocked if usage exceeds the hard quota limit. If `isHardQuota` is false, writes succeed even if usage exceeds the soft quota limit, but the quota rule is violated.""")
@cli_util.option('--quota-limit-in-gigabytes', required=True, type=click.INT, help=u"""The value of the quota rule in gigabytes.""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--principal-id', type=click.INT, help=u"""An identifier for the user or the group associated with quota rule and usage. UNIX-like operating systems use this integer value to identify a user or group to manage access control.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information. Example: `UserXYZ's quota`""")
@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.""")
@@ -1443,7 +1443,7 @@ def create_quota_rule(ctx, from_json, principal_type, is_hard_quota, quota_limit
For information about availability domains, see [Regions and Availability Domains]. To get a list of availability domains, use the `ListAvailabilityDomains` operation in the Identity and Access Management Service API.
All Oracle Cloud Infrastructure Services resources, including replications, get an Oracle-assigned, unique ID called an Oracle Cloud Identifier ([OCID]). When you create a resource, you can find its OCID in the response. You can also retrieve a resource's OCID by using a List API operation on that resource type, or by viewing the resource in the Console. \n[Command Reference](createReplication)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the replication.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the replication.""")
@cli_util.option('--source-id', required=True, help=u"""The [OCID] of the source file system.""")
@cli_util.option('--target-id', required=True, help=u"""The [OCID] of the target file system.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information. An associated replication target will also created with the same `displayName`. Example: `My replication`""")
@@ -1518,7 +1518,7 @@ def create_replication(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@snapshot_group.command(name=cli_util.override('fs.create_snapshot.command_name', 'create'), help=u"""Creates a new snapshot of the specified file system. You can access the snapshot at `.snapshot/`. \n[Command Reference](createSnapshot)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system to take a snapshot of.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system to take a snapshot of.""")
@cli_util.option('--name', required=True, help=u"""Name of the snapshot. This value is immutable. It must also be unique with respect to all other non-DELETED snapshots on the associated file system.
Avoid entering confidential information.
@@ -1658,7 +1658,7 @@ def delete_export(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@file_system_group.command(name=cli_util.override('fs.delete_file_system.command_name', 'delete'), help=u"""Deletes the specified file system. Before you delete the file system, verify that no remaining export resources still reference it. Deleting a file system also deletes all of its snapshots. \n[Command Reference](deleteFileSystem)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--can-detach-child-file-system', type=click.BOOL, help=u"""If the value is set to true, then the file system will be deleted by detaching its child file system, turning the child file system into an independent File System.""")
@@ -1795,7 +1795,7 @@ def delete_filesystem_snapshot_policy(ctx, from_json, wait_for_state, max_wait_s
@mount_target_group.command(name=cli_util.override('fs.delete_mount_target.command_name', 'delete'), help=u"""Deletes the specified mount target. This operation also deletes the mount target's VNICs. \n[Command Reference](deleteMountTarget)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.confirm_delete_option
@@ -1929,7 +1929,7 @@ def delete_outbound_connector(ctx, from_json, wait_for_state, max_wait_seconds,
@file_system_group.command(name=cli_util.override('fs.delete_quota_rule.command_name', 'delete-quota-rule'), help=u"""Remove a file system, user, or group quota rule given the `fileSystemId` and `quotaRuleId` parameters. \n[Command Reference](deleteQuotaRule)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--quota-rule-id', required=True, help=u"""The identifier of the quota rule. It is the base64 encoded string of the tuple .""")
@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.""")
@cli_util.confirm_delete_option
@@ -1960,7 +1960,7 @@ def delete_quota_rule(ctx, from_json, file_system_id, quota_rule_id, if_match):
@replication_group.command(name=cli_util.override('fs.delete_replication.command_name', 'delete'), help=u"""Deletes the specified replication and the the associated replication target. \n[Command Reference](deleteReplication)""")
-@cli_util.option('--replication-id', required=True, help=u"""The [OCID] of the replication.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the replication.""")
@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.""")
@cli_util.option('--delete-mode', type=custom_types.CliCaseInsensitiveChoice(["FINISH_CYCLE_IF_CAPTURING_OR_APPLYING", "ONE_MORE_CYCLE", "FINISH_CYCLE_IF_APPLYING"]), help=u"""You can choose a mode for deleting the replication resource. - `FINISH_CYCLE_IF_CAPTURING_OR_APPLYING` Before deleting, complete the current delta cycle. If cycle is idle, delete immediately. Safest option. - `ONE_MORE_CYCLE` Before deleting, complete the current delta cycle, and initiate one more cycle. If cycle is idle, initiate one more cycle. Use for lossless failover. - `FINISH_CYCLE_IF_APPLYING` Before deleting, finish applying. If cycle is idle or capturing, delete immediately. Fastest option.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@@ -2097,7 +2097,7 @@ def delete_replication_target(ctx, from_json, wait_for_state, max_wait_seconds,
@snapshot_group.command(name=cli_util.override('fs.delete_snapshot.command_name', 'delete'), help=u"""Deletes the specified snapshot. \n[Command Reference](deleteSnapshot)""")
-@cli_util.option('--snapshot-id', required=True, help=u"""The [OCID] of the snapshot.""")
+@cli_util.option('--snapshot-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the snapshot.""")
@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.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.confirm_delete_option
@@ -2164,7 +2164,7 @@ def delete_snapshot(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@file_system_group.command(name=cli_util.override('fs.detach_clone.command_name', 'detach'), help=u"""Detaches the file system from its parent file system \n[Command Reference](detachClone)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -2189,7 +2189,7 @@ def detach_clone(ctx, from_json, file_system_id, if_match):
@file_system_group.command(name=cli_util.override('fs.estimate_replication.command_name', 'estimate-replication'), help=u"""Provides estimates for replication created using specific file system. \n[Command Reference](estimateReplication)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@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.""")
@cli_util.option('--change-rate-in-m-bps', type=click.INT, help=u"""The rate of change of data on source file system in MegaBytes per second.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -2239,7 +2239,7 @@ def get_export(ctx, from_json, export_id):
@export_set_group.command(name=cli_util.override('fs.get_export_set.command_name', 'get'), help=u"""Gets the specified export set's information. \n[Command Reference](getExportSet)""")
-@cli_util.option('--export-set-id', required=True, help=u"""The [OCID] of the export set.""")
+@cli_util.option('--export-set-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the export set.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2261,7 +2261,7 @@ def get_export_set(ctx, from_json, export_set_id):
@file_system_group.command(name=cli_util.override('fs.get_file_system.command_name', 'get'), help=u"""Gets the specified file system's information. \n[Command Reference](getFileSystem)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2305,7 +2305,7 @@ def get_filesystem_snapshot_policy(ctx, from_json, filesystem_snapshot_policy_id
@mount_target_group.command(name=cli_util.override('fs.get_mount_target.command_name', 'get'), help=u"""Gets the specified mount target's information. \n[Command Reference](getMountTarget)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2349,7 +2349,7 @@ def get_outbound_connector(ctx, from_json, outbound_connector_id):
@file_system_group.command(name=cli_util.override('fs.get_quota_rule.command_name', 'get-quota-rule'), help=u"""Get a file system, user, or group quota rule given the `fileSystemId` and `quotaRuleId` parameters. \n[Command Reference](getQuotaRule)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--quota-rule-id', required=True, help=u"""The identifier of the quota rule. It is the base64 encoded string of the tuple .""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -2379,7 +2379,7 @@ def get_quota_rule(ctx, from_json, file_system_id, quota_rule_id, if_match):
@replication_group.command(name=cli_util.override('fs.get_replication.command_name', 'get'), help=u"""Gets the specified replication's information. \n[Command Reference](getReplication)""")
-@cli_util.option('--replication-id', required=True, help=u"""The [OCID] of the replication.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the replication.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2423,7 +2423,7 @@ def get_replication_target(ctx, from_json, replication_target_id):
@snapshot_group.command(name=cli_util.override('fs.get_snapshot.command_name', 'get'), help=u"""Gets the specified snapshot's information. \n[Command Reference](getSnapshot)""")
-@cli_util.option('--snapshot-id', required=True, help=u"""The [OCID] of the snapshot.""")
+@cli_util.option('--snapshot-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the snapshot.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2445,7 +2445,7 @@ def get_snapshot(ctx, from_json, snapshot_id):
@export_set_group.command(name=cli_util.override('fs.list_export_sets.command_name', 'list'), help=u"""Lists the export set resources in the specified compartment. \n[Command Reference](listExportSets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -2524,7 +2524,7 @@ def list_export_sets(ctx, from_json, all_pages, page_size, compartment_id, avail
@export_group.command(name=cli_util.override('fs.list_exports.command_name', 'list'), help=u"""Lists export resources by compartment, file system, or export set. You must specify an export set ID, a file system ID, and / or a compartment ID. \n[Command Reference](listExports)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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. 1 is the minimum, 4096 is the maximum.
For important details about how pagination works, see [List Pagination].
@@ -2533,8 +2533,8 @@ def list_export_sets(ctx, from_json, all_pages, page_size, compartment_id, avail
@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].""")
-@cli_util.option('--export-set-id', help=u"""The [OCID] of the export set.""")
-@cli_util.option('--file-system-id', help=u"""The [OCID] of the file system.""")
+@cli_util.option('--export-set-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the export set.""")
+@cli_util.option('--file-system-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""Filter results by the specified lifecycle state. Must be a valid state for the resource type.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resouce type.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "PATH"]), help=u"""The field to sort by. You can provide either value, but not both. By default, when you sort by time created, results are shown in descending order. When you sort by path, results are shown in ascending alphanumeric order.""")
@@ -2595,7 +2595,7 @@ def list_exports(ctx, from_json, all_pages, page_size, compartment_id, limit, pa
@file_system_group.command(name=cli_util.override('fs.list_file_systems.command_name', 'list'), help=u"""Lists the file system resources in the specified compartment, or by the specified compartment and file system snapshot policy. \n[Command Reference](listFileSystems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -2683,7 +2683,7 @@ def list_file_systems(ctx, from_json, all_pages, page_size, compartment_id, avai
@filesystem_snapshot_policy_group.command(name=cli_util.override('fs.list_filesystem_snapshot_policies.command_name', 'list'), help=u"""Lists file system snapshot policies in the specified compartment. \n[Command Reference](listFilesystemSnapshotPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -2762,7 +2762,7 @@ def list_filesystem_snapshot_policies(ctx, from_json, all_pages, page_size, comp
@mount_target_group.command(name=cli_util.override('fs.list_mount_targets.command_name', 'list'), help=u"""Lists the mount target resources in the specified compartment. \n[Command Reference](listMountTargets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -2777,7 +2777,7 @@ def list_filesystem_snapshot_policies(ctx, from_json, all_pages, page_size, comp
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable.
Example: `My resource`""")
-@cli_util.option('--export-set-id', help=u"""The [OCID] of the export set.""")
+@cli_util.option('--export-set-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the export set.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""Filter results by the specified lifecycle state. Must be a valid state for the resource type.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resouce type.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can choose either value, but not both. By default, when you sort by time created, results are shown in descending order. When you sort by display name, results are shown in ascending order.""")
@@ -2844,7 +2844,7 @@ def list_mount_targets(ctx, from_json, all_pages, page_size, compartment_id, ava
@outbound_connector_group.command(name=cli_util.override('fs.list_outbound_connectors.command_name', 'list'), help=u"""Lists the outbound connector resources in the specified compartment. \n[Command Reference](listOutboundConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -2923,7 +2923,7 @@ def list_outbound_connectors(ctx, from_json, all_pages, page_size, compartment_i
@file_system_group.command(name=cli_util.override('fs.list_quota_rules.command_name', 'list-quota-rules'), help=u"""List user or group usages and their quota rules by certain principal type. \n[Command Reference](listQuotaRules)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--principal-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FILE_SYSTEM_LEVEL", "DEFAULT_GROUP", "DEFAULT_USER", "INDIVIDUAL_GROUP", "INDIVIDUAL_USER"]), help=u"""The type of the owner of this quota rule and usage.""")
@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. 1 is the minimum, 4096 is the maximum.
@@ -2996,7 +2996,7 @@ def list_quota_rules(ctx, from_json, all_pages, page_size, file_system_id, princ
@replication_target_group.command(name=cli_util.override('fs.list_replication_targets.command_name', 'list'), help=u"""Lists the replication target resources in the specified compartment. \n[Command Reference](listReplicationTargets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -3075,7 +3075,7 @@ def list_replication_targets(ctx, from_json, all_pages, page_size, compartment_i
@replication_group.command(name=cli_util.override('fs.list_replications.command_name', 'list'), help=u"""Lists the replication resources in the specified compartment. \n[Command Reference](listReplications)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -3094,7 +3094,7 @@ def list_replication_targets(ctx, from_json, all_pages, page_size, compartment_i
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resouce type.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. You can choose either value, but not both. By default, when you sort by time created, results are shown in descending order. When you sort by display name, results are shown in ascending order.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc', where 'asc' is ascending and 'desc' is descending. The default order is 'desc' except for numeric values.""")
-@cli_util.option('--file-system-id', help=u"""The [OCID] of the source file system.""")
+@cli_util.option('--file-system-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the source file system.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -3172,8 +3172,8 @@ def list_replications(ctx, from_json, all_pages, page_size, compartment_id, avai
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""Filter results by the specified lifecycle state. Must be a valid state for the resource type.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resouce type.""")
@cli_util.option('--filesystem-snapshot-policy-id', help=u"""The [OCID] of the file system snapshot policy that is used to create the snapshots.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--file-system-id', help=u"""The [OCID] of the file system.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--file-system-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc', where 'asc' is ascending and 'desc' is descending. The default order is 'desc' except for numeric values.""")
@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.""")
@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.""")
@@ -3354,7 +3354,7 @@ def remove_export_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@file_system_group.command(name=cli_util.override('fs.remove_file_system_lock.command_name', 'remove'), help=u"""Removes a lock to a resource. \n[Command Reference](removeFileSystemLock)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3492,7 +3492,7 @@ def remove_filesystem_snapshot_policy_lock(ctx, from_json, wait_for_state, max_w
@mount_target_group.command(name=cli_util.override('fs.remove_mount_target_lock.command_name', 'remove'), help=u"""Removes a lock to a resource. \n[Command Reference](removeMountTargetLock)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3630,7 +3630,7 @@ def remove_outbound_connector_lock(ctx, from_json, wait_for_state, max_wait_seco
@replication_group.command(name=cli_util.override('fs.remove_replication_lock.command_name', 'remove'), help=u"""Removes a lock to a resource. \n[Command Reference](removeReplicationLock)""")
-@cli_util.option('--replication-id', required=True, help=u"""The [OCID] of the replication.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the replication.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3699,7 +3699,7 @@ def remove_replication_lock(ctx, from_json, wait_for_state, max_wait_seconds, wa
@snapshot_group.command(name=cli_util.override('fs.remove_snapshot_lock.command_name', 'remove'), help=u"""Removes a lock to a resource. \n[Command Reference](removeSnapshotLock)""")
-@cli_util.option('--snapshot-id', required=True, help=u"""The [OCID] of the snapshot.""")
+@cli_util.option('--snapshot-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the snapshot.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3768,7 +3768,7 @@ def remove_snapshot_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@mount_target_group.command(name=cli_util.override('fs.schedule_downgrade_shape_mount_target.command_name', 'schedule-downgrade-shape'), help=u"""Schedule a downgrade shape of the mount target. \n[Command Reference](scheduleDowngradeShapeMountTarget)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@cli_util.option('--requested-throughput', type=click.INT, help=u"""New throughput for mount target in Gbps. Available shapes and corresponding throughput are listed at [Mount Target Performance].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3827,7 +3827,7 @@ def schedule_downgrade_shape_mount_target(ctx, from_json, wait_for_state, max_wa
@file_system_group.command(name=cli_util.override('fs.toggle_quota_rules.command_name', 'toggle-quota-rules'), help=u"""Enable or disable quota enforcement for the file system. If `areQuotaRulesEnabled` = `true`, then the quota enforcement will be enabled. If `areQuotaRulesEnabled` = `false`, then the quota enforcement will be disabled. \n[Command Reference](toggleQuotaRules)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--are-quota-rules-enabled', required=True, type=click.BOOL, help=u"""Specifies the enforcement of quota rules on the file system.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -3991,7 +3991,7 @@ def update_export(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_
@export_set_group.command(name=cli_util.override('fs.update_export_set.command_name', 'update'), help=u"""Updates the specified export set's information. \n[Command Reference](updateExportSet)""")
-@cli_util.option('--export-set-id', required=True, help=u"""The [OCID] of the export set.""")
+@cli_util.option('--export-set-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the export set.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `My export set`""")
@@ -4060,7 +4060,7 @@ def update_export_set(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@file_system_group.command(name=cli_util.override('fs.update_file_system.command_name', 'update'), help=u"""Updates the specified file system's information. You can use this operation to rename a file system. \n[Command Reference](updateFileSystem)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `My file system`""")
@@ -4240,7 +4240,7 @@ def update_filesystem_snapshot_policy(ctx, from_json, force, wait_for_state, max
@mount_target_group.command(name=cli_util.override('fs.update_mount_target.command_name', 'update'), help=u"""Updates the specified mount target's information. \n[Command Reference](updateMountTarget)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `My mount target`""")
@@ -4416,7 +4416,7 @@ def update_outbound_connector(ctx, from_json, force, wait_for_state, max_wait_se
@file_system_group.command(name=cli_util.override('fs.update_quota_rule.command_name', 'update-quota-rule'), help=u"""Edit a file system, user, or group quota rule given the `fileSystemId` and `quotaRuleId` parameters. \n[Command Reference](updateQuotaRule)""")
-@cli_util.option('--file-system-id', required=True, help=u"""The [OCID] of the file system.""")
+@cli_util.option('--file-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the file system.""")
@cli_util.option('--quota-rule-id', required=True, help=u"""The identifier of the quota rule. It is the base64 encoded string of the tuple .""")
@cli_util.option('--display-name', help=u"""A user-friendly name that the quota rule will be renamed to. It does not have to be unique. Avoid entering confidential information. Example: `UserXYZ's quota`""")
@cli_util.option('--quota-limit-in-gigabytes', type=click.INT, help=u"""An updated value of the quota rule in gigabytes.""")
@@ -4458,7 +4458,7 @@ def update_quota_rule(ctx, from_json, file_system_id, quota_rule_id, display_nam
@replication_group.command(name=cli_util.override('fs.update_replication.command_name', 'update'), help=u"""Updates the information for the specified replication and its associated replication target. \n[Command Reference](updateReplication)""")
-@cli_util.option('--replication-id', required=True, help=u"""The [OCID] of the replication.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the replication.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it is changeable. Avoid entering confidential information. A replication target will also updated with the same `displayName`. Example: `My replication`""")
@cli_util.option('--replication-interval', type=click.INT, help=u"""Duration in minutes between replication snapshots.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4537,7 +4537,7 @@ def update_replication(ctx, from_json, force, wait_for_state, max_wait_seconds,
@snapshot_group.command(name=cli_util.override('fs.update_snapshot.command_name', 'update'), help=u"""Updates the specified snapshot's information. \n[Command Reference](updateSnapshot)""")
-@cli_util.option('--snapshot-id', required=True, help=u"""The [OCID] of the snapshot.""")
+@cli_util.option('--snapshot-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the snapshot.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--expiration-time', type=custom_types.CLI_DATETIME, help=u"""The UTC time when this snapshot will be deleted. To remove the expiration time, set this field to the minimum date-time value using Date(0).
@@ -4614,7 +4614,7 @@ def update_snapshot(ctx, from_json, force, wait_for_state, max_wait_seconds, wai
@mount_target_group.command(name=cli_util.override('fs.upgrade_shape_mount_target.command_name', 'upgrade-shape'), help=u"""Upgrade shape request for mount target. \n[Command Reference](upgradeShapeMountTarget)""")
-@cli_util.option('--mount-target-id', required=True, help=u"""The [OCID] of the mount target.""")
+@cli_util.option('--mount-target-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target.""")
@cli_util.option('--requested-throughput', type=click.INT, help=u"""New throughput for mount target in Gbps. Available shapes and corresponding throughput are listed at [Mount Target Performance].""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -4673,7 +4673,7 @@ def upgrade_shape_mount_target(ctx, from_json, wait_for_state, max_wait_seconds,
@mount_target_group.command(name=cli_util.override('fs.validate_key_tabs.command_name', 'validate-key-tabs'), help=u"""Validates keytab contents for the secret details passed on the request or validte keytab contents associated with the mount target passed in the request. The keytabs are deserialized, the contents are validated for compatibility and the principal, key version number and encryption type of each entry is provided as part of the response. \n[Command Reference](validateKeyTabs)""")
-@cli_util.option('--mount-target-id', help=u"""The [OCID] of the mount target whose keytabs are to be validated.""")
+@cli_util.option('--mount-target-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the mount target whose keytabs are to be validated.""")
@cli_util.option('--key-tab-secret-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'key-tab-secret-details': {'module': 'file_storage', 'class': 'KeyTabSecretDetails'}})
@cli_util.help_option
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management/generated/fleetappsmanagement_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management/generated/fleetappsmanagement_cli.py
index 32544778..58066504 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management/generated/fleetappsmanagement_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management/generated/fleetappsmanagement_cli.py
@@ -141,7 +141,7 @@ def fleet_collection_group():
@fleet_group.command(name=cli_util.override('fleet_apps_management.change_fleet_compartment.command_name', 'change-compartment'), help=u"""Moves a Fleet 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](changeFleetCompartment)""")
@cli_util.option('--fleet-id', required=True, help=u"""Unique Fleet identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Fleet to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Fleet to.""")
@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.""")
@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.""")
@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.""")
@@ -201,7 +201,7 @@ def change_fleet_compartment(ctx, from_json, wait_for_state, max_wait_seconds, w
@fleet_group.command(name=cli_util.override('fleet_apps_management.check_resource_tagging.command_name', 'check-resource-tagging'), help=u"""Check if Fleet Application Management tags can be added to the resources. \n[Command Reference](checkResourceTagging)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--resource-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Resource OCIDS that need to be verified if a tag can be enabled for them.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--fleet-display-name', help=u"""Fleet Display Name.""")
@json_skeleton_utils.get_cli_json_input_option({'resource-ids': {'module': 'fleet_apps_management', 'class': 'list[string]'}})
@@ -291,7 +291,7 @@ def confirm_targets(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment OCID""")
@cli_util.option('--resource-selection', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -406,7 +406,7 @@ def create_fleet(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment OCID""")
@cli_util.option('--resource-selection-rule-selection-criteria', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -524,7 +524,7 @@ def create_fleet_dynamic_resource_selection(ctx, from_json, wait_for_state, max_
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment OCID""")
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--products', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Products associated with the Fleet. Provide PlatformConfiguration Ids corresponding to all the Products that need to be managed.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -640,7 +640,7 @@ def create_fleet_manual_resource_selection(ctx, from_json, wait_for_state, max_w
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment OCID""")
@cli_util.option('--resource-selection', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--products', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Products associated with the Fleet. Provide PlatformConfiguration Ids corresponding to all the Products that need to be managed.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -754,7 +754,7 @@ def create_fleet_group_fleet_details(ctx, from_json, wait_for_state, max_wait_se
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment OCID""")
@cli_util.option('--resource-selection', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--products', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Products associated with the Fleet. Provide PlatformConfiguration Ids corresponding to all the Products that need to be managed.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -868,7 +868,7 @@ def create_fleet_product_fleet_details(ctx, from_json, wait_for_state, max_wait_
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment OCID""")
@cli_util.option('--resource-selection', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--products', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Products associated with the Fleet. Provide PlatformConfiguration Ids corresponding to all the Products that need to be managed.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -982,7 +982,7 @@ def create_fleet_generic_fleet_details(ctx, from_json, wait_for_state, max_wait_
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment OCID""")
@cli_util.option('--resource-selection', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--products', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Products associated with the Fleet. Provide PlatformConfiguration Ids corresponding to all the Products that need to be managed.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1216,8 +1216,8 @@ def create_fleet_property(ctx, from_json, wait_for_state, max_wait_seconds, wait
@fleet_resource_group.command(name=cli_util.override('fleet_apps_management.create_fleet_resource.command_name', 'create'), help=u"""Add resource to a fleet in Fleet Application Management. \n[Command Reference](createFleetResource)""")
@cli_util.option('--resource-id', required=True, help=u"""The OCID of the resource.""")
-@cli_util.option('--tenancy-id', required=True, help=u"""OCID of the tenancy to which the resource belongs to.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the tenancy to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--fleet-id', required=True, help=u"""Unique Fleet identifier.""")
@cli_util.option('--resource-region', help=u"""Associated region""")
@cli_util.option('--resource-type', help=u"""Type of the Resource.""")
@@ -1706,7 +1706,7 @@ def get_fleet_resource(ctx, from_json, fleet_resource_id, fleet_id):
@announcement_collection_group.command(name=cli_util.override('fleet_apps_management.list_announcements.command_name', 'list-announcements'), help=u"""Return a list of Announcement Summary items in a tenancy. \n[Command Reference](listAnnouncements)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--summary-contains', help=u"""Filter the list of announcements that contains the given summary value.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1842,7 +1842,7 @@ def list_fleet_credentials(ctx, from_json, all_pages, page_size, fleet_id, lifec
@fleet_product_collection_group.command(name=cli_util.override('fleet_apps_management.list_fleet_products.command_name', 'list-fleet-products'), help=u"""Returns a list of products associated with the confirmed targets. \n[Command Reference](listFleetProducts)""")
@cli_util.option('--fleet-id', required=True, help=u"""Unique Fleet identifier.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--resource-id', help=u"""Resource Identifier""")
@cli_util.option('--resource-display-name', help=u"""Resource Display Name.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -2118,7 +2118,7 @@ def list_fleet_targets(ctx, from_json, all_pages, page_size, fleet_id, display_n
@fleet_collection_group.command(name=cli_util.override('fleet_apps_management.list_fleets.command_name', 'list-fleets'), help=u"""Returns a list of all the Fleets in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listFleets)""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "CREATING", "DELETED", "DELETING", "FAILED", "UPDATING", "NEEDS_ATTENTION"]), help=u"""A filter to return fleets whose lifecycleState matches the given lifecycleState.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--fleet-type', type=custom_types.CliCaseInsensitiveChoice(["GENERIC", "PRODUCT", "ENVIRONMENT", "GROUP"]), help=u"""A filter to return fleets whose fleetType matches the given fleetType.""")
@cli_util.option('--application-type', help=u"""A filter to return resources that match the Application Type/Product Stack given..""")
@cli_util.option('--product', help=u"""A filter to return resources that match the Product/Product Stack given.""")
@@ -2191,7 +2191,7 @@ def list_fleets(ctx, from_json, all_pages, page_size, lifecycle_state, compartme
@inventory_resource_collection_group.command(name=cli_util.override('fleet_apps_management.list_inventory_resources.command_name', 'list-inventory-resources'), help=u"""Returns a list of Inventory Resources based on the criteria provided. instance, dbsystem, cloudvmcluster resources are supported. \n[Command Reference](listInventoryResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources whose base Compartment ID(TenancyId) matches the given base Compartment ID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources whose base Compartment ID(TenancyId) matches the given base Compartment ID.""")
@cli_util.option('--resource-compartment-id', required=True, help=u"""A filter to return only resources whose resource Compartment ID matches the given resource Compartment ID.""")
@cli_util.option('--lifecycle-state', help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -2914,8 +2914,8 @@ def update_fleet_property(ctx, from_json, wait_for_state, max_wait_seconds, wait
@fleet_resource_group.command(name=cli_util.override('fleet_apps_management.update_fleet_resource.command_name', 'update'), help=u"""Updates the FleetResource. \n[Command Reference](updateFleetResource)""")
@cli_util.option('--fleet-resource-id', required=True, help=u"""unique FleetResource identifier""")
@cli_util.option('--fleet-id', required=True, help=u"""Unique Fleet identifier.""")
-@cli_util.option('--tenancy-id', help=u"""OCID of the tenancy to which the resource belongs to.""")
-@cli_util.option('--compartment-id', help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""OCID of the tenancy to which the resource belongs to.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@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.""")
@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.""")
@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.""")
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_admin/generated/fleetappsmanagementadmin_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_admin/generated/fleetappsmanagementadmin_cli.py
index d650534e..6a40f94e 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_admin/generated/fleetappsmanagementadmin_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_admin/generated/fleetappsmanagementadmin_cli.py
@@ -104,7 +104,7 @@ def compliance_policy_group():
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.change_platform_configuration_compartment.command_name', 'change-compartment'), help=u"""Moves a PlatformConfiguration 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](changePlatformConfigurationCompartment)""")
@cli_util.option('--platform-configuration-id', required=True, help=u"""unique PlatformConfiguration identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Platform Configuration to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Platform Configuration to.""")
@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.""")
@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.""")
@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.""")
@@ -165,7 +165,7 @@ def change_platform_configuration_compartment(ctx, from_json, wait_for_state, ma
@property_group.command(name=cli_util.override('fleet_apps_management_admin.change_property_compartment.command_name', 'change-compartment'), help=u"""Moves a Property 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](changePropertyCompartment)""")
@cli_util.option('--property-id', required=True, help=u"""unique Property identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Property to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Property to.""")
@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.""")
@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.""")
@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.""")
@@ -550,7 +550,7 @@ def create_compliance_policy_rule_patch_name_selection_details(ctx, from_json, w
@onboarding_group.command(name=cli_util.override('fleet_apps_management_admin.create_onboarding.command_name', 'create'), help=u"""Onboard a tenant to Fleet Application Management. The onboarding process lets Fleet Application Management create a few required policies that you need to start using it and its features. \n[Command Reference](createOnboarding)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Tenancy OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Tenancy OCID""")
@cli_util.option('--is-fams-tag-enabled', type=click.BOOL, help=u"""A value determining if the Fleet Application Management tagging is enabled or not. Allow Fleet Application Management to tag resources with fleet name using \"Oracle$FAMS-Tags.FleetName\" tag.""")
@cli_util.option('--is-cost-tracking-tag-enabled', type=click.BOOL, help=u"""A value determining if the cost tracking tag is enabled or not. Allow Fleet Application Management to tag resources with cost tracking tag using \"Oracle$FAMS-Tags.FAMSManaged\" tag.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -619,7 +619,7 @@ def create_onboarding(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration.command_name', 'create'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -690,7 +690,7 @@ def create_platform_configuration(ctx, from_json, wait_for_state, max_wait_secon
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration_product_stack_config_category_details.command_name', 'create-platform-configuration-product-stack-config-category-details'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -768,7 +768,7 @@ def create_platform_configuration_product_stack_config_category_details(ctx, fro
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration_environment_config_category_details.command_name', 'create-platform-configuration-environment-config-category-details'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -840,7 +840,7 @@ def create_platform_configuration_environment_config_category_details(ctx, from_
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration_credential_config_category_details.command_name', 'create-platform-configuration-credential-config-category-details'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -912,7 +912,7 @@ def create_platform_configuration_credential_config_category_details(ctx, from_j
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration_patch_type_config_category_details.command_name', 'create-platform-configuration-patch-type-config-category-details'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -984,7 +984,7 @@ def create_platform_configuration_patch_type_config_category_details(ctx, from_j
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration_lifecycle_operation_config_category_details.command_name', 'create-platform-configuration-lifecycle-operation-config-category-details'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -1056,7 +1056,7 @@ def create_platform_configuration_lifecycle_operation_config_category_details(ct
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration_product_config_category_details.command_name', 'create-platform-configuration-product-config-category-details'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -1166,7 +1166,7 @@ def create_platform_configuration_product_config_category_details(ctx, from_json
@platform_configuration_group.command(name=cli_util.override('fleet_apps_management_admin.create_platform_configuration_self_hosted_instance_config_category_details.command_name', 'create-platform-configuration-self-hosted-instance-config-category-details'), help=u"""Creates a new PlatformConfiguration. \n[Command Reference](createPlatformConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -1246,7 +1246,7 @@ def create_platform_configuration_self_hosted_instance_config_category_details(c
@property_group.command(name=cli_util.override('fleet_apps_management_admin.create_property.command_name', 'create'), help=u"""Create a business-specific metadata property in Fleet Application Management. \n[Command Reference](createProperty)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.
Example: `My new resource`""")
@@ -1690,7 +1690,7 @@ def get_property(ctx, from_json, property_id):
@compliance_policy_collection_group.command(name=cli_util.override('fleet_apps_management_admin.list_compliance_policies.command_name', 'list-compliance-policies'), help=u"""Returns a list of all the Compliance Policies in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listCompliancePolicies)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["USER_DEFINED", "ORACLE_DEFINED"]), help=u"""A filter to return Platform Configurations whose type matches the given type.""")
@@ -1755,7 +1755,7 @@ def list_compliance_policies(ctx, from_json, all_pages, page_size, compartment_i
@compliance_policy_rule_collection_group.command(name=cli_util.override('fleet_apps_management_admin.list_compliance_policy_rules.command_name', 'list-compliance-policy-rules'), help=u"""Gets a list of Compliance policy rules in a compartment. \n[Command Reference](listCompliancePolicyRules)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@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.""")
@cli_util.option('--patch-name', help=u"""A filter to return only resources that match the patch selection against the given patch name.""")
@@ -1823,7 +1823,7 @@ def list_compliance_policy_rules(ctx, from_json, all_pages, page_size, compartme
@onboarding_policy_collection_group.command(name=cli_util.override('fleet_apps_management_admin.list_onboarding_policies.command_name', 'list-onboarding-policies'), help=u"""Returns a list of onboarding policy information for Fleet Application Management. \n[Command Reference](listOnboardingPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -1877,7 +1877,7 @@ def list_onboarding_policies(ctx, from_json, all_pages, page_size, compartment_i
@onboarding_collection_group.command(name=cli_util.override('fleet_apps_management_admin.list_onboardings.command_name', 'list-onboardings'), help=u"""Returns a list of all the onboardings in the specified root compartment (tenancy). The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listOnboardings)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "CREATING", "DELETED", "DELETING", "FAILED", "UPDATING", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single onboarding by id. Either compartmentId or id must be provided.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1936,7 +1936,7 @@ def list_onboardings(ctx, from_json, all_pages, page_size, compartment_id, lifec
@platform_configuration_collection_group.command(name=cli_util.override('fleet_apps_management_admin.list_platform_configurations.command_name', 'list-platform-configurations'), help=u"""Returns a list of all the Platform Configurations in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listPlatformConfigurations)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED", "FAILED", "DELETING", "UPDATING", "CREATING", "INACTIVE"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single Platform Configuration by id. Either compartmentId or id must be provided.""")
@@ -2007,7 +2007,7 @@ def list_platform_configurations(ctx, from_json, all_pages, page_size, compartme
@property_collection_group.command(name=cli_util.override('fleet_apps_management_admin.list_properties.command_name', 'list-properties'), help=u"""Returns a list of all the Properties in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listProperties)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED", "FAILED", "UPDATING"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single Property by id. Either compartmentId or id must be provided.""")
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_catalog/generated/fleetappsmanagementcatalog_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_catalog/generated/fleetappsmanagementcatalog_cli.py
index d0d42aa2..cda505c9 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_catalog/generated/fleetappsmanagementcatalog_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_catalog/generated/fleetappsmanagementcatalog_cli.py
@@ -50,7 +50,7 @@ def catalog_item_collection_group():
@catalog_item_group.command(name=cli_util.override('fleet_apps_management_catalog.change_catalog_item_compartment.command_name', 'change-compartment'), help=u"""Moves a CatalogItem 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](changeCatalogItemCompartment)""")
@cli_util.option('--catalog-item-id', required=True, help=u"""The [OCID] of the CatalogItem.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the CatalogItem to""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the CatalogItem to""")
@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.""")
@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.""")
@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.""")
@@ -111,7 +111,7 @@ def change_catalog_item_compartment(ctx, from_json, wait_for_state, max_wait_sec
@catalog_item_group.command(name=cli_util.override('fleet_apps_management_catalog.clone_catalog_item.command_name', 'clone'), help=u"""Clones a CatalogItem 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](cloneCatalogItem)""")
@cli_util.option('--catalog-item-id', required=True, help=u"""The [OCID] of the CatalogItem.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to clone the CatalogItem to""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to clone the CatalogItem to""")
@cli_util.option('--version-description', help=u"""Version description about the catalog item.""")
@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.""")
@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.""")
@@ -178,7 +178,7 @@ def clone_catalog_item(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--catalog-item-id', required=True, help=u"""The [OCID] of the CatalogItem.""")
@cli_util.option('--storage-namespace', required=True, help=u"""The Oracle Cloud Object Storage namespace where the artifact or variables are stored.""")
@cli_util.option('--bucket-name', required=True, help=u"""The name of the Object Storage bucket that contains the catalog item configuration object.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the Compartment.""")
@cli_util.option('--input-variables', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of key value pairs specifying variables or parameters to be used when configuring the catalog item.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--object-name', help=u"""The name of the object file in the specified bucket containing catalog item configuration details.""")
@cli_util.option('--catalog-listing-id', help=u"""The unique identifier of the catalog listing to which configuration applies.""")
@@ -266,7 +266,7 @@ def configure_catalog_item(ctx, from_json, wait_for_state, max_wait_seconds, wai
@catalog_item_group.command(name=cli_util.override('fleet_apps_management_catalog.create_catalog_item.command_name', 'create'), help=u"""Creates a CatalogItem. \n[Command Reference](createCatalogItem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--config-source-type', required=True, help=u"""Config source type Eg: STACK_TEMPLATE_CATALOG_SOURCE, PAR_CATALOG_SOURCE, GIT_CATALOG_SOURCE, MARKETPLACE_CATALOG_SOURCE.""")
@cli_util.option('--description', required=True, help=u"""The description of the CatalogItem.""")
@cli_util.option('--display-name', required=True, help=u"""The CatalogItem name.""")
@@ -363,7 +363,7 @@ def create_catalog_item(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@catalog_item_group.command(name=cli_util.override('fleet_apps_management_catalog.create_catalog_item_catalog_git_source_config.command_name', 'create-catalog-item-catalog-git-source-config'), help=u"""Creates a CatalogItem. \n[Command Reference](createCatalogItem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--config-source-type', required=True, help=u"""Config source type Eg: STACK_TEMPLATE_CATALOG_SOURCE, PAR_CATALOG_SOURCE, GIT_CATALOG_SOURCE, MARKETPLACE_CATALOG_SOURCE.""")
@cli_util.option('--description', required=True, help=u"""The description of the CatalogItem.""")
@cli_util.option('--display-name', required=True, help=u"""The CatalogItem name.""")
@@ -475,7 +475,7 @@ def create_catalog_item_catalog_git_source_config(ctx, from_json, wait_for_state
@catalog_item_group.command(name=cli_util.override('fleet_apps_management_catalog.create_catalog_item_catalog_source_template_config.command_name', 'create-catalog-item-catalog-source-template-config'), help=u"""Creates a CatalogItem. \n[Command Reference](createCatalogItem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--config-source-type', required=True, help=u"""Config source type Eg: STACK_TEMPLATE_CATALOG_SOURCE, PAR_CATALOG_SOURCE, GIT_CATALOG_SOURCE, MARKETPLACE_CATALOG_SOURCE.""")
@cli_util.option('--description', required=True, help=u"""The description of the CatalogItem.""")
@cli_util.option('--display-name', required=True, help=u"""The CatalogItem name.""")
@@ -591,7 +591,7 @@ def create_catalog_item_catalog_source_template_config(ctx, from_json, wait_for_
@catalog_item_group.command(name=cli_util.override('fleet_apps_management_catalog.create_catalog_item_catalog_par_source_config.command_name', 'create-catalog-item-catalog-par-source-config'), help=u"""Creates a CatalogItem. \n[Command Reference](createCatalogItem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--config-source-type', required=True, help=u"""Config source type Eg: STACK_TEMPLATE_CATALOG_SOURCE, PAR_CATALOG_SOURCE, GIT_CATALOG_SOURCE, MARKETPLACE_CATALOG_SOURCE.""")
@cli_util.option('--description', required=True, help=u"""The description of the CatalogItem.""")
@cli_util.option('--display-name', required=True, help=u"""The CatalogItem name.""")
@@ -713,7 +713,7 @@ def create_catalog_item_catalog_par_source_config(ctx, from_json, wait_for_state
@catalog_item_group.command(name=cli_util.override('fleet_apps_management_catalog.create_catalog_item_catalog_marketplace_source_config.command_name', 'create-catalog-item-catalog-marketplace-source-config'), help=u"""Creates a CatalogItem. \n[Command Reference](createCatalogItem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--config-source-type', required=True, help=u"""Config source type Eg: STACK_TEMPLATE_CATALOG_SOURCE, PAR_CATALOG_SOURCE, GIT_CATALOG_SOURCE, MARKETPLACE_CATALOG_SOURCE.""")
@cli_util.option('--description', required=True, help=u"""The description of the CatalogItem.""")
@cli_util.option('--display-name', required=True, help=u"""The CatalogItem name.""")
@@ -921,7 +921,7 @@ def get_catalog_item_variables_definition(ctx, from_json, catalog_item_id):
@catalog_item_collection_group.command(name=cli_util.override('fleet_apps_management_catalog.list_catalog_items.command_name', 'list-catalog-items'), help=u"""Gets a list of Catalog Items in a compartment. \n[Command Reference](listCatalogItems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--config-source-type', help=u"""The [ConfigSourceType] Eg: STACK_TEMPLATE_CATALOG_SOURCE, PAR_CATALOG_SOURCE, URL_CATALOG_SOURCE, MARKETPLACE_CATALOG_SOURCE.""")
@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.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_maintenance_window/generated/fleetappsmanagementmaintenancewindow_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_maintenance_window/generated/fleetappsmanagementmaintenancewindow_cli.py
index fcf99f52..9dddb8be 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_maintenance_window/generated/fleetappsmanagementmaintenancewindow_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_maintenance_window/generated/fleetappsmanagementmaintenancewindow_cli.py
@@ -40,7 +40,7 @@ def maintenance_window_collection_group():
@maintenance_window_group.command(name=cli_util.override('fleet_apps_management_maintenance_window.create_maintenance_window.command_name', 'create'), help=u"""Create a maintenance window in Fleet Application Management. \n[Command Reference](createMaintenanceWindow)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--time-schedule-start', required=True, type=custom_types.CLI_DATETIME, help=u"""Specify the date and time of the day that the maintenance window starts.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--duration', required=True, help=u"""Duration of the maintenance window. Specify how long the maintenance window remains open.""")
@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.
@@ -201,7 +201,7 @@ def get_maintenance_window(ctx, from_json, maintenance_window_id):
@maintenance_window_collection_group.command(name=cli_util.override('fleet_apps_management_maintenance_window.list_maintenance_windows.command_name', 'list-maintenance-windows'), help=u"""Returns a list of all the Maintenance Windows in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listMaintenanceWindows)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED", "FAILED", "DELETING", "UPDATING", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--time-schedule-start-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""A filter to return only resources whose timeScheduleStart is greater than or equal to the provided date and time.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_operations/generated/fleetappsmanagementoperations_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_operations/generated/fleetappsmanagementoperations_cli.py
index 30ae81d1..d6598123 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_operations/generated/fleetappsmanagementoperations_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_operations/generated/fleetappsmanagementoperations_cli.py
@@ -202,7 +202,7 @@ def step_collection_group():
@patch_group.command(name=cli_util.override('fleet_apps_management_operations.change_patch_compartment.command_name', 'change-compartment'), help=u"""Moves a Patch 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](changePatchCompartment)""")
@cli_util.option('--patch-id', required=True, help=u"""Unique Patch identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the patch to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the patch to.""")
@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.""")
@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.""")
@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.""")
@@ -268,7 +268,7 @@ def change_patch_compartment(ctx, from_json, wait_for_state, max_wait_seconds, w
@cli_util.option('--time-released', required=True, type=custom_types.CLI_DATETIME, help=u"""Date when the patch was released.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--artifact-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--product', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--dependent-patches', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Dependent Patches for this patch.
@@ -346,7 +346,7 @@ def create_patch(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@cli_util.option('--severity', required=True, type=custom_types.CliCaseInsensitiveChoice(["CRITICAL", "HIGH", "MEDIUM", "LOW"]), help=u"""Patch Severity.""")
@cli_util.option('--time-released', required=True, type=custom_types.CLI_DATETIME, help=u"""Date when the patch was released.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--product', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--artifact-details-artifacts', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Artifacts.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--dependent-patches', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Dependent Patches for this patch.
@@ -428,7 +428,7 @@ def create_patch_platform_specific_artifact_details(ctx, from_json, wait_for_sta
@cli_util.option('--severity', required=True, type=custom_types.CliCaseInsensitiveChoice(["CRITICAL", "HIGH", "MEDIUM", "LOW"]), help=u"""Patch Severity.""")
@cli_util.option('--time-released', required=True, type=custom_types.CLI_DATETIME, help=u"""Date when the patch was released.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--product', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--artifact-details-artifact', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--dependent-patches', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Dependent Patches for this patch.
@@ -505,7 +505,7 @@ def create_patch_generic_artifact_details(ctx, from_json, wait_for_state, max_wa
@scheduler_definition_group.command(name=cli_util.override('fleet_apps_management_operations.create_scheduler_definition.command_name', 'create'), help=u"""Create a SchedulerDefinition to perform lifecycle operations. \n[Command Reference](createSchedulerDefinition)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--schedule', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--action-groups', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Action Groups associated with the Schedule.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.
@@ -586,7 +586,7 @@ def create_scheduler_definition(ctx, from_json, wait_for_state, max_wait_seconds
@scheduler_definition_group.command(name=cli_util.override('fleet_apps_management_operations.create_scheduler_definition_custom_schedule.command_name', 'create-scheduler-definition-custom-schedule'), help=u"""Create a SchedulerDefinition to perform lifecycle operations. \n[Command Reference](createSchedulerDefinition)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--action-groups', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Action Groups associated with the Schedule.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--schedule-execution-startdate', required=True, type=custom_types.CLI_DATETIME, help=u"""Start Date for the schedule. An RFC3339 formatted datetime string""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--schedule-duration', required=True, help=u"""Duration of the schedule.""")
@@ -676,7 +676,7 @@ def create_scheduler_definition_custom_schedule(ctx, from_json, wait_for_state,
@scheduler_definition_group.command(name=cli_util.override('fleet_apps_management_operations.create_scheduler_definition_maintenance_window_schedule.command_name', 'create-scheduler-definition-maintenance-window-schedule'), help=u"""Create a SchedulerDefinition to perform lifecycle operations. \n[Command Reference](createSchedulerDefinition)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID""")
@cli_util.option('--action-groups', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Action Groups associated with the Schedule.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--schedule-execution-startdate', required=True, type=custom_types.CLI_DATETIME, help=u"""Start Date for the schedule. An RFC3339 formatted datetime string""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--schedule-maintenance-window-id', required=True, help=u"""Provide MaintenanceWindowId""")
@@ -946,7 +946,7 @@ def delete_scheduler_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@compliance_record_group.command(name=cli_util.override('fleet_apps_management_operations.export_compliance_report.command_name', 'export-compliance-report'), help=u"""Generate Compliance Report \n[Command Reference](exportComplianceReport)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@cli_util.option('--entity-id', help=u"""The OCID of the entity for which the compliance is calculated.Ex.FleetId""")
@cli_util.option('--resource-id', help=u"""The OCID to identify the resource.""")
@@ -1148,7 +1148,7 @@ def get_scheduler_job(ctx, from_json, scheduler_job_id):
@compliance_record_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_compliance_records.command_name', 'list-compliance-records'), help=u"""Gets a list of complianceDetails. \n[Command Reference](listComplianceRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--resource-id', help=u"""Resource identifier.""")
@cli_util.option('--entity-id', help=u"""Entity identifier.Ex:FleetId""")
@cli_util.option('--product-name', help=u"""Product Name.""")
@@ -1306,7 +1306,7 @@ def list_executions(ctx, from_json, all_pages, page_size, scheduler_job_id, job_
@installed_patch_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_installed_patches.command_name', 'list-installed-patches'), help=u"""Gets a list of installed patches. CompartmentId should be the compartmentId of resource(Containing the target). \n[Command Reference](listInstalledPatches)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--target-id', help=u"""Target Id.""")
@cli_util.option('--target-name', help=u"""Target name.""")
@cli_util.option('--severity', type=custom_types.CliCaseInsensitiveChoice(["CRITICAL", "HIGH", "MEDIUM", "LOW"]), help=u"""Patch severity.""")
@@ -1375,7 +1375,7 @@ def list_installed_patches(ctx, from_json, all_pages, page_size, compartment_id,
@inventory_record_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_inventory_records.command_name', 'list-inventory-records'), help=u"""Gets a list of inventoryDetails. \n[Command Reference](listInventoryRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If set to true, resources will be returned for not only the provided compartment, but all compartments which descend from it. Which resources are returned and their field contents depends on the value of accessLevel.""")
@cli_util.option('--fleet-id', help=u"""unique Fleet identifier""")
@cli_util.option('--resource-id', help=u"""Resource Identifier""")
@@ -1441,7 +1441,7 @@ def list_inventory_records(ctx, from_json, all_pages, page_size, compartment_id,
@patch_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_patches.command_name', 'list-patches'), help=u"""Returns a list of all the Patches in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listPatches)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--product-id', help=u"""Product platformConfigurationId associated with the Patch.""")
@cli_util.option('--version-parameterconflict', help=u"""Product version.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["USER_DEFINED", "ORACLE_DEFINED"]), help=u"""DefinedBy type.""")
@@ -1524,7 +1524,7 @@ def list_patches(ctx, from_json, all_pages, page_size, compartment_id, product_i
@recommended_patch_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_recommended_patches.command_name', 'list-recommended-patches'), help=u"""Gets a list of recommended patches. \n[Command Reference](listRecommendedPatches)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--target-id', help=u"""Target identifier.""")
@cli_util.option('--target-name', help=u"""Unique target name""")
@cli_util.option('--patch-level', type=custom_types.CliCaseInsensitiveChoice(["LATEST", "LATEST_MINUS_ONE", "LATEST_MINUS_TWO"]), help=u"""Patch level.""")
@@ -1596,7 +1596,7 @@ def list_recommended_patches(ctx, from_json, all_pages, page_size, compartment_i
@report_metadata_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_report_metadata.command_name', 'list-report-metadata'), help=u"""Returns a list of all the report metadata. \n[Command Reference](listReportMetadata)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--report-name', help=u"""A filter to return data for given report name.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1789,7 +1789,7 @@ def list_scheduled_fleets(ctx, from_json, all_pages, page_size, scheduler_defini
@scheduler_definition_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_scheduler_definitions.command_name', 'list-scheduler-definitions'), help=u"""Returns a list of all the Schedule Definitions in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listSchedulerDefinitions)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "INACTIVE"]), help=u"""A filter to return only scheduleDefinitions whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--product', help=u"""A filter to return only dchedule definitions whose assocaited product matches the given product""")
@@ -1872,7 +1872,7 @@ def list_scheduler_definitions(ctx, from_json, all_pages, page_size, compartment
@scheduler_execution_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_scheduler_executions.command_name', 'list-scheduler-executions'), help=u"""Returns a list of all executions that are scheduled. \n[Command Reference](listSchedulerExecutions)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--time-scheduled-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Scheduled Time""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-scheduled-less-than', type=custom_types.CLI_DATETIME, help=u"""Scheduled Time""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -1958,7 +1958,7 @@ def list_scheduler_executions(ctx, from_json, all_pages, page_size, compartment_
@scheduler_job_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_scheduler_jobs.command_name', 'list-scheduler-jobs'), help=u"""Returns a list of all schedule jobs in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listSchedulerJobs)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If set to true, resources will be returned for not only the provided compartment, but all compartments which descend from it. Which resources are returned and their field contents depends on the value of accessLevel.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--fleet-id', help=u"""unique Fleet identifier""")
@@ -2117,7 +2117,7 @@ def list_steps(ctx, from_json, all_pages, page_size, scheduler_job_id, job_activ
@target_component_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_target_components.command_name', 'list-target-components'), help=u"""Gets a list of target component. \n[Command Reference](listTargetComponents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--target-id', help=u"""Target Id.""")
@cli_util.option('--target-name', help=u"""Target name.""")
@cli_util.option('--severity', type=custom_types.CliCaseInsensitiveChoice(["CRITICAL", "HIGH", "MEDIUM", "LOW"]), help=u"""Patch severity.""")
@@ -2183,7 +2183,7 @@ def list_target_components(ctx, from_json, all_pages, page_size, compartment_id,
@target_property_collection_group.command(name=cli_util.override('fleet_apps_management_operations.list_target_properties.command_name', 'list-target-properties'), help=u"""Gets a list of target properties. \n[Command Reference](listTargetProperties)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--target-id', help=u"""Target Id.""")
@cli_util.option('--target-name', help=u"""Target name.""")
@cli_util.option('--severity', type=custom_types.CliCaseInsensitiveChoice(["CRITICAL", "HIGH", "MEDIUM", "LOW"]), help=u"""Patch severity.""")
@@ -2448,7 +2448,7 @@ def manage_job_execution_action_group_based_user_action_details(ctx, from_json,
@report_collection_group.command(name=cli_util.override('fleet_apps_management_operations.report.command_name', 'report'), help=u"""Report \n[Command Reference](report)""")
@cli_util.option('--name', required=True, help=u"""Name of report.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--granularity', type=custom_types.CliCaseInsensitiveChoice(["DAY", "WEEK", "MONTH", "QUARTER", "YEAR"]), help=u"""Granularity.""")
@cli_util.option('--report-time-range', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--condition', type=custom_types.CliCaseInsensitiveChoice(["ALL", "ANY"]), help=u"""Condition.""")
@@ -2508,7 +2508,7 @@ def report(ctx, from_json, name, compartment_id, granularity, report_time_range,
@compliance_record_aggregation_collection_group.command(name=cli_util.override('fleet_apps_management_operations.summarize_compliance_record_counts.command_name', 'summarize-compliance-record-counts'), help=u"""Retrieve aggregated summary information of ComplianceRecords within a Compartment. \n[Command Reference](summarizeComplianceRecordCounts)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If set to true, resources will be returned for not only the provided compartment, but all compartments which descend from it. Which resources are returned and their field contents depends on the value of accessLevel.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -2540,7 +2540,7 @@ def summarize_compliance_record_counts(ctx, from_json, compartment_id, compartme
@managed_entity_aggregation_collection_group.command(name=cli_util.override('fleet_apps_management_operations.summarize_managed_entity_counts.command_name', 'summarize-managed-entity-counts'), help=u"""Retrieve aggregated summary information of Managed entities within a Compartment. \n[Command Reference](summarizeManagedEntityCounts)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If set to true, resources will be returned for not only the provided compartment, but all compartments which descend from it. Which resources are returned and their field contents depends on the value of accessLevel.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -2572,7 +2572,7 @@ def summarize_managed_entity_counts(ctx, from_json, compartment_id, compartment_
@scheduler_job_aggregation_collection_group.command(name=cli_util.override('fleet_apps_management_operations.summarize_scheduler_job_counts.command_name', 'summarize-scheduler-job-counts'), help=u"""Retrieve aggregated summary information of Scheduler Jobs within a Compartment. \n[Command Reference](summarizeSchedulerJobCounts)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If set to true, resources will be returned for not only the provided compartment, but all compartments which descend from it. Which resources are returned and their field contents depends on the value of accessLevel.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_provision/generated/fleetappsmanagementprovision_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_provision/generated/fleetappsmanagementprovision_cli.py
index db7c334e..70e85825 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_provision/generated/fleetappsmanagementprovision_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_provision/generated/fleetappsmanagementprovision_cli.py
@@ -43,7 +43,7 @@ def provision_collection_group():
@provision_group.command(name=cli_util.override('fleet_apps_management_provision.change_provision_compartment.command_name', 'change-compartment'), help=u"""Moves a Provision 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](changeProvisionCompartment)""")
@cli_util.option('--provision-id', required=True, help=u"""The [OCID] of the FamProvision.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the FamProvision to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the FamProvision to.""")
@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.""")
@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.""")
@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.""")
@@ -103,7 +103,7 @@ def change_provision_compartment(ctx, from_json, wait_for_state, max_wait_second
@provision_group.command(name=cli_util.override('fleet_apps_management_provision.create_provision.command_name', 'create'), help=u"""Creates a Provision. \n[Command Reference](createProvision)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the FamProvision in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the FamProvision in.""")
@cli_util.option('--package-catalog-item-id', required=True, help=u"""The [OCID] of the Catalog Item.""")
@cli_util.option('--config-catalog-item-id', required=True, help=u"""A [OCID] of the Catalog Item to a file with key/value pairs to set up variables for createStack API.""")
@cli_util.option('--fleet-id', required=True, help=u"""The [OCID] of the Fleet.""")
@@ -268,7 +268,7 @@ def get_provision(ctx, from_json, provision_id):
@provision_collection_group.command(name=cli_util.override('fleet_apps_management_provision.list_provisions.command_name', 'list-provisions'), help=u"""Returns a list of all the Provisions in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` or `fleetId` is specified. \n[Command Reference](listProvisions)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single provision by id. Either compartmentId or id must be provided.""")
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_runbooks/generated/fleetappsmanagementrunbooks_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_runbooks/generated/fleetappsmanagementrunbooks_cli.py
index 84730f81..6c493cda 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_runbooks/generated/fleetappsmanagementrunbooks_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_runbooks/generated/fleetappsmanagementrunbooks_cli.py
@@ -132,7 +132,7 @@ def runbook_export_group():
@runbook_group.command(name=cli_util.override('fleet_apps_management_runbooks.change_runbook_compartment.command_name', 'change-compartment'), help=u"""Moves a Runbook 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](changeRunbookCompartment)""")
@cli_util.option('--runbook-id', required=True, help=u"""Unique Runbook identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Planner to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Planner to.""")
@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.""")
@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.""")
@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.""")
@@ -193,7 +193,7 @@ def change_runbook_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@task_record_group.command(name=cli_util.override('fleet_apps_management_runbooks.change_task_record_compartment.command_name', 'change-compartment'), help=u"""Moves a task record 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](changeTaskRecordCompartment)""")
@cli_util.option('--task-record-id', required=True, help=u"""The OCID of the task record.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the task record to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the task record to.""")
@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.""")
@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.""")
@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.""")
@@ -258,7 +258,7 @@ def change_task_record_compartment(ctx, from_json, wait_for_state, max_wait_seco
Example: `My new resource`""")
@cli_util.option('--operation', required=True, help=u"""The lifecycle operation performed by the task.""")
@cli_util.option('--runbook-version', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--os-type', type=custom_types.CliCaseInsensitiveChoice(["WINDOWS", "LINUX", "GENERIC"]), help=u"""The OS type for the runbook.""")
@cli_util.option('--platform', help=u"""The platform of the runbook.""")
@@ -421,7 +421,7 @@ def create_runbook_version(ctx, from_json, wait_for_state, max_wait_seconds, wai
Example: `My new resource`""")
@cli_util.option('--details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--description', help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1107,7 +1107,7 @@ def find_runbook_export_dependency(ctx, from_json, runbook_id, runbook_version_i
@runbook_import_dependency_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.find_runbook_import_dependency.command_name', 'find-runbook-import-dependency'), help=u"""Find runbook import Dependencies \n[Command Reference](findRunbookImportDependency)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--content', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1138,7 +1138,7 @@ def find_runbook_import_dependency(ctx, from_json, compartment_id, content, limi
@runbook_import_dependency_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.find_runbook_import_dependency_transfer_runbook_object_storage_bucket_content_details.command_name', 'find-runbook-import-dependency-transfer-runbook-object-storage-bucket-content-details'), help=u"""Find runbook import Dependencies \n[Command Reference](findRunbookImportDependency)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--content-namespace-name', required=True, help=u"""Namespace.""")
@cli_util.option('--content-bucket-name', required=True, help=u"""Bucket Name.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1182,7 +1182,7 @@ def find_runbook_import_dependency_transfer_runbook_object_storage_bucket_conten
@runbook_import_dependency_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.find_runbook_import_dependency_transfer_runbook_par_url_content_details.command_name', 'find-runbook-import-dependency-transfer-runbook-par-url-content-details'), help=u"""Find runbook import Dependencies \n[Command Reference](findRunbookImportDependency)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--content-url', required=True, help=u"""PAR url.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1336,7 +1336,7 @@ def get_task_record(ctx, from_json, task_record_id):
@import_runbook_details_group.command(name=cli_util.override('fleet_apps_management_runbooks.import_runbook.command_name', 'import-runbook'), help=u"""Import the specified version of the runbook. \n[Command Reference](importRunbook)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--content-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--content-destination', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--runbook-name', help=u"""The name of the runbook.""")
@@ -1414,7 +1414,7 @@ def import_runbook(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@import_runbook_precheck_details_group.command(name=cli_util.override('fleet_apps_management_runbooks.import_runbook_precheck.command_name', 'import-runbook-precheck'), help=u"""Precheck for import runbook. \n[Command Reference](importRunbookPrecheck)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--content-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--content-destination', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--import-as', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1484,7 +1484,7 @@ def import_runbook_precheck(ctx, from_json, wait_for_state, max_wait_seconds, wa
@import_runbook_version_details_group.command(name=cli_util.override('fleet_apps_management_runbooks.import_runbook_version.command_name', 'import-runbook-version'), help=u"""Export the specified version of the runbook. \n[Command Reference](importRunbookVersion)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--content-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--content-destination', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--runbook-id', help=u"""The OCID of the resource.""")
@@ -1562,7 +1562,7 @@ def import_runbook_version(ctx, from_json, wait_for_state, max_wait_seconds, wai
@runbook_export_status_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.list_runbook_export_statuses.command_name', 'list-runbook-export-statuses'), help=u"""Returns a list of all the Runbook export status in the specified compartment. The query parameter `compartmentId` is required. \n[Command Reference](listRunbookExportStatuses)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single Runbook by id. Either compartmentId or id must be provided.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1619,7 +1619,7 @@ def list_runbook_export_statuses(ctx, from_json, all_pages, page_size, compartme
@runbook_import_status_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.list_runbook_import_statuses.command_name', 'list-runbook-import-statuses'), help=u"""Returns a list of all the Runbook import status in the specified compartment. The query parameter `compartmentId` is required. \n[Command Reference](listRunbookImportStatuses)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single Runbook by id. Either compartmentId or id must be provided.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1676,7 +1676,7 @@ def list_runbook_import_statuses(ctx, from_json, all_pages, page_size, compartme
@runbook_version_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.list_runbook_versions.command_name', 'list-runbook-versions'), help=u"""List versions for a runbook in Fleet Application Management. \n[Command Reference](listRunbookVersions)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED", "FAILED", "NEEDS_ATTENTION", "INACTIVE", "CREATING", "DELETING", "UPDATING"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--runbook-id', help=u"""A filter to return only schedule definitions whose associated runbookId matches the given runbookId.""")
@cli_util.option('--id', help=u"""A filter to return runbook versions whose identifier matches the given identifier.""")
@@ -1741,7 +1741,7 @@ def list_runbook_versions(ctx, from_json, all_pages, page_size, compartment_id,
@runbook_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.list_runbooks.command_name', 'list-runbooks'), help=u"""Returns a list of all the runbooks in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listRunbooks)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED", "FAILED", "INACTIVE", "CREATING", "DELETING", "UPDATING"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique identifier or OCID for listing a single Runbook by id. Either compartmentId or id must be provided.""")
@@ -1812,7 +1812,7 @@ def list_runbooks(ctx, from_json, all_pages, page_size, compartment_id, lifecycl
@task_record_collection_group.command(name=cli_util.override('fleet_apps_management_runbooks.list_task_records.command_name', 'list-task-records'), help=u"""Returns a list of all the task records in the specified compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listTaskRecords)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--platform', help=u"""The platform for the task record.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["USER_DEFINED", "ORACLE_DEFINED", "SYSTEM_DEFINED"]), help=u"""The type of the Task.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
diff --git a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_work_request/generated/fleetappsmanagementworkrequest_cli.py b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_work_request/generated/fleetappsmanagementworkrequest_cli.py
index 0d66d040..8dff64b3 100644
--- a/services/fleet_apps_management/src/oci_cli_fleet_apps_management_work_request/generated/fleetappsmanagementworkrequest_cli.py
+++ b/services/fleet_apps_management/src/oci_cli_fleet_apps_management_work_request/generated/fleetappsmanagementworkrequest_cli.py
@@ -183,7 +183,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('fleet_apps_management_work_request.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources. Empty only if the resource OCID query param is not specified.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""Resource Identifier""")
diff --git a/services/fleet_software_update/src/oci_cli_fleet_software_update/generated/fleetsoftwareupdate_cli.py b/services/fleet_software_update/src/oci_cli_fleet_software_update/generated/fleetsoftwareupdate_cli.py
index 01a2d684..7098fe01 100644
--- a/services/fleet_software_update/src/oci_cli_fleet_software_update/generated/fleetsoftwareupdate_cli.py
+++ b/services/fleet_software_update/src/oci_cli_fleet_software_update/generated/fleetsoftwareupdate_cli.py
@@ -250,7 +250,7 @@ def cancel_fsu_action(ctx, from_json, fsu_action_id, if_match):
@fsu_action_group.command(name=cli_util.override('fleet_software_update.change_fsu_action_compartment.command_name', 'change-compartment'), help=u"""Moves a Exadata Fleet Update Action resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeFsuActionCompartment)""")
@cli_util.option('--fsu-action-id', required=True, help=u"""Unique Exadata Fleet Update Action identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -311,7 +311,7 @@ def change_fsu_action_compartment(ctx, from_json, wait_for_state, max_wait_secon
@fsu_collection_group.command(name=cli_util.override('fleet_software_update.change_fsu_collection_compartment.command_name', 'change-compartment'), help=u"""Moves a Exadata Fleet Update Collection resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeFsuCollectionCompartment)""")
@cli_util.option('--fsu-collection-id', required=True, help=u"""Unique Exadata Fleet Update Collection identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -372,7 +372,7 @@ def change_fsu_collection_compartment(ctx, from_json, wait_for_state, max_wait_s
@fsu_cycle_group.command(name=cli_util.override('fleet_software_update.change_fsu_cycle_compartment.command_name', 'change-compartment'), help=u"""Moves a Exadata Fleet Update Cycle resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeFsuCycleCompartment)""")
@cli_util.option('--fsu-cycle-id', required=True, help=u"""Unique Exadata Fleet Update Cycle identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -433,7 +433,7 @@ def change_fsu_cycle_compartment(ctx, from_json, wait_for_state, max_wait_second
@fsu_discovery_group.command(name=cli_util.override('fleet_software_update.change_fsu_discovery_compartment.command_name', 'change-compartment'), help=u"""Moves a Exadata Fleet Update Discovery resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeFsuDiscoveryCompartment)""")
@cli_util.option('--fsu-discovery-id', required=True, help=u"""Unique Exadata Fleet Update Discovery identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -466,7 +466,7 @@ def change_fsu_discovery_compartment(ctx, from_json, fsu_discovery_id, compartme
@cli_util.option('--fsu-cycle-id', required=True, help=u"""Unique Exadata Fleet Update Cycle identifier.""")
@cli_util.option('--goal-version-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Cycle.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--fsu-collection-id', help=u"""The [OCID] of the Exadata Fleet Update Collection which will be updated by the Exadata Fleet Update Cycle being created. If not specified, the cloned Exadata Fleet Update Cycle will be assigned to the same Exadata Fleet Update Collection as the source Exadata Fleet Update Cycle.""")
@cli_util.option('--batching-strategy', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--stage-action-schedule', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -545,7 +545,7 @@ def clone_fsu_cycle(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@fsu_action_group.command(name=cli_util.override('fleet_software_update.create_fsu_action.command_name', 'create'), help=u"""Creates a new Exadata Fleet Update Action. \n[Command Reference](createFsuAction)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["STAGE", "PRECHECK", "APPLY", "ROLLBACK_AND_REMOVE_TARGET", "CLEANUP", "ROLLBACK_MAINTENANCE_CYCLE"]), help=u"""Type of Exadata Fleet Update Action.""")
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Action display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -612,7 +612,7 @@ def create_fsu_action(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@fsu_action_group.command(name=cli_util.override('fleet_software_update.create_fsu_action_create_rollback_cycle_apply_action_details.command_name', 'create-fsu-action-create-rollback-cycle-apply-action-details'), help=u"""Creates a new Exadata Fleet Update Action. \n[Command Reference](createFsuAction)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--fsu-cycle-id', required=True, help=u"""OCID identifier for the Exadata Fleet Update Cycle the Action will be part of.""")
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Action display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -681,7 +681,7 @@ def create_fsu_action_create_rollback_cycle_apply_action_details(ctx, from_json,
@fsu_action_group.command(name=cli_util.override('fleet_software_update.create_fsu_action_create_apply_action_details.command_name', 'create-fsu-action-create-apply-action-details'), help=u"""Creates a new Exadata Fleet Update Action. \n[Command Reference](createFsuAction)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--fsu-cycle-id', required=True, help=u"""OCID identifier for the Exadata Fleet Update Cycle the Action will be part of.""")
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Action display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -754,7 +754,7 @@ def create_fsu_action_create_apply_action_details(ctx, from_json, wait_for_state
@fsu_action_group.command(name=cli_util.override('fleet_software_update.create_fsu_action_create_stage_action_details.command_name', 'create-fsu-action-create-stage-action-details'), help=u"""Creates a new Exadata Fleet Update Action. \n[Command Reference](createFsuAction)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--fsu-cycle-id', required=True, help=u"""OCID identifier for the Exadata Fleet Update Cycle the Action will be part of.""")
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Action display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -827,7 +827,7 @@ def create_fsu_action_create_stage_action_details(ctx, from_json, wait_for_state
@fsu_action_group.command(name=cli_util.override('fleet_software_update.create_fsu_action_create_rollback_action_details.command_name', 'create-fsu-action-create-rollback-action-details'), help=u"""Creates a new Exadata Fleet Update Action. \n[Command Reference](createFsuAction)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--fsu-cycle-id', required=True, help=u"""OCID identifier for the Exadata Fleet Update Cycle the Action will be part of.""")
@cli_util.option('--details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Action display name.""")
@@ -902,7 +902,7 @@ def create_fsu_action_create_rollback_action_details(ctx, from_json, wait_for_st
@fsu_action_group.command(name=cli_util.override('fleet_software_update.create_fsu_action_create_cleanup_action_details.command_name', 'create-fsu-action-create-cleanup-action-details'), help=u"""Creates a new Exadata Fleet Update Action. \n[Command Reference](createFsuAction)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--fsu-cycle-id', required=True, help=u"""OCID identifier for the Exadata Fleet Update Cycle the Action will be part of.""")
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Action display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -975,7 +975,7 @@ def create_fsu_action_create_cleanup_action_details(ctx, from_json, wait_for_sta
@fsu_action_group.command(name=cli_util.override('fleet_software_update.create_fsu_action_create_precheck_action_details.command_name', 'create-fsu-action-create-precheck-action-details'), help=u"""Creates a new Exadata Fleet Update Action. \n[Command Reference](createFsuAction)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--fsu-cycle-id', required=True, help=u"""OCID identifier for the Exadata Fleet Update Cycle the Action will be part of.""")
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Action display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1050,7 +1050,7 @@ def create_fsu_action_create_precheck_action_details(ctx, from_json, wait_for_st
@fsu_collection_group.command(name=cli_util.override('fleet_software_update.create_fsu_collection.command_name', 'create'), help=u"""Creates a new Exadata Fleet Update Collection. \n[Command Reference](createFsuCollection)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["DB", "GI", "GUEST_OS", "EXADB_STACK"]), help=u"""Collection type. DB: Only Database entity type resources allowed. GI: CloudVMCluster and VMCluster entity type resources allowed. GUEST_OS: CloudVmCluster and VmCluster entity type resources are allowed. EXADB_STACK: CloudVmCluster and VmCluster entity type resources are allowed.""")
@cli_util.option('--service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Collection.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1118,7 +1118,7 @@ def create_fsu_collection(ctx, from_json, wait_for_state, max_wait_seconds, wait
@fsu_collection_group.command(name=cli_util.override('fleet_software_update.create_fsu_collection_create_db_fsu_collection_details.command_name', 'create-fsu-collection-create-db-fsu-collection-details'), help=u"""Creates a new Exadata Fleet Update Collection. \n[Command Reference](createFsuCollection)""")
@cli_util.option('--service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--source-major-version', required=True, type=custom_types.CliCaseInsensitiveChoice(["DB_11204", "DB_121", "DB_122", "DB_18", "DB_19", "DB_23", "DB_26"]), help=u"""Database Major Version of targets to be included in the Exadata Fleet Update Collection. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbVersionSummary/ListDbVersions Only Database targets that match the version specified in this value would be added to the Exadata Fleet Update Collection.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Collection.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1193,7 +1193,7 @@ def create_fsu_collection_create_db_fsu_collection_details(ctx, from_json, wait_
@fsu_collection_group.command(name=cli_util.override('fleet_software_update.create_fsu_collection_create_gi_fsu_collection_details.command_name', 'create-fsu-collection-create-gi-fsu-collection-details'), help=u"""Creates a new Exadata Fleet Update Collection. \n[Command Reference](createFsuCollection)""")
@cli_util.option('--service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--source-major-version', required=True, type=custom_types.CliCaseInsensitiveChoice(["GI_18", "GI_19", "GI_23", "GI_26"]), help=u"""Grid Infrastructure Major Version of targets to be included in the Exadata Fleet Update Collection. Only GI targets that match the version specified in this value would be added to the Exadata Fleet Update Collection.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Collection.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1268,7 +1268,7 @@ def create_fsu_collection_create_gi_fsu_collection_details(ctx, from_json, wait_
@fsu_collection_group.command(name=cli_util.override('fleet_software_update.create_fsu_collection_create_guest_os_fsu_collection_details.command_name', 'create-fsu-collection-create-guest-os-fsu-collection-details'), help=u"""Creates a new Exadata Fleet Update Collection. \n[Command Reference](createFsuCollection)""")
@cli_util.option('--service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--source-major-version', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXA_OL_5", "EXA_OL_6", "EXA_OL_7", "EXA_OL_8"]), help=u"""Major version of Exadata Image (Guest OS) release for Exadata VM Cluster targets to be included in the Exadata Fleet Update Collection. Only Exadata VM Clusters whose 'systemVersion' is related to the major version will be added to the Exadata Fleet Update Collection. For more details, refer to [Oracle document 2075007.1]""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Collection.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1343,7 +1343,7 @@ def create_fsu_collection_create_guest_os_fsu_collection_details(ctx, from_json,
@fsu_collection_group.command(name=cli_util.override('fleet_software_update.create_fsu_collection_create_exadb_stack_fsu_collection_details.command_name', 'create-fsu-collection-create-exadb-stack-fsu-collection-details'), help=u"""Creates a new Exadata Fleet Update Collection. \n[Command Reference](createFsuCollection)""")
@cli_util.option('--service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--components', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Details of components in an Exadata software stack.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Collection.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1413,7 +1413,7 @@ def create_fsu_collection_create_exadb_stack_fsu_collection_details(ctx, from_js
@fsu_cycle_group.command(name=cli_util.override('fleet_software_update.create_fsu_cycle.command_name', 'create'), help=u"""Creates a new Exadata Fleet Update Cycle. \n[Command Reference](createFsuCycle)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["PATCH", "UPGRADE"]), help=u"""Type of Exadata Fleet Update Cycle.""")
@cli_util.option('--fsu-collection-id', required=True, help=u"""The [OCID] of the Exadata Fleet Update Collection which will be updated by the Exadata Fleet Update Cycle being created.""")
@cli_util.option('--goal-version-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1500,7 +1500,7 @@ def create_fsu_cycle(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@fsu_cycle_group.command(name=cli_util.override('fleet_software_update.create_fsu_cycle_create_patch_fsu_cycle.command_name', 'create-fsu-cycle-create-patch-fsu-cycle'), help=u"""Creates a new Exadata Fleet Update Cycle. \n[Command Reference](createFsuCycle)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--fsu-collection-id', required=True, help=u"""The [OCID] of the Exadata Fleet Update Collection which will be updated by the Exadata Fleet Update Cycle being created.""")
@cli_util.option('--goal-version-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Cycle.""")
@@ -1603,7 +1603,7 @@ def create_fsu_cycle_create_patch_fsu_cycle(ctx, from_json, wait_for_state, max_
@fsu_cycle_group.command(name=cli_util.override('fleet_software_update.create_fsu_cycle_create_upgrade_fsu_cycle.command_name', 'create-fsu-cycle-create-upgrade-fsu-cycle'), help=u"""Creates a new Exadata Fleet Update Cycle. \n[Command Reference](createFsuCycle)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Compartment.""")
@cli_util.option('--fsu-collection-id', required=True, help=u"""The [OCID] of the Exadata Fleet Update Collection which will be updated by the Exadata Fleet Update Cycle being created.""")
@cli_util.option('--goal-version-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The user-friendly name for the Exadata Fleet Update Cycle.""")
@@ -1694,7 +1694,7 @@ def create_fsu_cycle_create_upgrade_fsu_cycle(ctx, from_json, wait_for_state, ma
@fsu_discovery_group.command(name=cli_util.override('fleet_software_update.create_fsu_discovery.command_name', 'create'), help=u"""Creates a new Exadata Fleet Update Discovery. \n[Command Reference](createFsuDiscovery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Collection display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1761,7 +1761,7 @@ def create_fsu_discovery(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@fsu_discovery_group.command(name=cli_util.override('fleet_software_update.create_fsu_discovery_gi_discovery_details.command_name', 'create-fsu-discovery-gi-discovery-details'), help=u"""Creates a new Exadata Fleet Update Discovery. \n[Command Reference](createFsuDiscovery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--details-service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
@cli_util.option('--details-source-major-version', required=True, type=custom_types.CliCaseInsensitiveChoice(["GI_18", "GI_19", "GI_23", "GI_26"]), help=u"""Grid Infrastructure Major Version of targets to be included in the Exadata Fleet Update Discovery results. Only GI targets that match the version specified in this value would be added to the Exadata Fleet Update Discovery results.""")
@cli_util.option('--details-criteria', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1835,7 +1835,7 @@ def create_fsu_discovery_gi_discovery_details(ctx, from_json, wait_for_state, ma
@fsu_discovery_group.command(name=cli_util.override('fleet_software_update.create_fsu_discovery_db_discovery_details.command_name', 'create-fsu-discovery-db-discovery-details'), help=u"""Creates a new Exadata Fleet Update Discovery. \n[Command Reference](createFsuDiscovery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--details-service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
@cli_util.option('--details-source-major-version', required=True, type=custom_types.CliCaseInsensitiveChoice(["DB_11204", "DB_121", "DB_122", "DB_18", "DB_19", "DB_23", "DB_26"]), help=u"""Database Major Version of targets to be included in the Exadata Fleet Update Discovery results. https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/DbVersionSummary/ListDbVersions Only Database targets that match the version specified in this value would be added to the Exadata Fleet Update Discovery results.""")
@cli_util.option('--details-criteria', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1909,7 +1909,7 @@ def create_fsu_discovery_db_discovery_details(ctx, from_json, wait_for_state, ma
@fsu_discovery_group.command(name=cli_util.override('fleet_software_update.create_fsu_discovery_exadb_stack_discovery_details.command_name', 'create-fsu-discovery-exadb-stack-discovery-details'), help=u"""Creates a new Exadata Fleet Update Discovery. \n[Command Reference](createFsuDiscovery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--details-service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
@cli_util.option('--details-components', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Discovery filter details of components in an Exadata software stack.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Exadata Fleet Update Collection display name.""")
@@ -1981,7 +1981,7 @@ def create_fsu_discovery_exadb_stack_discovery_details(ctx, from_json, wait_for_
@fsu_discovery_group.command(name=cli_util.override('fleet_software_update.create_fsu_discovery_guest_os_discovery_details.command_name', 'create-fsu-discovery-guest-os-discovery-details'), help=u"""Creates a new Exadata Fleet Update Discovery. \n[Command Reference](createFsuDiscovery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--details-service-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACS", "EXACC"]), help=u"""Exadata service type for the target resource members.""")
@cli_util.option('--details-source-major-version', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXA_OL_5", "EXA_OL_6", "EXA_OL_7", "EXA_OL_8"]), help=u"""Major version of Exadata Image (Guest OS) release for Exadata VM Cluster targets to be included in the results for an Exadata Fleet Update Discovery. Major Versions of Exadata Software are demarcated by the underlying Oracle Linux OS version. For more details, refer to [Oracle document 2075007.1]""")
@cli_util.option('--details-criteria', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2653,7 +2653,7 @@ def get_work_request(ctx, from_json, work_request_id):
@fsu_action_summary_collection_group.command(name=cli_util.override('fleet_software_update.list_fsu_actions.command_name', 'list-fsu-actions'), help=u"""Gets a list of all Exadata Fleet Update Actions in a compartment. \n[Command Reference](listFsuActions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--fsu-cycle-id', help=u"""A filter to return only resources whose fsuCycleId matches the given fleetSoftwareUpdateCycleId.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "UPDATING", "FAILED", "NEEDS_ATTENTION", "SUCCEEDED", "CANCELING", "CANCELED", "UNKNOWN", "DELETING", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -2720,7 +2720,7 @@ def list_fsu_actions(ctx, from_json, all_pages, page_size, compartment_id, fsu_c
@target_summary_collection_group.command(name=cli_util.override('fleet_software_update.list_fsu_collection_targets.command_name', 'list-fsu-collection-targets'), help=u"""Gets a list of all Targets that are members of a specific Exadata Fleet Update Collection. \n[Command Reference](listFsuCollectionTargets)""")
@cli_util.option('--fsu-collection-id', required=True, help=u"""Unique Exadata Fleet Update Collection identifier.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--target-id', help=u"""A filter to return a resource whose target OCID matches the given OCID.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["IDLE", "EXECUTING_JOB", "JOB_FAILED"]), help=u"""A filter to return only entries whose status matches the given status.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -2785,7 +2785,7 @@ def list_fsu_collection_targets(ctx, from_json, all_pages, page_size, fsu_collec
@fsu_collection_summary_collection_group.command(name=cli_util.override('fleet_software_update.list_fsu_collections.command_name', 'list-fsu-collections'), help=u"""Gets a list of all Exadata Fleet Update Collections in a compartment. \n[Command Reference](listFsuCollections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["DB", "GI", "GUEST_OS", "EXADB_STACK"]), help=u"""A filter to return only resources whose type matches the given type.""")
@@ -2848,7 +2848,7 @@ def list_fsu_collections(ctx, from_json, all_pages, page_size, compartment_id, l
@fsu_cycle_summary_group.command(name=cli_util.override('fleet_software_update.list_fsu_cycles.command_name', 'list-fsu-cycles'), help=u"""Gets a list of all Exadata Fleet Update Cycles in a compartment. \n[Command Reference](listFsuCycles)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--fsu-collection-id', help=u"""A filter to return only resources whose fsuCollectionId matches the given fsuCollectionId.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "IN_PROGRESS", "FAILED", "NEEDS_ATTENTION", "SUCCEEDED", "DELETING", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--collection-type', type=custom_types.CliCaseInsensitiveChoice(["DB", "GI", "GUEST_OS", "EXADB_STACK"]), help=u"""A filter to return only resources whose Collection type matches the given type.""")
@@ -2917,7 +2917,7 @@ def list_fsu_cycles(ctx, from_json, all_pages, page_size, compartment_id, fsu_co
@fsu_discovery_summary_group.command(name=cli_util.override('fleet_software_update.list_fsu_discoveries.command_name', 'list-fsu-discoveries'), help=u"""Returns a list of Exadata Fleet Update Discoveries resources in the specified compartment. \n[Command Reference](listFsuDiscoveries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "DELETING", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -2978,7 +2978,7 @@ def list_fsu_discoveries(ctx, from_json, all_pages, page_size, compartment_id, l
@target_summary_collection_group.command(name=cli_util.override('fleet_software_update.list_fsu_discovery_targets.command_name', 'list-fsu-discovery-targets'), help=u"""Gets a list of all Targets in the results of a Exadata Fleet Update Discovery. \n[Command Reference](listFsuDiscoveryTargets)""")
@cli_util.option('--fsu-discovery-id', required=True, help=u"""Unique Exadata Fleet Update Discovery identifier.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--target-id', help=u"""A filter to return a resource whose target OCID matches the given OCID.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["IDLE", "EXECUTING_JOB", "JOB_FAILED"]), help=u"""A filter to return only entries whose status matches the given status.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -3268,7 +3268,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('fleet_software_update.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources whose lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/functions/src/oci_cli_functions_management/generated/functionsmanagement_cli.py b/services/functions/src/oci_cli_functions_management/generated/functionsmanagement_cli.py
index 8de89f91..dca4b68a 100644
--- a/services/functions/src/oci_cli_functions_management/generated/functionsmanagement_cli.py
+++ b/services/functions/src/oci_cli_functions_management/generated/functionsmanagement_cli.py
@@ -62,7 +62,7 @@ def pbf_listing_version_group():
@application_group.command(name=cli_util.override('functions_management.change_application_compartment.command_name', 'change-compartment'), help=u"""Moves an application into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changeApplicationCompartment)""")
@cli_util.option('--application-id', required=True, help=u"""The [OCID] of this application.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -92,7 +92,7 @@ def change_application_compartment(ctx, from_json, application_id, compartment_i
@application_group.command(name=cli_util.override('functions_management.create_application.command_name', 'create'), help=u"""Creates a new application. \n[Command Reference](createApplication)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to create the application within.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to create the application within.""")
@cli_util.option('--display-name', required=True, help=u"""The display name of the application. The display name must be unique within the compartment containing the application. Avoid entering confidential information.""")
@cli_util.option('--subnet-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The [OCID]s of the subnets in which to run functions in the application.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Application configuration. These values are passed on to the function as environment variables, functions may override application configuration. Keys must be ASCII strings consisting solely of letters, digits, and the '_' (underscore) character, and must not begin with a digit. Values should be limited to printable unicode characters.
@@ -1730,7 +1730,7 @@ def get_pbf_listing_version(ctx, from_json, pbf_listing_version_id):
@application_group.command(name=cli_util.override('functions_management.list_applications.command_name', 'list'), help=u"""Lists applications for a compartment. \n[Command Reference](listApplications)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which this resource belongs.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which this resource belongs.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return. 1 is the minimum, 50 is the maximum.
Default: 10""")
diff --git a/services/fusion_apps/src/oci_cli_fusion_applications/generated/fusionapplications_cli.py b/services/fusion_apps/src/oci_cli_fusion_applications/generated/fusionapplications_cli.py
index b3c4adc6..e91b6886 100644
--- a/services/fusion_apps/src/oci_cli_fusion_applications/generated/fusionapplications_cli.py
+++ b/services/fusion_apps/src/oci_cli_fusion_applications/generated/fusionapplications_cli.py
@@ -124,7 +124,7 @@ def scheduled_activity_group():
@fusion_environment_group.command(name=cli_util.override('fusion_apps.change_fusion_environment_compartment.command_name', 'change-compartment'), help=u"""Moves a FusionEnvironment into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeFusionEnvironmentCompartment)""")
@cli_util.option('--fusion-environment-id', required=True, help=u"""unique FusionEnvironment identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -185,7 +185,7 @@ def change_fusion_environment_compartment(ctx, from_json, wait_for_state, max_wa
@fusion_environment_family_group.command(name=cli_util.override('fusion_apps.change_fusion_environment_family_compartment.command_name', 'change-compartment'), help=u"""Moves a FusionEnvironmentFamily into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeFusionEnvironmentFamilyCompartment)""")
@cli_util.option('--fusion-environment-family-id', required=True, help=u"""The unique identifier (OCID) of the FusionEnvironmentFamily.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -306,7 +306,7 @@ def create_data_masking_activity(ctx, from_json, wait_for_state, max_wait_second
@fusion_environment_group.command(name=cli_util.override('fusion_apps.create_fusion_environment.command_name', 'create'), help=u"""Creates a new FusionEnvironment. \n[Command Reference](createFusionEnvironment)""")
@cli_util.option('--display-name', required=True, help=u"""FusionEnvironment Identifier can be renamed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment where the Fusion Environment is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment where the Fusion Environment is located.""")
@cli_util.option('--fusion-environment-family-id', required=True, help=u"""The unique identifier (OCID) of the Fusion Environment Family that the Fusion Environment belongs to.""")
@cli_util.option('--fusion-environment-type', required=True, help=u"""The type of environment. Valid values are Production, Test, or Development.""")
@cli_util.option('--create-fusion-environment-admin-user-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -469,7 +469,7 @@ def create_fusion_environment_admin_user(ctx, from_json, wait_for_state, max_wai
@fusion_environment_family_group.command(name=cli_util.override('fusion_apps.create_fusion_environment_family.command_name', 'create'), help=u"""Creates a new FusionEnvironmentFamily. \n[Command Reference](createFusionEnvironmentFamily)""")
@cli_util.option('--display-name', required=True, help=u"""A friendly name for the environment family. The name must contain only letters, numbers, dashes, and underscores. Can be changed later.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the environment family is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the environment family is located.""")
@cli_util.option('--subscription-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of the IDs of the applications subscriptions that are associated with the environment family.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--family-maintenance-policy', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1355,7 +1355,7 @@ def list_data_masking_activities(ctx, from_json, all_pages, page_size, fusion_en
@fusion_environment_family_group.command(name=cli_util.override('fusion_apps.list_fusion_environment_families.command_name', 'list'), help=u"""Returns a list of FusionEnvironmentFamilies. \n[Command Reference](listFusionEnvironmentFamilies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--fusion-environment-family-id', help=u"""The ID of the fusion environment family in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter that returns all resources that match the specified lifecycle state.""")
@@ -1418,7 +1418,7 @@ def list_fusion_environment_families(ctx, from_json, all_pages, page_size, compa
@fusion_environment_group.command(name=cli_util.override('fusion_apps.list_fusion_environments.command_name', 'list'), help=u"""Returns a list of FusionEnvironments. \n[Command Reference](listFusionEnvironments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--fusion-environment-family-id', help=u"""The ID of the fusion environment family in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter that returns all resources that match the specified lifecycle state.""")
@@ -1865,7 +1865,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('fusion_apps.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeAccepted"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for timeAccepted is descending.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
diff --git a/services/generative_ai/src/oci_cli_generative_ai/generated/generativeai_cli.py b/services/generative_ai/src/oci_cli_generative_ai/generated/generativeai_cli.py
index 572dd4b8..7fe450d3 100644
--- a/services/generative_ai/src/oci_cli_generative_ai/generated/generativeai_cli.py
+++ b/services/generative_ai/src/oci_cli_generative_ai/generated/generativeai_cli.py
@@ -178,7 +178,7 @@ def change_api_key_compartment(ctx, from_json, api_key_id, compartment_id, if_ma
@dedicated_ai_cluster_group.command(name=cli_util.override('generative_ai.change_dedicated_ai_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a dedicated AI cluster 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](changeDedicatedAiClusterCompartment)""")
@cli_util.option('--dedicated-ai-cluster-id', required=True, help=u"""The [OCID] of the dedicated AI cluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to move the dedicated AI cluster to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to move the dedicated AI cluster to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -209,7 +209,7 @@ def change_dedicated_ai_cluster_compartment(ctx, from_json, dedicated_ai_cluster
@endpoint_group.command(name=cli_util.override('generative_ai.change_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves an endpoint 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](changeEndpointCompartment)""")
@cli_util.option('--endpoint-id', required=True, help=u"""The [OCID] of the endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to move the endpoint to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to move the endpoint to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -240,7 +240,7 @@ def change_endpoint_compartment(ctx, from_json, endpoint_id, compartment_id, if_
@generative_ai_private_endpoint_group.command(name=cli_util.override('generative_ai.change_generative_ai_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a Generative AI private endpoint into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeGenerativeAiPrivateEndpointCompartment)""")
@cli_util.option('--generative-ai-private-endpoint-id', required=True, help=u"""The unique id for a Generative AI private endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the target compartment where the private endpoint is moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the target compartment where the private endpoint is moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -301,7 +301,7 @@ def change_generative_ai_private_endpoint_compartment(ctx, from_json, wait_for_s
@imported_model_group.command(name=cli_util.override('generative_ai.change_imported_model_compartment.command_name', 'change-compartment'), help=u"""Moves an imported model into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeImportedModelCompartment)""")
@cli_util.option('--imported-model-id', required=True, help=u"""The importedModel OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The destination compartment OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The destination compartment OCID""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -332,7 +332,7 @@ def change_imported_model_compartment(ctx, from_json, imported_model_id, compart
@model_group.command(name=cli_util.override('generative_ai.change_model_compartment.command_name', 'change-compartment'), help=u"""Moves a custom model into a different compartment. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeModelCompartment)""")
@cli_util.option('--model-id', required=True, help=u"""The model OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID to create the model in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID to create the model in.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -434,7 +434,7 @@ def create_api_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@cli_util.option('--type', required=True, help=u"""The dedicated AI cluster type indicating whether this is a fine-tuning/training processor or hosting/inference processor.
Allowed values are: - HOSTING - FINE_TUNING""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID to create the dedicated AI cluster in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID to create the dedicated AI cluster in.""")
@cli_util.option('--unit-count', required=True, type=click.INT, help=u"""The number of dedicated units in this AI cluster.""")
@cli_util.option('--unit-shape', required=True, help=u"""The shape of dedicated unit in this AI cluster. The underlying hardware configuration is hidden from customers.
@@ -518,7 +518,7 @@ def create_dedicated_ai_cluster(ctx, from_json, wait_for_state, max_wait_seconds
@endpoint_group.command(name=cli_util.override('generative_ai.create_endpoint.command_name', 'create'), help=u"""Creates an endpoint.
The header contains an opc-work-request-id, which is the id for the WorkRequest that tracks the endpoint creation progress. \n[Command Reference](createEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID to create the endpoint in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID to create the endpoint in.""")
@cli_util.option('--model-id', required=True, help=u"""The OCID of the model that's used to create this endpoint.""")
@cli_util.option('--dedicated-ai-cluster-id', required=True, help=u"""The OCID of the dedicated AI cluster on which a model will be deployed to.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.""")
@@ -611,8 +611,8 @@ def create_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@generative_ai_private_endpoint_group.command(name=cli_util.override('generative_ai.create_generative_ai_private_endpoint.command_name', 'create'), help=u"""Creates a Generative AI private endpoint. \n[Command Reference](createGenerativeAiPrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the private endpoint is created.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the customer's subnet where the private endpoint VNIC will reside.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the private endpoint is created.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the customer's subnet where the private endpoint VNIC will reside.""")
@cli_util.option('--dns-prefix', required=True, help=u"""dnsPrefix of the private endpoint FQDN.""")
@cli_util.option('--description', help=u"""A description of this private endpoint.""")
@cli_util.option('--display-name', help=u"""A user friendly name. It doesn't have to be unique. Avoid entering confidential information.""")
@@ -698,7 +698,7 @@ def create_generative_ai_private_endpoint(ctx, from_json, wait_for_state, max_wa
@imported_model_group.command(name=cli_util.override('generative_ai.create_imported_model.command_name', 'create'), help=u"""Import a model from ModelDataSource.
The header contains an opc-work-request-id, which is the id for the WorkRequest that tracks the importedModel creation progress. \n[Command Reference](createImportedModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID from which the model is imported.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID from which the model is imported.""")
@cli_util.option('--data-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly name for the imported model.""")
@cli_util.option('--description', help=u"""An optional description of the imported model.""")
@@ -787,7 +787,7 @@ def create_imported_model(ctx, from_json, wait_for_state, max_wait_seconds, wait
@imported_model_group.command(name=cli_util.override('generative_ai.create_imported_model_object_storage_object.command_name', 'create-imported-model-object-storage-object'), help=u"""Import a model from ModelDataSource.
The header contains an opc-work-request-id, which is the id for the WorkRequest that tracks the importedModel creation progress. \n[Command Reference](createImportedModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID from which the model is imported.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID from which the model is imported.""")
@cli_util.option('--data-source-namespace-name', required=True, help=u"""The namespace of the Object Storage where the files are stored.""")
@cli_util.option('--data-source-bucket-name', required=True, help=u"""The name of the Object Storage bucket.""")
@cli_util.option('--data-source-prefix-name', required=True, help=u"""The prefix path (or folder) within the bucket where files are located.""")
@@ -887,7 +887,7 @@ def create_imported_model_object_storage_object(ctx, from_json, wait_for_state,
@imported_model_group.command(name=cli_util.override('generative_ai.create_imported_model_hugging_face_model.command_name', 'create-imported-model-hugging-face-model'), help=u"""Import a model from ModelDataSource.
The header contains an opc-work-request-id, which is the id for the WorkRequest that tracks the importedModel creation progress. \n[Command Reference](createImportedModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID from which the model is imported.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID from which the model is imported.""")
@cli_util.option('--data-source-model-id', required=True, help=u"""The full model OCID from Hugging Face, typically in the format \"org/model-name\" (e.g., \"meta-llama/Llama-2-7b\").""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the imported model.""")
@cli_util.option('--description', help=u"""An optional description of the imported model.""")
@@ -991,7 +991,7 @@ def create_imported_model_hugging_face_model(ctx, from_json, wait_for_state, max
@model_group.command(name=cli_util.override('generative_ai.create_model.command_name', 'create'), help=u"""Creates a custom model by fine-tuning a base model with your own dataset. You can create a new custom models or create a new version of existing custom model..
The header contains an opc-work-request-id, which is the id for the WorkRequest that tracks the model creation progress. \n[Command Reference](createModel)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID for fine-tuned models. For pretrained models, this value is null.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID for fine-tuned models. For pretrained models, this value is null.""")
@cli_util.option('--base-model-id', required=True, help=u"""The OCID of the base model that's used for fine-tuning.""")
@cli_util.option('--fine-tune-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly name.""")
@@ -1639,7 +1639,7 @@ def list_api_keys(ctx, from_json, all_pages, page_size, compartment_id, lifecycl
@dedicated_ai_cluster_collection_group.command(name=cli_util.override('generative_ai.list_dedicated_ai_clusters.command_name', 'list-dedicated-ai-clusters'), help=u"""Lists the dedicated AI clusters in a specific compartment. \n[Command Reference](listDedicatedAiClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only the dedicated AI clusters that their lifecycle state matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the dedicated AI cluster.""")
@@ -1702,7 +1702,7 @@ def list_dedicated_ai_clusters(ctx, from_json, all_pages, page_size, compartment
@endpoint_collection_group.command(name=cli_util.override('generative_ai.list_endpoints.command_name', 'list-endpoints'), help=u"""Lists the endpoints of a specific compartment. \n[Command Reference](listEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that their lifecycle state matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the endpoint.""")
@@ -1768,7 +1768,7 @@ def list_endpoints(ctx, from_json, all_pages, page_size, compartment_id, lifecyc
@generative_ai_private_endpoint_collection_group.command(name=cli_util.override('generative_ai.list_generative_ai_private_endpoints.command_name', 'list-generative-ai-private-endpoints'), help=u"""Lists all Generative AI private endpoints in the specified compartment. \n[Command Reference](listGenerativeAiPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The [OCID] of the private endpoint.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""The lifecycle state of Generative AI private endpoints.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated"]), help=u"""The field used to sort the results. Multiple fields aren't supported.""")
@@ -1831,7 +1831,7 @@ def list_generative_ai_private_endpoints(ctx, from_json, all_pages, page_size, c
@imported_model_collection_group.command(name=cli_util.override('generative_ai.list_imported_models.command_name', 'list-imported-models'), help=u"""Lists imported models in a specific compartment. \n[Command Reference](listImportedModels)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--vendor', help=u"""A filter to return only resources that match the entire vendor given.""")
@cli_util.option('--capability', type=custom_types.CliCaseInsensitiveChoice(["TEXT_TO_TEXT", "IMAGE_TEXT_TO_TEXT", "EMBEDDING", "RERANK"]), multiple=True, help=u"""A filter to return only resources their capability matches the given capability.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@@ -1900,7 +1900,7 @@ def list_imported_models(ctx, from_json, all_pages, page_size, compartment_id, v
@model_collection_group.command(name=cli_util.override('generative_ai.list_models.command_name', 'list-models'), help=u"""Lists the models in a specific compartment. Includes pretrained base models and fine-tuned custom models. \n[Command Reference](listModels)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--vendor', help=u"""A filter to return only resources that match the entire vendor given.""")
@cli_util.option('--capability', type=custom_types.CliCaseInsensitiveChoice(["TEXT_GENERATION", "TEXT_SUMMARIZATION", "TEXT_EMBEDDINGS", "FINE_TUNE", "CHAT", "TEXT_RERANK"]), multiple=True, help=u"""A filter to return only resources their capability matches the given capability.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@@ -2083,7 +2083,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('generative_ai.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/generative_ai_agent/src/oci_cli_generative_ai_agent/generated/generativeaiagent_cli.py b/services/generative_ai_agent/src/oci_cli_generative_ai_agent/generated/generativeaiagent_cli.py
index d51374cd..24ec222c 100644
--- a/services/generative_ai_agent/src/oci_cli_generative_ai_agent/generated/generativeaiagent_cli.py
+++ b/services/generative_ai_agent/src/oci_cli_generative_ai_agent/generated/generativeaiagent_cli.py
@@ -144,7 +144,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@agent_group.command(name=cli_util.override('generative_ai_agent.change_agent_compartment.command_name', 'change-compartment'), help=u"""Moves an agent 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](changeAgentCompartment)""")
@cli_util.option('--agent-id', required=True, help=u"""The [OCID] of the agent.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the agent to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the agent to.""")
@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.""")
@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.""")
@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.""")
@@ -205,7 +205,7 @@ def change_agent_compartment(ctx, from_json, wait_for_state, max_wait_seconds, w
@agent_endpoint_group.command(name=cli_util.override('generative_ai_agent.change_agent_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves an endpoint 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](changeAgentEndpointCompartment)""")
@cli_util.option('--agent-endpoint-id', required=True, help=u"""The [OCID] of the endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the endpoint to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the endpoint to.""")
@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.""")
@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.""")
@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.""")
@@ -266,7 +266,7 @@ def change_agent_endpoint_compartment(ctx, from_json, wait_for_state, max_wait_s
@knowledge_base_group.command(name=cli_util.override('generative_ai_agent.change_knowledge_base_compartment.command_name', 'change-compartment'), help=u"""Moves a knowledge base 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](changeKnowledgeBaseCompartment)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The [OCID] of the knowledge base.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the KnowledgeBase to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the KnowledgeBase to.""")
@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.""")
@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.""")
@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.""")
@@ -387,7 +387,7 @@ def change_provisioned_capacity_compartment(ctx, from_json, wait_for_state, max_
@agent_group.command(name=cli_util.override('generative_ai_agent.create_agent.command_name', 'create'), help=u"""Creates an agent. \n[Command Reference](createAgent)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the agent in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the agent in.""")
@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.""")
@cli_util.option('--description', help=u"""Description about the agent.""")
@cli_util.option('--knowledge-base-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of [OCID] of the knowledgeBases associated with agent. This field is deprecated and will be removed after March 26 2026.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -473,7 +473,7 @@ def create_agent(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@agent_endpoint_group.command(name=cli_util.override('generative_ai_agent.create_agent_endpoint.command_name', 'create'), help=u"""Creates an endpoint. \n[Command Reference](createAgentEndpoint)""")
@cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this endpoint is associated with.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the endpoint in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the endpoint in.""")
@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.""")
@cli_util.option('--description', help=u"""An optional description of the endpoint.""")
@cli_util.option('--content-moderation-config', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -592,7 +592,7 @@ def create_agent_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wait
@data_ingestion_job_group.command(name=cli_util.override('generative_ai_agent.create_data_ingestion_job.command_name', 'create'), help=u"""Creates a data ingestion job. \n[Command Reference](createDataIngestionJob)""")
@cli_util.option('--data-source-id', required=True, help=u"""The [OCID] of the parent DataSource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the data ingestion job in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the data ingestion job in.""")
@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.""")
@cli_util.option('--description', help=u"""A user-friendly description of the data ingestion job.""")
@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].
@@ -668,7 +668,7 @@ def create_data_ingestion_job(ctx, from_json, wait_for_state, max_wait_seconds,
@data_source_group.command(name=cli_util.override('generative_ai_agent.create_data_source.command_name', 'create'), help=u"""Creates a data source. \n[Command Reference](createDataSource)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The [OCID] of the parent KnowledgeBase.""")
@cli_util.option('--data-source-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the data source in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the data source in.""")
@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.""")
@cli_util.option('--description', help=u"""A description of the data source.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Key-value pairs to allow additional configurations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -748,7 +748,7 @@ def create_data_source(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@data_source_group.command(name=cli_util.override('generative_ai_agent.create_data_source_oci_object_storage_data_source_config.command_name', 'create-data-source-oci-object-storage-data-source-config'), help=u"""Creates a data source. \n[Command Reference](createDataSource)""")
@cli_util.option('--knowledge-base-id', required=True, help=u"""The [OCID] of the parent KnowledgeBase.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the data source in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the data source in.""")
@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.""")
@cli_util.option('--description', help=u"""A description of the data source.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Key-value pairs to allow additional configurations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -840,7 +840,7 @@ def create_data_source_oci_object_storage_data_source_config(ctx, from_json, wai
@knowledge_base_group.command(name=cli_util.override('generative_ai_agent.create_knowledge_base.command_name', 'create'), help=u"""Creates a knowledge base. \n[Command Reference](createKnowledgeBase)""")
@cli_util.option('--index-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
@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.""")
@cli_util.option('--description', help=u"""A user-friendly description of the knowledge base.""")
@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].
@@ -914,7 +914,7 @@ def create_knowledge_base(ctx, from_json, wait_for_state, max_wait_seconds, wait
@knowledge_base_group.command(name=cli_util.override('generative_ai_agent.create_knowledge_base_default_index_config.command_name', 'create-knowledge-base-default-index-config'), help=u"""Creates a knowledge base. \n[Command Reference](createKnowledgeBase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
@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.""")
@cli_util.option('--description', help=u"""A user-friendly description of the knowledge base.""")
@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].
@@ -994,7 +994,7 @@ def create_knowledge_base_default_index_config(ctx, from_json, wait_for_state, m
@knowledge_base_group.command(name=cli_util.override('generative_ai_agent.create_knowledge_base_oci_database_config.command_name', 'create-knowledge-base-oci-database-config'), help=u"""Creates a knowledge base. \n[Command Reference](createKnowledgeBase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
@cli_util.option('--index-config-database-connection', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--index-config-database-functions', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of Database functions to be used.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -1074,7 +1074,7 @@ def create_knowledge_base_oci_database_config(ctx, from_json, wait_for_state, ma
@knowledge_base_group.command(name=cli_util.override('generative_ai_agent.create_knowledge_base_oci_open_search_index_config.command_name', 'create-knowledge-base-oci-open-search-index-config'), help=u"""Creates a knowledge base. \n[Command Reference](createKnowledgeBase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the knowledge base in.""")
@cli_util.option('--index-config-cluster-id', required=True, help=u"""The [OCID] of the OpenSearch Cluster.""")
@cli_util.option('--index-config-secret-detail', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--index-config-indexes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Index configuration for open search.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1231,7 +1231,7 @@ def create_provisioned_capacity(ctx, from_json, wait_for_state, max_wait_seconds
@tool_group.command(name=cli_util.override('generative_ai_agent.create_tool.command_name', 'create'), help=u"""Creates a tool. \n[Command Reference](createTool)""")
@cli_util.option('--description', required=True, help=u"""Description about the Tool.""")
@cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this Tool is attached to.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--tool-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Key-value pairs to allow additional configurations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1310,7 +1310,7 @@ def create_tool(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@tool_group.command(name=cli_util.override('generative_ai_agent.create_tool_sql_tool_config.command_name', 'create-tool-sql-tool-config'), help=u"""Creates a tool. \n[Command Reference](createTool)""")
@cli_util.option('--description', required=True, help=u"""Description about the Tool.""")
@cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this Tool is attached to.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--tool-config-dialect', required=True, type=custom_types.CliCaseInsensitiveChoice(["SQL_LITE", "ORACLE_SQL"]), help=u"""Dialect to be used for SQL generation.""")
@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.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Key-value pairs to allow additional configurations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1428,7 +1428,7 @@ def create_tool_sql_tool_config(ctx, from_json, wait_for_state, max_wait_seconds
@tool_group.command(name=cli_util.override('generative_ai_agent.create_tool_function_calling_tool_config.command_name', 'create-tool-function-calling-tool-config'), help=u"""Creates a tool. \n[Command Reference](createTool)""")
@cli_util.option('--description', required=True, help=u"""Description about the Tool.""")
@cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this Tool is attached to.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--tool-config-function', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Key-value pairs to allow additional configurations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1510,7 +1510,7 @@ def create_tool_function_calling_tool_config(ctx, from_json, wait_for_state, max
@tool_group.command(name=cli_util.override('generative_ai_agent.create_tool_http_endpoint_tool_config.command_name', 'create-tool-http-endpoint-tool-config'), help=u"""Creates a tool. \n[Command Reference](createTool)""")
@cli_util.option('--description', required=True, help=u"""Description about the Tool.""")
@cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this Tool is attached to.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--tool-config-api-schema', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--tool-config-subnet-id', required=True, help=u"""The subnet ID from agent developer tenancy through which the egress is going to be routed.""")
@cli_util.option('--tool-config-http-endpoint-auth-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1596,7 +1596,7 @@ def create_tool_http_endpoint_tool_config(ctx, from_json, wait_for_state, max_wa
@tool_group.command(name=cli_util.override('generative_ai_agent.create_tool_agent_tool_config.command_name', 'create-tool-agent-tool-config'), help=u"""Creates a tool. \n[Command Reference](createTool)""")
@cli_util.option('--description', required=True, help=u"""Description about the Tool.""")
@cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this Tool is attached to.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--tool-config-agent-endpoint-id', required=True, help=u"""The AgentEndpoint OCID to be used as a tool in this agent.""")
@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.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Key-value pairs to allow additional configurations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1678,7 +1678,7 @@ def create_tool_agent_tool_config(ctx, from_json, wait_for_state, max_wait_secon
@tool_group.command(name=cli_util.override('generative_ai_agent.create_tool_rag_tool_config.command_name', 'create-tool-rag-tool-config'), help=u"""Creates a tool. \n[Command Reference](createTool)""")
@cli_util.option('--description', required=True, help=u"""Description about the Tool.""")
@cli_util.option('--agent-id', required=True, help=u"""The OCID of the agent that this Tool is attached to.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--tool-config-knowledge-base-configs', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The KnowledgeBase configurations that this RAG Tool uses""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Key-value pairs to allow additional configurations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2391,7 +2391,7 @@ def get_work_request(ctx, from_json, work_request_id):
@agent_endpoint_group.command(name=cli_util.override('generative_ai_agent.list_agent_endpoints.command_name', 'list'), help=u"""Gets a list of endpoints. \n[Command Reference](listAgentEndpoints)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--agent-id', help=u"""The [OCID] of the agent.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -2453,7 +2453,7 @@ def list_agent_endpoints(ctx, from_json, all_pages, page_size, compartment_id, a
@agent_group.command(name=cli_util.override('generative_ai_agent.list_agents.command_name', 'list'), help=u"""Gets a list of agents. \n[Command Reference](listAgents)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].""")
@@ -2512,7 +2512,7 @@ def list_agents(ctx, from_json, all_pages, page_size, compartment_id, lifecycle_
@data_ingestion_job_group.command(name=cli_util.override('generative_ai_agent.list_data_ingestion_jobs.command_name', 'list'), help=u"""Gets a list of data ingestion jobs. \n[Command Reference](listDataIngestionJobs)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--data-source-id', help=u"""The [OCID] of the data source.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "DELETING", "DELETED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -2574,7 +2574,7 @@ def list_data_ingestion_jobs(ctx, from_json, all_pages, page_size, compartment_i
@data_source_group.command(name=cli_util.override('generative_ai_agent.list_data_sources.command_name', 'list'), help=u"""Gets a list of data sources. \n[Command Reference](listDataSources)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--knowledge-base-id', help=u"""The [OCID] of the knowledge base.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -2636,7 +2636,7 @@ def list_data_sources(ctx, from_json, all_pages, page_size, compartment_id, know
@knowledge_base_group.command(name=cli_util.override('generative_ai_agent.list_knowledge_bases.command_name', 'list'), help=u"""Gets a list of knowledge bases. \n[Command Reference](listKnowledgeBases)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@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].""")
@@ -2757,7 +2757,7 @@ def list_provisioned_capacities(ctx, from_json, all_pages, page_size, compartmen
@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)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--agent-id', help=u"""The [OCID] of the agent.""")
@@ -2933,7 +2933,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('generative_ai_agent.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/generative_ai_inference/src/oci_cli_generative_ai_inference/generated/generativeaiinference_cli.py b/services/generative_ai_inference/src/oci_cli_generative_ai_inference/generated/generativeaiinference_cli.py
index 48516493..d94effd1 100644
--- a/services/generative_ai_inference/src/oci_cli_generative_ai_inference/generated/generativeaiinference_cli.py
+++ b/services/generative_ai_inference/src/oci_cli_generative_ai_inference/generated/generativeaiinference_cli.py
@@ -75,7 +75,7 @@ def chat_result_group():
@apply_guardrails_result_group.command(name=cli_util.override('generative_ai_inference.apply_guardrails.command_name', 'apply-guardrails'), help=u"""Applies guardrails to the input text, including content moderation, PII detection, and prompt injection protection. \n[Command Reference](applyGuardrails)""")
@cli_util.option('--input', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--guardrail-configs', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to apply guardrails.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to apply guardrails.""")
@json_skeleton_utils.get_cli_json_input_option({'input': {'module': 'generative_ai_inference', 'class': 'GuardrailsInput'}, 'guardrail-configs': {'module': 'generative_ai_inference', 'class': 'GuardrailConfigs'}})
@cli_util.help_option
@click.pass_context
@@ -101,7 +101,7 @@ def apply_guardrails(ctx, from_json, input, guardrail_configs, compartment_id):
@apply_guardrails_result_group.command(name=cli_util.override('generative_ai_inference.apply_guardrails_guardrails_text_input.command_name', 'apply-guardrails-guardrails-text-input'), help=u"""Applies guardrails to the input text, including content moderation, PII detection, and prompt injection protection. \n[Command Reference](applyGuardrails)""")
@cli_util.option('--guardrail-configs', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to apply guardrails.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to apply guardrails.""")
@cli_util.option('--input-content', help=u"""The actual input data.""")
@cli_util.option('--input-language-code', help=u"""The language code of the input text. example - en | es | en-US | zh-CN""")
@json_skeleton_utils.get_cli_json_input_option({'guardrail-configs': {'module': 'generative_ai_inference', 'class': 'GuardrailConfigs'}})
@@ -136,7 +136,7 @@ def apply_guardrails_guardrails_text_input(ctx, from_json, guardrail_configs, co
@chat_result_group.command(name=cli_util.override('generative_ai_inference.chat.command_name', 'chat'), help=u"""Creates a response for the given conversation. \n[Command Reference](chat)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--chat-request', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'serving-mode': {'module': 'generative_ai_inference', 'class': 'ServingMode'}, 'chat-request': {'module': 'generative_ai_inference', 'class': 'BaseChatRequest'}})
@@ -163,7 +163,7 @@ def chat(ctx, from_json, compartment_id, serving_mode, chat_request):
@chat_result_group.command(name=cli_util.override('generative_ai_inference.chat_dedicated_serving_mode.command_name', 'chat-dedicated-serving-mode'), help=u"""Creates a response for the given conversation. \n[Command Reference](chat)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
@cli_util.option('--chat-request', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--serving-mode-endpoint-id', required=True, help=u"""The OCID of the endpoint to use.""")
@json_skeleton_utils.get_cli_json_input_option({'chat-request': {'module': 'generative_ai_inference', 'class': 'BaseChatRequest'}})
@@ -193,7 +193,7 @@ def chat_dedicated_serving_mode(ctx, from_json, compartment_id, chat_request, se
@chat_result_group.command(name=cli_util.override('generative_ai_inference.chat_on_demand_serving_mode.command_name', 'chat-on-demand-serving-mode'), help=u"""Creates a response for the given conversation. \n[Command Reference](chat)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
@cli_util.option('--chat-request', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--serving-mode-model-id', required=True, help=u"""The unique ID of a model to use. You can use the [ListModels] API to list the available models.""")
@json_skeleton_utils.get_cli_json_input_option({'chat-request': {'module': 'generative_ai_inference', 'class': 'BaseChatRequest'}})
@@ -349,7 +349,7 @@ def chat_cohere_chat_request_v2(ctx, from_json, compartment_id, serving_mode, ch
@chat_result_group.command(name=cli_util.override('generative_ai_inference.chat_generic_chat_request.command_name', 'chat-generic-chat-request'), help=u"""Creates a response for the given conversation. \n[Command Reference](chat)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--chat-request-messages', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The series of messages in a chat request. Includes the previous messages in a conversation. Each message includes a role (`USER` or the `CHATBOT`) and content.
@@ -499,7 +499,7 @@ def chat_generic_chat_request(ctx, from_json, compartment_id, serving_mode, chat
@chat_result_group.command(name=cli_util.override('generative_ai_inference.chat_cohere_chat_request.command_name', 'chat-cohere-chat-request'), help=u"""Creates a response for the given conversation. \n[Command Reference](chat)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to chat.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--chat-request-message', required=True, help=u"""The text that the user inputs for the model to respond to.""")
@cli_util.option('--chat-request-chat-history', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of previous messages between the user and the model. The chat history gives the model context for responding to the user's inputs.
@@ -645,7 +645,7 @@ def chat_cohere_chat_request(ctx, from_json, compartment_id, serving_mode, chat_
An embedding is numeric representation of a piece of text. This text can be a phrase, a sentence, or one or more paragraphs. The Generative AI embedding model transforms each phrase, sentence, or paragraph that you input, into an array with 1024 numbers. You can use these embeddings for finding similarity in your input text such as finding phrases that are similar in context or category. Embeddings are mostly used for semantic searches where the search function focuses on the meaning of the text that it's searching through rather than finding results based on keywords. \n[Command Reference](embedText)""")
@cli_util.option('--inputs', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Provide a list of strings or one base64 encoded image with `input_type` setting to `IMAGE`. If text embedding, each string can be words, a phrase, or a paragraph. The maximum length of each string entry in the list is 512 tokens.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to create text embeddings.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to create text embeddings.""")
@cli_util.option('--is-echo', type=click.BOOL, help=u"""Whether or not to include the original inputs in the response. Results are index-based.""")
@cli_util.option('--embedding-types', type=custom_types.CliCaseInsensitiveChoice(["float", "int8", "uint8", "binary", "ubinary", "base64"]), help=u"""Specifies the types of embeddings you want to get back. Supports list of enums. Supported values :float, int8, uint8, binary, ubinary, base64. If nothing is passed default will be considered as float.""")
@cli_util.option('--output-dimensions', type=click.INT, help=u"""The number of dimensions of the output embedding. This is only available for embed-v4 and newer models. Possible values are 256, 512, 1024, and 1536.""")
@@ -693,7 +693,7 @@ def embed_text(ctx, from_json, inputs, serving_mode, compartment_id, is_echo, em
An embedding is numeric representation of a piece of text. This text can be a phrase, a sentence, or one or more paragraphs. The Generative AI embedding model transforms each phrase, sentence, or paragraph that you input, into an array with 1024 numbers. You can use these embeddings for finding similarity in your input text such as finding phrases that are similar in context or category. Embeddings are mostly used for semantic searches where the search function focuses on the meaning of the text that it's searching through rather than finding results based on keywords. \n[Command Reference](embedText)""")
@cli_util.option('--inputs', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Provide a list of strings or one base64 encoded image with `input_type` setting to `IMAGE`. If text embedding, each string can be words, a phrase, or a paragraph. The maximum length of each string entry in the list is 512 tokens.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to create text embeddings.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to create text embeddings.""")
@cli_util.option('--serving-mode-endpoint-id', required=True, help=u"""The OCID of the endpoint to use.""")
@cli_util.option('--is-echo', type=click.BOOL, help=u"""Whether or not to include the original inputs in the response. Results are index-based.""")
@cli_util.option('--embedding-types', type=custom_types.CliCaseInsensitiveChoice(["float", "int8", "uint8", "binary", "ubinary", "base64"]), help=u"""Specifies the types of embeddings you want to get back. Supports list of enums. Supported values :float, int8, uint8, binary, ubinary, base64. If nothing is passed default will be considered as float.""")
@@ -745,7 +745,7 @@ def embed_text_dedicated_serving_mode(ctx, from_json, inputs, compartment_id, se
An embedding is numeric representation of a piece of text. This text can be a phrase, a sentence, or one or more paragraphs. The Generative AI embedding model transforms each phrase, sentence, or paragraph that you input, into an array with 1024 numbers. You can use these embeddings for finding similarity in your input text such as finding phrases that are similar in context or category. Embeddings are mostly used for semantic searches where the search function focuses on the meaning of the text that it's searching through rather than finding results based on keywords. \n[Command Reference](embedText)""")
@cli_util.option('--inputs', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Provide a list of strings or one base64 encoded image with `input_type` setting to `IMAGE`. If text embedding, each string can be words, a phrase, or a paragraph. The maximum length of each string entry in the list is 512 tokens.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to create text embeddings.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to create text embeddings.""")
@cli_util.option('--serving-mode-model-id', required=True, help=u"""The unique ID of a model to use. You can use the [ListModels] API to list the available models.""")
@cli_util.option('--is-echo', type=click.BOOL, help=u"""Whether or not to include the original inputs in the response. Results are index-based.""")
@cli_util.option('--embedding-types', type=custom_types.CliCaseInsensitiveChoice(["float", "int8", "uint8", "binary", "ubinary", "base64"]), help=u"""Specifies the types of embeddings you want to get back. Supports list of enums. Supported values :float, int8, uint8, binary, ubinary, base64. If nothing is passed default will be considered as float.""")
@@ -794,7 +794,7 @@ def embed_text_on_demand_serving_mode(ctx, from_json, inputs, compartment_id, se
@generate_text_result_group.command(name=cli_util.override('generative_ai_inference.generate_text.command_name', 'generate-text'), help=u"""Generates a text response based on the user prompt. \n[Command Reference](generateText)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--inference-request', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'serving-mode': {'module': 'generative_ai_inference', 'class': 'ServingMode'}, 'inference-request': {'module': 'generative_ai_inference', 'class': 'LlmInferenceRequest'}})
@@ -821,7 +821,7 @@ def generate_text(ctx, from_json, compartment_id, serving_mode, inference_reques
@generate_text_result_group.command(name=cli_util.override('generative_ai_inference.generate_text_dedicated_serving_mode.command_name', 'generate-text-dedicated-serving-mode'), help=u"""Generates a text response based on the user prompt. \n[Command Reference](generateText)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
@cli_util.option('--inference-request', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--serving-mode-endpoint-id', required=True, help=u"""The OCID of the endpoint to use.""")
@json_skeleton_utils.get_cli_json_input_option({'inference-request': {'module': 'generative_ai_inference', 'class': 'LlmInferenceRequest'}})
@@ -851,7 +851,7 @@ def generate_text_dedicated_serving_mode(ctx, from_json, compartment_id, inferen
@generate_text_result_group.command(name=cli_util.override('generative_ai_inference.generate_text_on_demand_serving_mode.command_name', 'generate-text-on-demand-serving-mode'), help=u"""Generates a text response based on the user prompt. \n[Command Reference](generateText)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
@cli_util.option('--inference-request', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--serving-mode-model-id', required=True, help=u"""The unique ID of a model to use. You can use the [ListModels] API to list the available models.""")
@json_skeleton_utils.get_cli_json_input_option({'inference-request': {'module': 'generative_ai_inference', 'class': 'LlmInferenceRequest'}})
@@ -881,7 +881,7 @@ def generate_text_on_demand_serving_mode(ctx, from_json, compartment_id, inferen
@generate_text_result_group.command(name=cli_util.override('generative_ai_inference.generate_text_llama_llm_inference_request.command_name', 'generate-text-llama-llm-inference-request'), help=u"""Generates a text response based on the user prompt. \n[Command Reference](generateText)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--inference-request-prompt', help=u"""Represents the prompt to be completed. The trailing white spaces are trimmed before completion.""")
@cli_util.option('--inference-request-is-stream', type=click.BOOL, help=u"""Whether to stream back partial progress. If set, tokens are sent as data-only server-sent events as they become available.""")
@@ -967,7 +967,7 @@ def generate_text_llama_llm_inference_request(ctx, from_json, compartment_id, se
@generate_text_result_group.command(name=cli_util.override('generative_ai_inference.generate_text_cohere_llm_inference_request.command_name', 'generate-text-cohere-llm-inference-request'), help=u"""Generates a text response based on the user prompt. \n[Command Reference](generateText)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to generate text.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--inference-request-prompt', required=True, help=u"""Represents the prompt to be completed. The trailing white spaces are trimmed before completion.""")
@cli_util.option('--inference-request-is-stream', type=click.BOOL, help=u"""Whether to stream back partial progress. If set, tokens are sent as data-only server-sent events as they become available.""")
@@ -1056,7 +1056,7 @@ def generate_text_cohere_llm_inference_request(ctx, from_json, compartment_id, s
Rerank assigns an index and a relevance score to each document, indicating which document is most related to the prompt. \n[Command Reference](rerankText)""")
@cli_util.option('--input', required=True, help=u"""Input query for search in the documents.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to call into the Generative AI service LLMs.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to call into the Generative AI service LLMs.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of document strings to rerank based on the query asked.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--top-n', type=click.INT, help=u"""The number of most relevant documents or indices to return. Defaults to the length of the documents.""")
@@ -1103,7 +1103,7 @@ def rerank_text(ctx, from_json, input, compartment_id, serving_mode, documents,
Rerank assigns an index and a relevance score to each document, indicating which document is most related to the prompt. \n[Command Reference](rerankText)""")
@cli_util.option('--input', required=True, help=u"""Input query for search in the documents.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to call into the Generative AI service LLMs.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to call into the Generative AI service LLMs.""")
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of document strings to rerank based on the query asked.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--serving-mode-endpoint-id', required=True, help=u"""The OCID of the endpoint to use.""")
@cli_util.option('--top-n', type=click.INT, help=u"""The number of most relevant documents or indices to return. Defaults to the length of the documents.""")
@@ -1153,7 +1153,7 @@ def rerank_text_dedicated_serving_mode(ctx, from_json, input, compartment_id, do
Rerank assigns an index and a relevance score to each document, indicating which document is most related to the prompt. \n[Command Reference](rerankText)""")
@cli_util.option('--input', required=True, help=u"""Input query for search in the documents.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to call into the Generative AI service LLMs.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to call into the Generative AI service LLMs.""")
@cli_util.option('--documents', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of document strings to rerank based on the query asked.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--serving-mode-model-id', required=True, help=u"""The unique ID of a model to use. You can use the [ListModels] API to list the available models.""")
@cli_util.option('--top-n', type=click.INT, help=u"""The number of most relevant documents or indices to return. Defaults to the length of the documents.""")
@@ -1202,7 +1202,7 @@ def rerank_text_on_demand_serving_mode(ctx, from_json, input, compartment_id, do
@summarize_text_result_group.command(name=cli_util.override('generative_ai_inference.summarize_text.command_name', 'summarize-text'), help=u"""Summarizes the input text. \n[Command Reference](summarizeText)""")
@cli_util.option('--input', required=True, help=u"""The input string to be summarized.""")
@cli_util.option('--serving-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to summarize text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to summarize text.""")
@cli_util.option('--is-echo', type=click.BOOL, help=u"""Whether or not to include the original inputs in the response.""")
@cli_util.option('--temperature', help=u"""A number that sets the randomness of the generated output. Lower temperatures mean less random generations.
@@ -1254,7 +1254,7 @@ def summarize_text(ctx, from_json, input, serving_mode, compartment_id, is_echo,
@summarize_text_result_group.command(name=cli_util.override('generative_ai_inference.summarize_text_dedicated_serving_mode.command_name', 'summarize-text-dedicated-serving-mode'), help=u"""Summarizes the input text. \n[Command Reference](summarizeText)""")
@cli_util.option('--input', required=True, help=u"""The input string to be summarized.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to summarize text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to summarize text.""")
@cli_util.option('--serving-mode-endpoint-id', required=True, help=u"""The OCID of the endpoint to use.""")
@cli_util.option('--is-echo', type=click.BOOL, help=u"""Whether or not to include the original inputs in the response.""")
@cli_util.option('--temperature', help=u"""A number that sets the randomness of the generated output. Lower temperatures mean less random generations.
@@ -1310,7 +1310,7 @@ def summarize_text_dedicated_serving_mode(ctx, from_json, input, compartment_id,
@summarize_text_result_group.command(name=cli_util.override('generative_ai_inference.summarize_text_on_demand_serving_mode.command_name', 'summarize-text-on-demand-serving-mode'), help=u"""Summarizes the input text. \n[Command Reference](summarizeText)""")
@cli_util.option('--input', required=True, help=u"""The input string to be summarized.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of compartment in which to call the Generative AI service to summarize text.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of compartment in which to call the Generative AI service to summarize text.""")
@cli_util.option('--serving-mode-model-id', required=True, help=u"""The unique ID of a model to use. You can use the [ListModels] API to list the available models.""")
@cli_util.option('--is-echo', type=click.BOOL, help=u"""Whether or not to include the original inputs in the response.""")
@cli_util.option('--temperature', help=u"""A number that sets the randomness of the generated output. Lower temperatures mean less random generations.
diff --git a/services/globally_distributed_database/src/oci_cli_sharded_database_service/generated/shardeddatabaseservice_cli.py b/services/globally_distributed_database/src/oci_cli_sharded_database_service/generated/shardeddatabaseservice_cli.py
index e4179b16..bbe09533 100644
--- a/services/globally_distributed_database/src/oci_cli_sharded_database_service/generated/shardeddatabaseservice_cli.py
+++ b/services/globally_distributed_database/src/oci_cli_sharded_database_service/generated/shardeddatabaseservice_cli.py
@@ -74,7 +74,7 @@ def work_request_group():
@private_endpoint_group.command(name=cli_util.override('gdd.change_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Move the private endpoint to the specified compartment. \n[Command Reference](changePrivateEndpointCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--private-endpoint-id', required=True, help=u"""Oracle Sharded Database PrivateEndpoint identifier""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -135,7 +135,7 @@ def change_private_endpoint_compartment(ctx, from_json, wait_for_state, max_wait
@sharded_database_group.command(name=cli_util.override('gdd.change_sharded_database_compartment.command_name', 'change-compartment'), help=u"""Move the sharded database database and its dependent resources to the specified compartment. \n[Command Reference](changeShardedDatabaseCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the resource to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the resource to.""")
@cli_util.option('--sharded-database-id', required=True, help=u"""Sharded Database identifier""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -317,8 +317,8 @@ def configure_sharding(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@private_endpoint_group.command(name=cli_util.override('gdd.create_private_endpoint.command_name', 'create'), help=u"""Creates a PrivateEndpoint. \n[Command Reference](createPrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Identifier of the compartment where private endpoint is to be created.""")
-@cli_util.option('--subnet-id', required=True, help=u"""Identifier of the customer subnet against which private endpoint is to be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the compartment where private endpoint is to be created.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the customer subnet against which private endpoint is to be created.""")
@cli_util.option('--display-name', required=True, help=u"""Private endpoint display name.""")
@cli_util.option('--description', help=u"""PrivateEndpoint description.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The OCIDs of the network security groups that the private endpoint belongs to.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -390,7 +390,7 @@ def create_private_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wa
@sharded_database_group.command(name=cli_util.override('gdd.create_sharded_database.command_name', 'create'), help=u"""Creates a Sharded Database. \n[Command Reference](createShardedDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Identifier of the compartment where sharded database is to be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the compartment where sharded database is to be created.""")
@cli_util.option('--db-deployment-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["DEDICATED"]), help=u"""The database deployment type.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle sharded database display name.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -455,7 +455,7 @@ def create_sharded_database(ctx, from_json, wait_for_state, max_wait_seconds, wa
@sharded_database_group.command(name=cli_util.override('gdd.create_sharded_database_create_dedicated_sharded_database.command_name', 'create-sharded-database-create-dedicated-sharded-database'), help=u"""Creates a Sharded Database. \n[Command Reference](createShardedDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Identifier of the compartment where sharded database is to be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the compartment where sharded database is to be created.""")
@cli_util.option('--display-name', required=True, help=u"""Oracle sharded database display name.""")
@cli_util.option('--db-workload', required=True, type=custom_types.CliCaseInsensitiveChoice(["OLTP", "DW"]), help=u"""Possible workload types.""")
@cli_util.option('--sharding-method', required=True, type=custom_types.CliCaseInsensitiveChoice(["USER", "SYSTEM"]), help=u"""Sharding Method.""")
@@ -749,7 +749,7 @@ def fetch_connection_string(ctx, from_json, sharded_database_id, if_match):
@sharded_database_group.command(name=cli_util.override('gdd.fetch_shardable_cloud_autonomous_vm_clusters.command_name', 'fetch-shardable-cloud-autonomous-vm-clusters'), help=u"""List of cloudAutonomousVMClusters for the given tenancy, that can be sharded. \n[Command Reference](fetchShardableCloudAutonomousVmClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment id of cloud autonomous vm clusters.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment id of cloud autonomous vm clusters.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "FAILED", "NEEDS_ATTENTION", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING", "UNAVAILABLE"]), help=u"""Lifecycle states for shardable Cloud autonomous vm cluster.""")
@cli_util.option('--lifecycle-state-details', help=u"""Detailed message for the lifecycle state.""")
@cli_util.option('--minimum-available-cdb-count', type=click.INT, help=u"""List only clusters for which atleast given minimum CDB count is available.""")
@@ -979,7 +979,7 @@ def get_work_request(ctx, from_json, work_request_id):
@private_endpoint_collection_group.command(name=cli_util.override('gdd.list_private_endpoints.command_name', 'list-private-endpoints'), help=u"""List of PrivateEndpoints. \n[Command Reference](listPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "FAILED", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1039,7 +1039,7 @@ def list_private_endpoints(ctx, from_json, all_pages, page_size, compartment_id,
@sharded_database_collection_group.command(name=cli_util.override('gdd.list_sharded_databases.command_name', 'list-sharded-databases'), help=u"""List of Sharded databases. \n[Command Reference](listShardedDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "FAILED", "NEEDS_ATTENTION", "INACTIVE", "DELETING", "DELETED", "UPDATING", "CREATING", "UNAVAILABLE"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1213,7 +1213,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('gdd.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@@ -1341,7 +1341,7 @@ def patch_sharded_database(ctx, from_json, wait_for_state, max_wait_seconds, wai
@sharded_database_group.command(name=cli_util.override('gdd.prevalidate_sharded_database.command_name', 'prevalidate'), help=u"""Sharded database pre-validation request. \n[Command Reference](prevalidateShardedDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--prevalidate-sharded-database-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'prevalidate-sharded-database-details': {'module': 'globally_distributed_database', 'class': 'PrevalidatePayload'}})
@cli_util.help_option
@@ -1366,7 +1366,7 @@ def prevalidate_sharded_database(ctx, from_json, compartment_id, prevalidate_sha
@sharded_database_group.command(name=cli_util.override('gdd.prevalidate_sharded_database_prevalidate_patch_payload.command_name', 'prevalidate-sharded-database-prevalidate-patch-payload'), help=u"""Sharded database pre-validation request. \n[Command Reference](prevalidateShardedDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--prevalidate-sharded-database-details-prevalidate-payload', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--prevalidate-sharded-database-details-sharded-database-id', required=True, help=u"""Sharded database identifier""")
@json_skeleton_utils.get_cli_json_input_option({'prevalidate-sharded-database-details-prevalidate-payload': {'module': 'globally_distributed_database', 'class': 'PatchShardedDatabaseDetails'}})
@@ -1396,7 +1396,7 @@ def prevalidate_sharded_database_prevalidate_patch_payload(ctx, from_json, compa
@sharded_database_group.command(name=cli_util.override('gdd.prevalidate_sharded_database_prevalidate_create_payload.command_name', 'prevalidate-sharded-database-prevalidate-create-payload'), help=u"""Sharded database pre-validation request. \n[Command Reference](prevalidateShardedDatabase)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--prevalidate-sharded-database-details-prevalidate-payload', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'prevalidate-sharded-database-details-prevalidate-payload': {'module': 'globally_distributed_database', 'class': 'CreateShardedDatabaseDetails'}})
@cli_util.help_option
diff --git a/services/golden_gate/src/oci_cli_golden_gate/generated/goldengate_cli.py b/services/golden_gate/src/oci_cli_golden_gate/generated/goldengate_cli.py
index 6de27897..33f39b80 100644
--- a/services/golden_gate/src/oci_cli_golden_gate/generated/goldengate_cli.py
+++ b/services/golden_gate/src/oci_cli_golden_gate/generated/goldengate_cli.py
@@ -727,7 +727,7 @@ def cancel_snooze_deployment_upgrade_default_cancel_snooze_deployment_upgrade_de
@connection_group.command(name=cli_util.override('goldengate.change_connection_compartment.command_name', 'change-compartment'), help=u"""Moves the Connection into a different compartment within the same tenancy. When provided, If-Match is checked against ETag values of the resource. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changeConnectionCompartment)""")
@cli_util.option('--connection-id', required=True, help=u"""The [OCID] of a Connection.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@@ -791,7 +791,7 @@ def change_connection_compartment(ctx, from_json, wait_for_state, max_wait_secon
@connection_group.command(name=cli_util.override('goldengate.change_connection_subscription.command_name', 'change-connection-subscription'), help=u"""Associate a GoldanGate connection with a different subscription. \n[Command Reference](changeConnectionSubscription)""")
@cli_util.option('--connection-id', required=True, help=u"""The [OCID] of a Connection.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@@ -858,7 +858,7 @@ def change_connection_subscription(ctx, from_json, wait_for_state, max_wait_seco
@database_registration_group.command(name=cli_util.override('goldengate.change_database_registration_compartment.command_name', 'change-compartment'), help=u"""Note: Deprecated. Use the /connections API instead. Moves the DatabaseRegistration into a different compartment within the same tenancy. When provided, If-Match is checked against ETag values of the resource. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changeDatabaseRegistrationCompartment)""")
@cli_util.option('--database-registration-id', required=True, help=u"""A unique DatabaseRegistration identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@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.""")
@@ -919,7 +919,7 @@ def change_database_registration_compartment(ctx, from_json, wait_for_state, max
@deployment_backup_group.command(name=cli_util.override('goldengate.change_deployment_backup_compartment.command_name', 'change-compartment'), help=u"""Moves a DeploymentBackup into a different compartment within the same tenancy. When provided, If-Match is checked against ETag values of the resource. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changeDeploymentBackupCompartment)""")
@cli_util.option('--deployment-backup-id', required=True, help=u"""A unique DeploymentBackup identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -953,7 +953,7 @@ def change_deployment_backup_compartment(ctx, from_json, deployment_backup_id, c
@deployment_group.command(name=cli_util.override('goldengate.change_deployment_compartment.command_name', 'change-compartment'), help=u"""Moves the Deployment into a different compartment within the same tenancy. When provided, If-Match is checked against ETag values of the resource. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changeDeploymentCompartment)""")
@cli_util.option('--deployment-id', required=True, help=u"""A unique Deployment identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@@ -1017,7 +1017,7 @@ def change_deployment_compartment(ctx, from_json, wait_for_state, max_wait_secon
@deployment_group.command(name=cli_util.override('goldengate.change_deployment_subscription.command_name', 'change-deployment-subscription'), help=u"""Associate a GoldanGate deployment with a different subscription. \n[Command Reference](changeDeploymentSubscription)""")
@cli_util.option('--deployment-id', required=True, help=u"""A unique Deployment identifier.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates if the subscription is UCM or not.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@@ -1084,7 +1084,7 @@ def change_deployment_subscription(ctx, from_json, wait_for_state, max_wait_seco
@pipeline_group.command(name=cli_util.override('goldengate.change_pipeline_compartment.command_name', 'change-compartment'), help=u"""Moves the Pipeline into a different compartment within the same tenancy. When provided, If-Match is checked against ETag values of the resource. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changePipelineCompartment)""")
@cli_util.option('--pipeline-id', required=True, help=u"""The [OCID] of the pipeline created.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@@ -1427,7 +1427,7 @@ def create_certificate(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@connection_group.command(name=cli_util.override('goldengate.create_connection.command_name', 'create'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--connection-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["GOLDENGATE", "KAFKA", "KAFKA_SCHEMA_REGISTRY", "MYSQL", "JAVA_MESSAGE_SERVICE", "MICROSOFT_SQLSERVER", "OCI_OBJECT_STORAGE", "ORACLE", "AZURE_DATA_LAKE_STORAGE", "POSTGRESQL", "AZURE_SYNAPSE_ANALYTICS", "SNOWFLAKE", "AMAZON_S3", "HDFS", "ORACLE_AI_DATA_PLATFORM", "ORACLE_NOSQL", "MONGODB", "AMAZON_KINESIS", "AMAZON_REDSHIFT", "DB2", "REDIS", "ELASTICSEARCH", "GENERIC", "GOOGLE_CLOUD_STORAGE", "GOOGLE_BIGQUERY", "DATABRICKS", "GOOGLE_PUBSUB", "MICROSOFT_FABRIC", "ICEBERG"]), help=u"""The connection type.""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -1438,14 +1438,14 @@ def create_certificate(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1543,7 +1543,7 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_postgresql_connection_details.command_name', 'create-connection-create-postgresql-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The PostgreSQL technology type.""")
@cli_util.option('--database-name', required=True, help=u"""The name of the database.""")
@cli_util.option('--username', required=True, help=u"""The username Oracle GoldenGate uses to connect the associated system of the given technology. This username must already exist and be available by the system/application to be connected to and must conform to the case sensitivty requirments defined in it.""")
@@ -1558,14 +1558,14 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1585,7 +1585,7 @@ def create_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@cli_util.option('--private-ip', help=u"""Deprecated: this field will be removed in future versions. Either specify the private IP in the connectionString or host field, or make sure the host name is resolvable in the target VCN.
The private IP address of the connection's endpoint in the customer's VCN, typically a database endpoint or a big data endpoint (e.g. Kafka bootstrap server). In case the privateIp is provided, the subnetId must also be provided. In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection.""")
-@cli_util.option('--db-system-id', help=u"""The [OCID] of the database system being referenced.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database system being referenced.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@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.""")
@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.""")
@@ -1724,7 +1724,7 @@ def create_connection_create_postgresql_connection_details(ctx, from_json, wait_
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_kafka_schema_registry_connection_details.command_name', 'create-connection-create-kafka-schema-registry-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Kafka (e.g. Confluent) Schema Registry technology type.""")
@cli_util.option('--url', required=True, help=u"""Kafka Schema Registry URL. e.g.: 'https://server1.us.oracle.com:8081'""")
@cli_util.option('--authentication-type', required=True, help=u"""Used authentication mechanism to access Schema Registry.""")
@@ -1738,14 +1738,14 @@ def create_connection_create_postgresql_connection_details(ctx, from_json, wait_
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1905,7 +1905,7 @@ def create_connection_create_kafka_schema_registry_connection_details(ctx, from_
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_microsoft_sqlserver_connection_details.command_name', 'create-connection-create-microsoft-sqlserver-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Microsoft SQL Server technology type.""")
@cli_util.option('--database-name', required=True, help=u"""The name of the database.""")
@cli_util.option('--host', required=True, help=u"""The name or address of a host.""")
@@ -1922,14 +1922,14 @@ def create_connection_create_kafka_schema_registry_connection_details(ctx, from_
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2062,7 +2062,7 @@ def create_connection_create_microsoft_sqlserver_connection_details(ctx, from_js
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_amazon_kinesis_connection_details.command_name', 'create-connection-create-amazon-kinesis-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Amazon Kinesis technology type.""")
@cli_util.option('--access-key-id', required=True, help=u"""Access key ID to access the Amazon Kinesis.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@@ -2075,14 +2075,14 @@ def create_connection_create_microsoft_sqlserver_connection_details(ctx, from_js
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2199,7 +2199,7 @@ def create_connection_create_amazon_kinesis_connection_details(ctx, from_json, w
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_azure_data_lake_storage_connection_details.command_name', 'create-connection-create-azure-data-lake-storage-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Azure Data Lake Storage technology type.""")
@cli_util.option('--authentication-type', required=True, help=u"""Used authentication mechanism to access Azure Data Lake Storage.""")
@cli_util.option('--account-name', required=True, help=u"""Sets the Azure storage account name.""")
@@ -2213,14 +2213,14 @@ def create_connection_create_amazon_kinesis_connection_details(ctx, from_json, w
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2362,7 +2362,7 @@ def create_connection_create_azure_data_lake_storage_connection_details(ctx, fro
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_google_pub_sub_connection_details.command_name', 'create-connection-create-google-pub-sub-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Google PubSub technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -2374,14 +2374,14 @@ def create_connection_create_azure_data_lake_storage_connection_details(ctx, fro
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2489,7 +2489,7 @@ def create_connection_create_google_pub_sub_connection_details(ctx, from_json, w
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_hdfs_connection_details.command_name', 'create-connection-create-hdfs-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Hadoop Distributed File System technology type.""")
@cli_util.option('--core-site-xml', required=True, help=u"""The base64 encoded content of the Hadoop Distributed File System configuration file (core-site.xml). It is not included in GET responses if the `view=COMPACT` query parameter is specified.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@@ -2502,14 +2502,14 @@ def create_connection_create_google_pub_sub_connection_details(ctx, from_json, w
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2610,7 +2610,7 @@ def create_connection_create_hdfs_connection_details(ctx, from_json, wait_for_st
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_oci_object_storage_connection_details.command_name', 'create-connection-create-oci-object-storage-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The OCI Object Storage technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -2622,20 +2622,20 @@ def create_connection_create_hdfs_connection_details(ctx, from_json, wait_for_st
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--tenancy-id', help=u"""The [OCID] of the related OCI tenancy.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the related OCI tenancy.""")
@cli_util.option('--region-parameterconflict', help=u"""The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will default to the default region.""")
-@cli_util.option('--user-id', help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
@cli_util.option('--private-key-file', help=u"""The base64 encoded content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: This field is deprecated and replaced by \"privateKeyFileSecretId\". This field will be removed after February 15 2026.""")
@cli_util.option('--private-key-file-secret-id', help=u"""The [OCID] of the Secret that stores the content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Note: When provided, 'privateKeyFile' field must not be provided.""")
@cli_util.option('--private-key-passphrase', help=u"""The passphrase of the private key. Deprecated: This field is deprecated and replaced by \"privateKeyPassphraseSecretId\". This field will be removed after February 15 2026.""")
@@ -2765,7 +2765,7 @@ def create_connection_create_oci_object_storage_connection_details(ctx, from_jso
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_redis_connection_details.command_name', 'create-connection-create-redis-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Redis technology type.""")
@cli_util.option('--security-protocol', required=True, help=u"""Security protocol for Redis.""")
@cli_util.option('--authentication-type', required=True, help=u"""Authenticationentication type for the Redis database.""")
@@ -2779,14 +2779,14 @@ def create_connection_create_oci_object_storage_connection_details(ctx, from_jso
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2940,7 +2940,7 @@ def create_connection_create_redis_connection_details(ctx, from_json, wait_for_s
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_microsoft_fabric_connection_details.command_name', 'create-connection-create-microsoft-fabric-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Microsoft Fabric technology type.""")
@cli_util.option('--tenant-id', required=True, help=u"""Azure tenant ID of the application. e.g.: 14593954-d337-4a61-a364-9f758c64f97f""")
@cli_util.option('--client-id', required=True, help=u"""Azure client ID of the application. e.g.: 06ecaabf-8b80-4ec8-a0ec-20cbf463703d""")
@@ -2954,14 +2954,14 @@ def create_connection_create_redis_connection_details(ctx, from_json, wait_for_s
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3075,7 +3075,7 @@ def create_connection_create_microsoft_fabric_connection_details(ctx, from_json,
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_google_cloud_storage_connection_details.command_name', 'create-connection-create-google-cloud-storage-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Google Cloud Storage technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -3087,14 +3087,14 @@ def create_connection_create_microsoft_fabric_connection_details(ctx, from_json,
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3202,7 +3202,7 @@ def create_connection_create_google_cloud_storage_connection_details(ctx, from_j
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_kafka_connection_details.command_name', 'create-connection-create-kafka-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Kafka technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -3214,18 +3214,18 @@ def create_connection_create_google_cloud_storage_connection_details(ctx, from_j
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--stream-pool-id', help=u"""The [OCID] of the stream pool being referenced.""")
+@cli_util.option('--stream-pool-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the stream pool being referenced.""")
@cli_util.option('--cluster-id', help=u"""The [OCID] of the Kafka cluster being referenced from OCI Streaming with Apache Kafka.""")
@cli_util.option('--bootstrap-servers', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Kafka bootstrap. Equivalent of bootstrap.servers configuration property in Kafka: list of KafkaBootstrapServer objects specified by host/port. Used for establishing the initial connection to the Kafka cluster. Example: `\"server1.example.com:9092,server2.example.com:9092\"`
@@ -3403,7 +3403,7 @@ def create_connection_create_kafka_connection_details(ctx, from_json, wait_for_s
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_oracle_nosql_connection_details.command_name', 'create-connection-create-oracle-nosql-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Oracle NoSQL technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -3415,20 +3415,20 @@ def create_connection_create_kafka_connection_details(ctx, from_json, wait_for_s
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--tenancy-id', help=u"""The [OCID] of the related OCI tenancy.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the related OCI tenancy.""")
@cli_util.option('--region-parameterconflict', help=u"""The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will default to the default region.""")
-@cli_util.option('--user-id', help=u"""The [OCID] of the OCI user who will access the Oracle NoSQL database. The user must have write access to the table they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the OCI user who will access the Oracle NoSQL database. The user must have write access to the table they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
@cli_util.option('--private-key-file', help=u"""The base64 encoded content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: This field is deprecated and replaced by \"privateKeyFileSecretId\". This field will be removed after February 15 2026.""")
@cli_util.option('--private-key-file-secret-id', help=u"""The [OCID] of the Secret that stores the content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Note: When provided, 'privateKeyFile' field must not be provided.""")
@cli_util.option('--private-key-passphrase', help=u"""The passphrase of the private key. Deprecated: This field is deprecated and replaced by \"privateKeyPassphraseSecretId\". This field will be removed after February 15 2026.""")
@@ -3558,7 +3558,7 @@ def create_connection_create_oracle_nosql_connection_details(ctx, from_json, wai
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_java_message_service_connection_details.command_name', 'create-connection-create-java-message-service-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Java Message Service technology type.""")
@cli_util.option('--should-use-jndi', required=True, type=click.BOOL, help=u"""If set to true, Java Naming and Directory Interface (JNDI) properties should be provided.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@@ -3571,14 +3571,14 @@ def create_connection_create_oracle_nosql_connection_details(ctx, from_json, wai
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3777,7 +3777,7 @@ def create_connection_create_java_message_service_connection_details(ctx, from_j
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_google_big_query_connection_details.command_name', 'create-connection-create-google-big-query-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Google BigQuery technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -3789,14 +3789,14 @@ def create_connection_create_java_message_service_connection_details(ctx, from_j
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3904,7 +3904,7 @@ def create_connection_create_google_big_query_connection_details(ctx, from_json,
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_snowflake_connection_details.command_name', 'create-connection-create-snowflake-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Snowflake technology type.""")
@cli_util.option('--connection-url', required=True, help=u"""JDBC connection URL. e.g.: 'jdbc:snowflake://.snowflakecomputing.com/?warehouse=&db='""")
@cli_util.option('--authentication-type', required=True, help=u"""Used authentication mechanism to access Snowflake.""")
@@ -3919,14 +3919,14 @@ def create_connection_create_google_big_query_connection_details(ctx, from_json,
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4053,7 +4053,7 @@ def create_connection_create_snowflake_connection_details(ctx, from_json, wait_f
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_mongo_db_connection_details.command_name', 'create-connection-create-mongo-db-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The MongoDB technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -4065,14 +4065,14 @@ def create_connection_create_snowflake_connection_details(ctx, from_json, wait_f
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4080,7 +4080,7 @@ def create_connection_create_snowflake_connection_details(ctx, from_json, wait_f
@cli_util.option('--username', help=u"""The username Oracle GoldenGate uses to connect to the database. This username must already exist and be available by the database to be connected to.""")
@cli_util.option('--password', help=u"""The password Oracle GoldenGate uses to connect the associated database. Deprecated: This field is deprecated and replaced by \"passwordSecretId\". This field will be removed after February 15 2026.""")
@cli_util.option('--password-secret-id', help=u"""The [OCID] of the Secret that stores the password Oracle GoldenGate uses to connect the associated database. Note: When provided, 'password' field must not be provided.""")
-@cli_util.option('--database-id', help=u"""The [OCID] of the Oracle Autonomous Json Database.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Autonomous Json Database.""")
@cli_util.option('--security-protocol', help=u"""Security Type for MongoDB.""")
@cli_util.option('--tls-ca-file', help=u"""Database Certificate - The base64 encoded content of a .pem file, containing the server public key (for 1 and 2-way SSL). It is not included in GET responses if the `view=COMPACT` query parameter is specified.""")
@cli_util.option('--tls-certificate-key-file', help=u"""Client Certificate - The base64 encoded content of a .pem file, containing the client public key (for 2-way SSL). Deprecated: This field is deprecated and replaced by \"tlsCertificateKeyFileSecretId\". This field will be removed after February 15 2026.""")
@@ -4216,7 +4216,7 @@ def create_connection_create_mongo_db_connection_details(ctx, from_json, wait_fo
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_oracle_ai_data_platform_connection_details.command_name', 'create-connection-create-oracle-ai-data-platform-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Oracle AI Data Platform technology type.""")
@cli_util.option('--connection-url', required=True, help=u"""Connection URL. It must start with 'jdbc:spark://'""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@@ -4229,20 +4229,20 @@ def create_connection_create_mongo_db_connection_details(ctx, from_json, wait_fo
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--tenancy-id', help=u"""The [OCID] of the related OCI tenancy.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the related OCI tenancy.""")
@cli_util.option('--region-parameterconflict', help=u"""The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will default to the default region.""")
-@cli_util.option('--user-id', help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
@cli_util.option('--private-key-file-secret-id', help=u"""The [OCID] of the Secret that stores the content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Note: When provided, 'privateKeyFile' field must not be provided.""")
@cli_util.option('--private-key-passphrase-secret-id', help=u"""The [OCID] of the Secret that stores the passphrase of the private key. Note: When provided, 'privateKeyPassphrase' field must not be provided.""")
@cli_util.option('--public-key-fingerprint', help=u"""The fingerprint of the API Key of the user specified by the userId. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm""")
@@ -4365,7 +4365,7 @@ def create_connection_create_oracle_ai_data_platform_connection_details(ctx, fro
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_amazon_s3_connection_details.command_name', 'create-connection-create-amazon-s3-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Amazon S3 technology type.""")
@cli_util.option('--access-key-id', required=True, help=u"""Access key ID to access the Amazon S3 bucket. e.g.: \"this-is-not-the-secret\"""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@@ -4378,14 +4378,14 @@ def create_connection_create_oracle_ai_data_platform_connection_details(ctx, fro
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4502,7 +4502,7 @@ def create_connection_create_amazon_s3_connection_details(ctx, from_json, wait_f
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_databricks_connection_details.command_name', 'create-connection-create-databricks-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Databricks technology type.""")
@cli_util.option('--authentication-type', required=True, help=u"""Used authentication mechanism to access Databricks.""")
@cli_util.option('--connection-url', required=True, help=u"""Connection URL. e.g.: 'jdbc:databricks://adb-33934.4.azuredatabricks.net:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3393########44/0##3-7-hlrb'""")
@@ -4516,14 +4516,14 @@ def create_connection_create_amazon_s3_connection_details(ctx, from_json, wait_f
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4649,7 +4649,7 @@ def create_connection_create_databricks_connection_details(ctx, from_json, wait_
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_db2_connection_details.command_name', 'create-connection-create-db2-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The DB2 technology type.""")
@cli_util.option('--database-name', required=True, help=u"""The name of the database.""")
@cli_util.option('--host', required=True, help=u"""The name or address of a host.""")
@@ -4666,14 +4666,14 @@ def create_connection_create_databricks_connection_details(ctx, from_json, wait_
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4820,7 +4820,7 @@ def create_connection_create_db2_connection_details(ctx, from_json, wait_for_sta
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_elasticsearch_connection_details.command_name', 'create-connection-create-elasticsearch-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Elasticsearch technology type.""")
@cli_util.option('--servers', required=True, help=u"""Comma separated list of Elasticsearch server addresses, specified as host:port entries, where :port is optional. If port is not specified, it defaults to 9200. Used for establishing the initial connection to the Elasticsearch cluster. Example: `\"server1.example.com:4000,server2.example.com:4000\"`""")
@cli_util.option('--security-protocol', required=True, help=u"""Security protocol for Elasticsearch.""")
@@ -4835,14 +4835,14 @@ def create_connection_create_db2_connection_details(ctx, from_json, wait_for_sta
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4961,7 +4961,7 @@ def create_connection_create_elasticsearch_connection_details(ctx, from_json, wa
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_azure_synapse_connection_details.command_name', 'create-connection-create-azure-synapse-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Azure Synapse Analytics technology type.""")
@cli_util.option('--connection-string', required=True, help=u"""JDBC connection string. e.g.: 'jdbc:sqlserver://.sql.azuresynapse.net:1433;database=;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=300;'""")
@cli_util.option('--username', required=True, help=u"""The username Oracle GoldenGate uses to connect the associated system of the given technology. This username must already exist and be available by the system/application to be connected to and must conform to the case sensitivty requirments defined in it.""")
@@ -4975,14 +4975,14 @@ def create_connection_create_elasticsearch_connection_details(ctx, from_json, wa
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5092,7 +5092,7 @@ def create_connection_create_azure_synapse_connection_details(ctx, from_json, wa
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_iceberg_connection_details.command_name', 'create-connection-create-iceberg-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Iceberg technology type.""")
@cli_util.option('--catalog', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--storage', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5106,14 +5106,14 @@ def create_connection_create_azure_synapse_connection_details(ctx, from_json, wa
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5215,7 +5215,7 @@ def create_connection_create_iceberg_connection_details(ctx, from_json, wait_for
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_mysql_connection_details.command_name', 'create-connection-create-mysql-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The MySQL technology type.""")
@cli_util.option('--username', required=True, help=u"""The username Oracle GoldenGate uses to connect the associated system of the given technology. This username must already exist and be available by the system/application to be connected to and must conform to the case sensitivty requirments defined in it.""")
@cli_util.option('--database-name', required=True, help=u"""The name of the database.""")
@@ -5230,14 +5230,14 @@ def create_connection_create_iceberg_connection_details(ctx, from_json, wait_for
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5257,7 +5257,7 @@ def create_connection_create_iceberg_connection_details(ctx, from_json, wait_for
@cli_util.option('--additional-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of name-value pair attribute entries. Used as additional parameters in connection string.
This option is a JSON list with items of type NameValuePair. For documentation on NameValuePair please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/NameValuePair.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--db-system-id', help=u"""The [OCID] of the database system being referenced.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database system being referenced.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@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.""")
@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.""")
@@ -5396,7 +5396,7 @@ def create_connection_create_mysql_connection_details(ctx, from_json, wait_for_s
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_generic_connection_details.command_name', 'create-connection-create-generic-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Generic technology type.""")
@cli_util.option('--host', required=True, help=u"""Host and port separated by colon. Example: `\"server.example.com:1234\"`
@@ -5411,14 +5411,14 @@ def create_connection_create_mysql_connection_details(ctx, from_json, wait_for_s
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5519,7 +5519,7 @@ def create_connection_create_generic_connection_details(ctx, from_json, wait_for
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_oracle_connection_details.command_name', 'create-connection-create-oracle-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Oracle technology type.""")
@cli_util.option('--username', required=True, help=u"""The username Oracle GoldenGate uses to connect the associated system of the given technology. This username must already exist and be available by the system/application to be connected to and must conform to the case sensitivty requirments defined in it.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@@ -5532,14 +5532,14 @@ def create_connection_create_generic_connection_details(ctx, from_json, wait_for
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5553,7 +5553,7 @@ def create_connection_create_generic_connection_details(ctx, from_json, wait_for
@cli_util.option('--private-ip', help=u"""Deprecated: this field will be removed in future versions. Either specify the private IP in the connectionString or host field, or make sure the host name is resolvable in the target VCN.
The private IP address of the connection's endpoint in the customer's VCN, typically a database endpoint or a big data endpoint (e.g. Kafka bootstrap server). In case the privateIp is provided, the subnetId must also be provided. In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection.""")
-@cli_util.option('--database-id', help=u"""The [OCID] of the database being referenced.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database being referenced.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@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.""")
@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.""")
@@ -5678,7 +5678,7 @@ def create_connection_create_oracle_connection_details(ctx, from_json, wait_for_
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_golden_gate_connection_details.command_name', 'create-connection-create-golden-gate-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The GoldenGate technology type.""")
@cli_util.option('--description', help=u"""Metadata about this specific object.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only.
@@ -5690,14 +5690,14 @@ def create_connection_create_oracle_connection_details(ctx, from_json, wait_for_
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5827,7 +5827,7 @@ def create_connection_create_golden_gate_connection_details(ctx, from_json, wait
@connection_group.command(name=cli_util.override('goldengate.create_connection_create_amazon_redshift_connection_details.command_name', 'create-connection-create-amazon-redshift-connection-details'), help=u"""Creates a new Connection. \n[Command Reference](createConnection)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--technology-type', required=True, help=u"""The Amazon Redshift technology type.""")
@cli_util.option('--connection-url', required=True, help=u"""Connection URL. e.g.: 'jdbc:redshift://aws-redshift-instance.aaaaaaaaaaaa.us-east-2.redshift.amazonaws.com:5439/mydb'""")
@cli_util.option('--username', required=True, help=u"""The username Oracle GoldenGate uses to connect the associated system of the given technology. This username must already exist and be available by the system/application to be connected to and must conform to the case sensitivty requirments defined in it.""")
@@ -5841,14 +5841,14 @@ def create_connection_create_golden_gate_connection_details(ctx, from_json, wait
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type AddResourceLockDetails. For documentation on AddResourceLockDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/AddResourceLockDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6016,7 +6016,7 @@ def create_connection_assignment(ctx, from_json, wait_for_state, max_wait_second
@database_registration_group.command(name=cli_util.override('goldengate.create_database_registration.command_name', 'create'), help=u"""Note: Deprecated. Use the /connections API instead. Creates a new DatabaseRegistration. \n[Command Reference](createDatabaseRegistration)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--fqdn', required=True, help=u"""A three-label Fully Qualified Domain Name (FQDN) for a resource.""")
@cli_util.option('--username', required=True, help=u"""The username Oracle GoldenGate uses to connect the associated system of the given technology. This username must already exist and be available by the system/application to be connected to and must conform to the case sensitivty requirments defined in it.""")
@cli_util.option('--password', required=True, help=u"""The password Oracle GoldenGate uses to connect the associated system of the given technology. It must conform to the specific security requirements including length, case sensitivity, and so on. Deprecated: This field is deprecated and replaced by \"passwordSecretId\". This field will be removed after February 15 2026.""")
@@ -6029,13 +6029,13 @@ def create_connection_assignment(ctx, from_json, wait_for_state, max_wait_second
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--ip-address', help=u"""The private IP address in the customer's VCN of the customer's endpoint, typically a database.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
-@cli_util.option('--database-id', help=u"""The [OCID] of the database being referenced.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database being referenced.""")
@cli_util.option('--connection-string', help=u"""Connect descriptor or Easy Connect Naming method used to connect to a database.""")
@cli_util.option('--session-mode', type=custom_types.CliCaseInsensitiveChoice(["DIRECT", "REDIRECT"]), help=u"""The mode of the database connection session to be established by the data client. 'REDIRECT' - for a RAC database, 'DIRECT' - for a non-RAC database. Connection to a RAC database involves a redirection received from the SCAN listeners to the database node to connect to. By default the mode would be DIRECT.""")
@cli_util.option('--wallet', help=u"""The wallet contents Oracle GoldenGate uses to make connections to a database. This attribute is expected to be base64 encoded. Deprecated: This field is deprecated and replaced by \"walletSecretId\". This field will be removed after February 15 2026.""")
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--secret-compartment-id', help=u"""The OCID of the compartment where the GoldenGate Secret will be created. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@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.""")
@@ -6131,8 +6131,8 @@ def create_database_registration(ctx, from_json, wait_for_state, max_wait_second
@deployment_group.command(name=cli_util.override('goldengate.create_deployment.command_name', 'create'), help=u"""Creates a new Deployment. \n[Command Reference](createDeployment)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet of the deployment's private endpoint. The subnet must be a private subnet. For backward compatibility, public subnets are allowed until May 31 2025, after which the private subnet will be enforced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet of the deployment's private endpoint. The subnet must be a private subnet. For backward compatibility, public subnets are allowed until May 31 2025, after which the private subnet will be enforced.""")
@cli_util.option('--license-model', type=custom_types.CliCaseInsensitiveChoice(["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]), help=u"""The Oracle license model that applies to a Deployment.""")
@cli_util.option('--is-byol-cpu-core-count-limit-enabled', type=click.BOOL, help=u"""Flag to allow to configure the 'Bring Your Own License' (BYOL) license type CPU limit. If enabled, the exact number of CPUs must be provided via byolCpuCoreCountLimit.""")
@cli_util.option('--byol-cpu-core-count-limit', type=click.INT, help=u"""The maximum number of CPUs allowed with a 'Bring Your Own License' (BYOL) license type. Any CPU usage above this limit is considered as License Included and billed.""")
@@ -6161,8 +6161,8 @@ def create_database_registration(ctx, from_json, wait_for_state, max_wait_second
@cli_util.option('--cpu-core-count', type=click.INT, help=u"""The Minimum number of OCPUs to be made available for this Deployment.""")
@cli_util.option('--is-auto-scaling-enabled', type=click.BOOL, help=u"""Indicates if auto scaling is enabled for the Deployment's CPU core count.""")
@cli_util.option('--deployment-type', type=custom_types.CliCaseInsensitiveChoice(["OGG", "DATABASE_ORACLE", "BIGDATA", "DATABASE_MICROSOFT_SQLSERVER", "DATABASE_MYSQL", "DATABASE_POSTGRESQL", "DATABASE_DB2ZOS", "DATABASE_DB2I", "GGSA", "DATA_TRANSFORMS"]), help=u"""The type of deployment, which can be any one of the Allowed values. NOTE: Use of the value 'OGG' is maintained for backward compatibility purposes. Its use is discouraged in favor of 'DATABASE_ORACLE'.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription with which resource needs to be associated with.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The OCID(/Content/General/Concepts/identifiers.htm) of the cluster placement group for the resource. Only applicable for multicloud subscriptions. The cluster placement group id must be provided when a multicloud subscription id is provided. Otherwise the cluster placement group must not be provided.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6306,7 +6306,7 @@ def create_deployment(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@deployment_backup_group.command(name=cli_util.override('goldengate.create_deployment_backup.command_name', 'create'), help=u"""Creates a new DeploymentBackup. \n[Command Reference](createDeploymentBackup)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--deployment-id', required=True, help=u"""The [OCID] of the deployment being referenced.""")
@cli_util.option('--namespace-name', required=True, help=u"""Name of namespace that serves as a container for all of your buckets""")
@cli_util.option('--bucket-name', required=True, help=u"""Name of the bucket where the object is to be uploaded in the object storage""")
@@ -6392,7 +6392,7 @@ def create_deployment_backup(ctx, from_json, wait_for_state, max_wait_seconds, w
@pipeline_group.command(name=cli_util.override('goldengate.create_pipeline.command_name', 'create'), help=u"""Creates a new Pipeline. \n[Command Reference](createPipeline)""")
@cli_util.option('--recipe-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ZERO_ETL"]), help=u"""The type of the recipe""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--license-model', required=True, type=custom_types.CliCaseInsensitiveChoice(["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]), help=u"""The Oracle license model that applies to a Deployment.""")
@cli_util.option('--source-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6406,7 +6406,7 @@ def create_deployment_backup(ctx, from_json, wait_for_state, max_wait_seconds, w
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type ResourceLock. For documentation on ResourceLock please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/ResourceLock.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@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.""")
@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.""")
@@ -6480,7 +6480,7 @@ def create_pipeline(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@pipeline_group.command(name=cli_util.override('goldengate.create_pipeline_create_zero_etl_pipeline_details.command_name', 'create-pipeline-create-zero-etl-pipeline-details'), help=u"""Creates a new Pipeline. \n[Command Reference](createPipeline)""")
@cli_util.option('--display-name', required=True, help=u"""An object's Display Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment being referenced.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment being referenced.""")
@cli_util.option('--license-model', required=True, type=custom_types.CliCaseInsensitiveChoice(["LICENSE_INCLUDED", "BRING_YOUR_OWN_LICENSE"]), help=u"""The Oracle license model that applies to a Deployment.""")
@cli_util.option('--source-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6494,7 +6494,7 @@ def create_pipeline(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
This option is a JSON list with items of type ResourceLock. For documentation on ResourceLock please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/ResourceLock.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
@cli_util.option('--process-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "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.""")
@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.""")
@@ -7050,7 +7050,7 @@ def deployment_wallet_exists_default_deployment_wallet_exists_details(ctx, from_
@deployment_group.command(name=cli_util.override('goldengate.export_deployment_wallet.command_name', 'export-deployment-wallet'), help=u"""Export the OGG wallet from the deployment to OCI vault. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](exportDeploymentWallet)""")
@cli_util.option('--deployment-id', required=True, help=u"""A unique Deployment identifier.""")
-@cli_util.option('--vault-id', required=True, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
@cli_util.option('--master-encryption-key-id', required=True, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--secret-name', required=True, help=u"""Name of the secret with which secret is shown in vault""")
@cli_util.option('--secret-compartment-id', help=u"""The [OCID] of the compartment, where the secret will be created in.""")
@@ -7391,7 +7391,7 @@ def get_work_request(ctx, from_json, work_request_id):
@deployment_group.command(name=cli_util.override('goldengate.import_deployment_wallet.command_name', 'import-deployment-wallet'), help=u"""Imports an OGG wallet from the OCI Vault to the Deployment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](importDeploymentWallet)""")
@cli_util.option('--deployment-id', required=True, help=u"""A unique Deployment identifier.""")
-@cli_util.option('--vault-id', required=True, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
@cli_util.option('--new-wallet-secret-id', required=True, help=u"""The OCID of the customer's GoldenGate Service Secret. If provided, it references a key that customers will be required to ensure the policies are established to permit GoldenGate to use this Secret.""")
@cli_util.option('--wallet-backup-secret-name', help=u"""Name of the secret with which secret is shown in vault""")
@cli_util.option('--wallet-backup-secret-compartment-id', help=u"""The [OCID] of the compartment, where the secret will be created in.""")
@@ -7532,7 +7532,7 @@ def list_certificates(ctx, from_json, all_pages, page_size, deployment_id, lifec
@connection_assignment_group.command(name=cli_util.override('goldengate.list_connection_assignments.command_name', 'list'), help=u"""Lists the Connection Assignments in the compartment. \n[Command Reference](listConnectionAssignments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--deployment-id', help=u"""The [OCID] of the deployment in which to list resources.""")
@cli_util.option('--connection-id', help=u"""The [OCID] of the connection.""")
@cli_util.option('--name', help=u"""The name of the connection in the assignment (aliasName).""")
@@ -7598,7 +7598,7 @@ def list_connection_assignments(ctx, from_json, all_pages, page_size, compartmen
@connection_group.command(name=cli_util.override('goldengate.list_connections.command_name', 'list'), help=u"""Lists the Connections in the compartment. \n[Command Reference](listConnections)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--technology-type', type=custom_types.CliCaseInsensitiveChoice(["GOLDENGATE", "GENERIC", "OCI_AUTONOMOUS_DATABASE", "OCI_AUTONOMOUS_JSON_DATABASE", "OCI_CACHE_WITH_REDIS", "OCI_MYSQL", "OCI_OBJECT_STORAGE", "OCI_POSTGRESQL", "OCI_STREAMING", "OCI_STREAMING_WITH_APACHE_KAFKA", "ORACLE_DATABASE", "ORACLE_EXADATA", "ORACLE_EXADATA_DATABASE_AT_AZURE", "ORACLE_AUTONOMOUS_DATABASE_AT_AZURE", "ORACLE_JSON_COLLECTION", "ORACLE_EXADATA_DATABASE_AT_GOOGLE_CLOUD", "ORACLE_AUTONOMOUS_DATABASE_AT_GOOGLE_CLOUD", "ORACLE_EXADATA_DATABASE_AT_AWS", "ORACLE_AUTONOMOUS_DATABASE_AT_AWS", "ORACLE_AI_DATA_PLATFORM", "ORACLE_NOSQL", "ORACLE_REST_DATA_SERVICES", "ORACLE_WEBLOGIC_JMS", "AMAZON_RDS_ORACLE", "AMAZON_RDS_SQLSERVER", "AMAZON_S3", "AMAZON_AURORA_MYSQL", "AMAZON_AURORA_POSTGRESQL", "AMAZON_DOCUMENT_DB", "AMAZON_KINESIS", "AMAZON_REDSHIFT", "AMAZON_RDS_MARIADB", "AMAZON_RDS_MYSQL", "AMAZON_RDS_POSTGRESQL", "APACHE_ICEBERG", "APACHE_KAFKA", "AZURE_COSMOS_DB_FOR_MONGODB", "AZURE_COSMOS_DB_FOR_POSTGRESQL", "AZURE_DATA_LAKE_STORAGE", "AZURE_EVENT_HUBS", "AZURE_MYSQL", "AZURE_POSTGRESQL", "AZURE_SQLSERVER_MANAGED_INSTANCE", "AZURE_SQLSERVER_NON_MANAGED_INSTANCE", "AZURE_SYNAPSE_ANALYTICS", "CONFLUENT_KAFKA", "CONFLUENT_SCHEMA_REGISTRY", "DATABRICKS", "DB2_I", "DB2_ZOS", "ELASTICSEARCH", "GOOGLE_ALLOY_DB_FOR_POSTGRESQL", "GOOGLE_BIGQUERY", "GOOGLE_CLOUD_STORAGE", "GOOGLE_CLOUD_SQL_MYSQL", "GOOGLE_CLOUD_SQL_POSTGRESQL", "GOOGLE_CLOUD_SQL_SQLSERVER", "GOOGLE_PUBSUB", "HDFS", "MARIADB", "MICROSOFT_SQLSERVER", "MICROSOFT_FABRIC_LAKEHOUSE", "MICROSOFT_FABRIC_MIRROR", "MONGODB", "MYSQL_SERVER", "MYSQL_HEATWAVE_ON_AZURE", "MYSQL_HEATWAVE_ON_AWS", "POSTGRESQL_SERVER", "REDIS", "SINGLESTOREDB", "SINGLESTOREDB_CLOUD", "SNOWFLAKE"]), multiple=True, help=u"""The array of technology types.""")
@cli_util.option('--connection-type', type=custom_types.CliCaseInsensitiveChoice(["GOLDENGATE", "KAFKA", "KAFKA_SCHEMA_REGISTRY", "MYSQL", "JAVA_MESSAGE_SERVICE", "MICROSOFT_SQLSERVER", "OCI_OBJECT_STORAGE", "ORACLE", "AZURE_DATA_LAKE_STORAGE", "POSTGRESQL", "AZURE_SYNAPSE_ANALYTICS", "SNOWFLAKE", "AMAZON_S3", "HDFS", "ORACLE_AI_DATA_PLATFORM", "ORACLE_NOSQL", "MONGODB", "AMAZON_KINESIS", "AMAZON_REDSHIFT", "DB2", "REDIS", "ELASTICSEARCH", "GENERIC", "GOOGLE_CLOUD_STORAGE", "GOOGLE_BIGQUERY", "DATABRICKS", "GOOGLE_PUBSUB", "MICROSOFT_FABRIC", "ICEBERG"]), multiple=True, help=u"""The array of connection types.""")
@cli_util.option('--assigned-deployment-id', help=u"""The OCID of the deployment which for the connection must be assigned.""")
@@ -7673,7 +7673,7 @@ def list_connections(ctx, from_json, all_pages, page_size, compartment_id, techn
@database_registration_group.command(name=cli_util.override('goldengate.list_database_registrations.command_name', 'list'), help=u"""Note: Deprecated. Use the /connections API instead. Lists the DatabaseRegistrations in the compartment. \n[Command Reference](listDatabaseRegistrations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "IN_PROGRESS", "CANCELING", "CANCELED", "SUCCEEDED", "WAITING"]), help=u"""A filter to return only the resources that match the 'lifecycleState' given.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire 'displayName' given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -7733,7 +7733,7 @@ def list_database_registrations(ctx, from_json, all_pages, page_size, compartmen
@deployment_backup_group.command(name=cli_util.override('goldengate.list_deployment_backups.command_name', 'list'), help=u"""Lists the Backups in a compartment. \n[Command Reference](listDeploymentBackups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--deployment-id', help=u"""The [OCID] of the deployment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "IN_PROGRESS", "CANCELING", "CANCELED", "SUCCEEDED", "WAITING"]), help=u"""A filter to return only the resources that match the 'lifecycleState' given.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire 'displayName' given.""")
@@ -7796,7 +7796,7 @@ def list_deployment_backups(ctx, from_json, all_pages, page_size, compartment_id
@deployment_environment_collection_group.command(name=cli_util.override('goldengate.list_deployment_environments.command_name', 'list-deployment-environments'), help=u"""Returns an array of DeploymentEnvironmentDescriptor \n[Command Reference](listDeploymentEnvironments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -7913,7 +7913,7 @@ def list_deployment_peers(ctx, from_json, all_pages, page_size, deployment_id, l
@deployment_type_collection_group.command(name=cli_util.override('goldengate.list_deployment_types.command_name', 'list-deployment-types'), help=u"""Returns an array of DeploymentTypeDescriptor \n[Command Reference](listDeploymentTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--deployment-type', type=custom_types.CliCaseInsensitiveChoice(["OGG", "DATABASE_ORACLE", "BIGDATA", "DATABASE_MICROSOFT_SQLSERVER", "DATABASE_MYSQL", "DATABASE_POSTGRESQL", "DATABASE_DB2ZOS", "DATABASE_DB2I", "GGSA", "DATA_TRANSFORMS"]), help=u"""The type of deployment, the value determines the exact 'type' of the service executed in the deployment. Default value is DATABASE_ORACLE.""")
@cli_util.option('--ogg-version', help=u"""Allows to query by a specific GoldenGate version.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire 'displayName' given.""")
@@ -7976,7 +7976,7 @@ def list_deployment_types(ctx, from_json, all_pages, page_size, compartment_id,
@deployment_upgrade_group.command(name=cli_util.override('goldengate.list_deployment_upgrades.command_name', 'list'), help=u"""Lists the Deployment Upgrades in a compartment. \n[Command Reference](listDeploymentUpgrades)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--deployment-id', help=u"""The [OCID] of the deployment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION", "IN_PROGRESS", "CANCELING", "CANCELED", "SUCCEEDED", "WAITING"]), help=u"""A filter to return only the resources that match the 'lifecycleState' given.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire 'displayName' given.""")
@@ -8039,7 +8039,7 @@ def list_deployment_upgrades(ctx, from_json, all_pages, page_size, compartment_i
@deployment_version_collection_group.command(name=cli_util.override('goldengate.list_deployment_versions.command_name', 'list-deployment-versions'), help=u"""Returns the list of available deployment versions. \n[Command Reference](listDeploymentVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--deployment-id', help=u"""The [OCID] of the deployment in which to list resources.""")
@cli_util.option('--deployment-type', type=custom_types.CliCaseInsensitiveChoice(["OGG", "DATABASE_ORACLE", "BIGDATA", "DATABASE_MICROSOFT_SQLSERVER", "DATABASE_MYSQL", "DATABASE_POSTGRESQL", "DATABASE_DB2ZOS", "DATABASE_DB2I", "GGSA", "DATA_TRANSFORMS"]), help=u"""The type of deployment, the value determines the exact 'type' of the service executed in the deployment. Default value is DATABASE_ORACLE.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -8159,7 +8159,7 @@ def list_deployment_wallets_operations(ctx, from_json, all_pages, page_size, dep
@deployment_group.command(name=cli_util.override('goldengate.list_deployments.command_name', 'list'), help=u"""Lists the Deployments in a compartment. \n[Command Reference](listDeployments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--supported-connection-type', type=custom_types.CliCaseInsensitiveChoice(["GOLDENGATE", "KAFKA", "KAFKA_SCHEMA_REGISTRY", "MYSQL", "JAVA_MESSAGE_SERVICE", "MICROSOFT_SQLSERVER", "OCI_OBJECT_STORAGE", "ORACLE", "AZURE_DATA_LAKE_STORAGE", "POSTGRESQL", "AZURE_SYNAPSE_ANALYTICS", "SNOWFLAKE", "AMAZON_S3", "HDFS", "ORACLE_AI_DATA_PLATFORM", "ORACLE_NOSQL", "MONGODB", "AMAZON_KINESIS", "AMAZON_REDSHIFT", "DB2", "REDIS", "ELASTICSEARCH", "GENERIC", "GOOGLE_CLOUD_STORAGE", "GOOGLE_BIGQUERY", "DATABRICKS", "GOOGLE_PUBSUB", "MICROSOFT_FABRIC", "ICEBERG"]), help=u"""The connection type which the deployment must support.""")
@cli_util.option('--assigned-connection-id', help=u"""The OCID of the connection which for the deployment must be assigned.""")
@cli_util.option('--assignable-connection-id', help=u"""Return the deployments to which the specified connectionId may be assigned.""")
@@ -8493,7 +8493,7 @@ def list_pipeline_schemas(ctx, from_json, all_pages, page_size, pipeline_id, dis
@pipeline_group.command(name=cli_util.override('goldengate.list_pipelines.command_name', 'list'), help=u"""Lists the Pipelines in the compartment. \n[Command Reference](listPipelines)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED", "INACTIVE"]), help=u"""A filtered list of pipelines to return for a given lifecycleState.""")
@cli_util.option('--lifecycle-sub-state', type=custom_types.CliCaseInsensitiveChoice(["STARTING", "STOPPING", "STOPPED", "MOVING", "RUNNING", "PAUSING", "PAUSED", "START_FAILED", "STOP_FAILED", "PAUSE_FAILED"]), help=u"""A filtered list of pipelines to return for a given lifecycleSubState.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire 'displayName' given.""")
@@ -8556,7 +8556,7 @@ def list_pipelines(ctx, from_json, all_pages, page_size, compartment_id, lifecyc
@recipe_summary_collection_group.command(name=cli_util.override('goldengate.list_recipes.command_name', 'list-recipes'), help=u"""Returns an array of Recipe Summary. \n[Command Reference](listRecipes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--recipe-type', type=custom_types.CliCaseInsensitiveChoice(["ZERO_ETL"]), help=u"""The pipeline's recipe type. The default value is ZERO_ETL.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire 'displayName' given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -8842,7 +8842,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('goldengate.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in the compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the work request. Work requests should be scoped to the same compartment as the resource the work request affects. If the work request concerns multiple resources, and those resources are not in the same compartment, it is up to the service team to pick the primary resource whose compartment should be used.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -10528,10 +10528,10 @@ def test_pipeline_connection_default_test_pipeline_connection_details(ctx, from_
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -10648,10 +10648,10 @@ def update_connection(ctx, from_json, force, wait_for_state, max_wait_seconds, w
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -10795,10 +10795,10 @@ def update_connection_update_elasticsearch_connection_details(ctx, from_json, fo
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -10922,10 +10922,10 @@ def update_connection_update_google_big_query_connection_details(ctx, from_json,
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -10942,7 +10942,7 @@ def update_connection_update_google_big_query_connection_details(ctx, from_json,
@cli_util.option('--private-ip', help=u"""Deprecated: this field will be removed in future versions. Either specify the private IP in the connectionString or host field, or make sure the host name is resolvable in the target VCN.
The private IP address of the connection's endpoint in the customer's VCN, typically a database endpoint or a big data endpoint (e.g. Kafka bootstrap server). In case the privateIp is provided, the subnetId must also be provided. In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection.""")
-@cli_util.option('--database-id', help=u"""The [OCID] of the database being referenced.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -11083,10 +11083,10 @@ def update_connection_update_oracle_connection_details(ctx, from_json, force, wa
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -11218,18 +11218,18 @@ def update_connection_update_amazon_redshift_connection_details(ctx, from_json,
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--tenancy-id', help=u"""The [OCID] of the related OCI tenancy.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the related OCI tenancy.""")
@cli_util.option('--region-parameterconflict', help=u"""The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will default to the default region.""")
-@cli_util.option('--user-id', help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
@cli_util.option('--private-key-file', help=u"""The base64 encoded content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: This field is deprecated and replaced by \"privateKeyFileSecretId\". This field will be removed after February 15 2026.""")
@cli_util.option('--private-key-file-secret-id', help=u"""The [OCID] of the Secret that stores the content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Note: When provided, 'privateKeyFile' field must not be provided.""")
@cli_util.option('--private-key-passphrase', help=u"""The passphrase of the private key. Deprecated: This field is deprecated and replaced by \"privateKeyPassphraseSecretId\". This field will be removed after February 15 2026.""")
@@ -11373,10 +11373,10 @@ def update_connection_update_oci_object_storage_connection_details(ctx, from_jso
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -11552,10 +11552,10 @@ def update_connection_update_redis_connection_details(ctx, from_json, force, wai
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -11565,7 +11565,7 @@ def update_connection_update_redis_connection_details(ctx, from_json, force, wai
@cli_util.option('--username', help=u"""The username Oracle GoldenGate uses to connect to the database. This username must already exist and be available by the database to be connected to.""")
@cli_util.option('--password', help=u"""The password Oracle GoldenGate uses to connect the associated database. Deprecated: This field is deprecated and replaced by \"passwordSecretId\". This field will be removed after February 15 2026.""")
@cli_util.option('--password-secret-id', help=u"""The [OCID] of the Secret that stores the password Oracle GoldenGate uses to connect the associated database. Note: When provided, 'password' field must not be provided.""")
-@cli_util.option('--database-id', help=u"""The [OCID] of the Oracle Autonomous Json Database.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Oracle Autonomous Json Database.""")
@cli_util.option('--security-protocol', help=u"""Security Type for MongoDB.""")
@cli_util.option('--tls-ca-file', help=u"""Database Certificate - The base64 encoded content of a .pem file, containing the server public key (for 1 and 2-way SSL). It is not included in GET responses if the `view=COMPACT` query parameter is specified.""")
@cli_util.option('--tls-certificate-key-file', help=u"""Client Certificate - The base64 encoded content of a .pem file, containing the client public key (for 2-way SSL). Deprecated: This field is deprecated and replaced by \"tlsCertificateKeyFileSecretId\". This field will be removed after February 15 2026.""")
@@ -11715,10 +11715,10 @@ def update_connection_update_mongo_db_connection_details(ctx, from_json, force,
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -11842,19 +11842,19 @@ def update_connection_update_google_cloud_storage_connection_details(ctx, from_j
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-url', help=u"""Connection URL. It must start with 'jdbc:spark://'""")
-@cli_util.option('--tenancy-id', help=u"""The [OCID] of the related OCI tenancy.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the related OCI tenancy.""")
@cli_util.option('--region-parameterconflict', help=u"""The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will default to the default region.""")
-@cli_util.option('--user-id', help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the OCI user who will access the Object Storage. The user must have write access to the bucket they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
@cli_util.option('--private-key-file-secret-id', help=u"""The [OCID] of the Secret that stores the content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Note: When provided, 'privateKeyFile' field must not be provided.""")
@cli_util.option('--private-key-passphrase-secret-id', help=u"""The [OCID] of the Secret that stores the passphrase of the private key. Note: When provided, 'privateKeyPassphrase' field must not be provided.""")
@cli_util.option('--public-key-fingerprint', help=u"""The fingerprint of the API Key of the user specified by the userId. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm""")
@@ -11993,10 +11993,10 @@ def update_connection_update_oracle_ai_data_platform_connection_details(ctx, fro
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -12132,10 +12132,10 @@ def update_connection_update_microsoft_fabric_connection_details(ctx, from_json,
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -12160,7 +12160,7 @@ def update_connection_update_microsoft_fabric_connection_details(ctx, from_json,
@cli_util.option('--private-ip', help=u"""Deprecated: this field will be removed in future versions. Either specify the private IP in the connectionString or host field, or make sure the host name is resolvable in the target VCN.
The private IP address of the connection's endpoint in the customer's VCN, typically a database endpoint or a big data endpoint (e.g. Kafka bootstrap server). In case the privateIp is provided, the subnetId must also be provided. In case the privateIp (and the subnetId) is not provided it is assumed the datasource is publicly accessible. In case the connection is accessible only privately, the lack of privateIp will result in not being able to access the connection.""")
-@cli_util.option('--db-system-id', help=u"""The [OCID] of the database system being referenced.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database system being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -12319,10 +12319,10 @@ def update_connection_update_postgresql_connection_details(ctx, from_json, force
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -12486,10 +12486,10 @@ def update_connection_update_microsoft_sqlserver_connection_details(ctx, from_js
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -12641,10 +12641,10 @@ def update_connection_update_snowflake_connection_details(ctx, from_json, force,
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -12764,10 +12764,10 @@ def update_connection_update_hdfs_connection_details(ctx, from_json, force, wait
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -12915,16 +12915,16 @@ def update_connection_update_databricks_connection_details(ctx, from_json, force
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--stream-pool-id', help=u"""The [OCID] of the stream pool being referenced.""")
+@cli_util.option('--stream-pool-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the stream pool being referenced.""")
@cli_util.option('--cluster-id', help=u"""The [OCID] of the Kafka cluster being referenced from OCI Streaming with Apache Kafka.""")
@cli_util.option('--bootstrap-servers', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Kafka bootstrap. Equivalent of bootstrap.servers configuration property in Kafka: list of KafkaBootstrapServer objects specified by host/port. Used for establishing the initial connection to the Kafka cluster. Example: `\"server1.example.com:9092,server2.example.com:9092\"`
@@ -13116,10 +13116,10 @@ def update_connection_update_kafka_connection_details(ctx, from_json, force, wai
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -13283,10 +13283,10 @@ def update_connection_update_azure_data_lake_storage_connection_details(ctx, fro
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -13422,10 +13422,10 @@ def update_connection_update_amazon_kinesis_connection_details(ctx, from_json, f
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -13643,10 +13643,10 @@ def update_connection_update_java_message_service_connection_details(ctx, from_j
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -13792,10 +13792,10 @@ def update_connection_update_golden_gate_connection_details(ctx, from_json, forc
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -13919,18 +13919,18 @@ def update_connection_update_google_pub_sub_connection_details(ctx, from_json, f
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"enforce\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--tenancy-id', help=u"""The [OCID] of the related OCI tenancy.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the related OCI tenancy.""")
@cli_util.option('--region-parameterconflict', help=u"""The name of the region. e.g.: us-ashburn-1 If the region is not provided, backend will default to the default region.""")
-@cli_util.option('--user-id', help=u"""The [OCID] of the OCI user who will access the Oracle NoSQL database. The user must have write access to the table they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the OCI user who will access the Oracle NoSQL database. The user must have write access to the table they want to connect to. If the user is not provided, backend will default to the user who is calling the API endpoint.""")
@cli_util.option('--private-key-file', help=u"""The base64 encoded content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Deprecated: This field is deprecated and replaced by \"privateKeyFileSecretId\". This field will be removed after February 15 2026.""")
@cli_util.option('--private-key-file-secret-id', help=u"""The [OCID] of the Secret that stores the content of the private key file (PEM file) corresponding to the API key of the fingerprint. See documentation: https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/managingcredentials.htm Note: When provided, 'privateKeyFile' field must not be provided.""")
@cli_util.option('--private-key-passphrase', help=u"""The passphrase of the private key. Deprecated: This field is deprecated and replaced by \"privateKeyPassphraseSecretId\". This field will be removed after February 15 2026.""")
@@ -14074,10 +14074,10 @@ def update_connection_update_oracle_nosql_connection_details(ctx, from_json, for
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -14259,10 +14259,10 @@ def update_connection_update_kafka_schema_registry_connection_details(ctx, from_
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -14398,10 +14398,10 @@ def update_connection_update_amazon_s3_connection_details(ctx, from_json, force,
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -14426,7 +14426,7 @@ def update_connection_update_amazon_s3_connection_details(ctx, from_json, force,
@cli_util.option('--additional-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of name-value pair attribute entries. Used as additional parameters in connection string.
This option is a JSON list with items of type NameValuePair. For documentation on NameValuePair please see our API reference: https://docs.cloud.oracle.com/api/#/en/goldengate/20200407/datatypes/NameValuePair.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--db-system-id', help=u"""The [OCID] of the database system being referenced.""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the database system being referenced.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -14585,10 +14585,10 @@ def update_connection_update_mysql_connection_details(ctx, from_json, force, wai
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -14766,10 +14766,10 @@ def update_connection_update_db2_connection_details(ctx, from_json, force, wait_
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -14893,10 +14893,10 @@ def update_connection_update_iceberg_connection_details(ctx, from_json, force, w
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -15018,10 +15018,10 @@ def update_connection_update_generic_connection_details(ctx, from_json, force, w
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--vault-id', help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
-@cli_util.option('--key-id', help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's vault OCID. If provided, it references a vault where GoldenGate can manage secrets. Customers must add policies to permit GoldenGate to manage secrets contained within this vault.""")
+@cli_util.option('--key-id', type=custom_types.CLI_OCID, help=u"""Refers to the customer's master key OCID. If provided, it references a key to manage secrets. Customers must add policies to permit GoldenGate to use this key.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the target subnet of the dedicated connection.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the target subnet of the dedicated connection.""")
@cli_util.option('--routing-method', type=custom_types.CliCaseInsensitiveChoice(["SHARED_SERVICE_ENDPOINT", "SHARED_DEPLOYMENT_ENDPOINT", "DEDICATED_ENDPOINT"]), help=u"""Controls the network traffic direction to the target: SHARED_SERVICE_ENDPOINT: Traffic flows through the Goldengate Service's network to public hosts. Cannot be used for private targets. SHARED_DEPLOYMENT_ENDPOINT: Network traffic flows from the assigned deployment's private endpoint through the deployment's subnet. DEDICATED_ENDPOINT: A dedicated private endpoint is created in the target VCN subnet for the connection. The subnetId is required when DEDICATED_ENDPOINT networking is selected.""")
@cli_util.option('--does-use-secret-ids', type=click.BOOL, help=u"""Indicates that sensitive attributes are provided via Secrets.""")
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags].
@@ -15270,7 +15270,7 @@ def update_database_registration(ctx, from_json, force, wait_for_state, max_wait
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of Network Security Group OCIDs used to define network access for either Deployments or Connections.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet of the deployment's private endpoint. The subnet must be a private subnet. For backward compatibility, public subnets are allowed until May 31 2025, after which the private subnet will be enforced.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet of the deployment's private endpoint. The subnet must be a private subnet. For backward compatibility, public subnets are allowed until May 31 2025, after which the private subnet will be enforced.""")
@cli_util.option('--load-balancer-subnet-id', help=u"""The [OCID] of a public subnet in the customer tenancy. Can be provided only for public deployments. If provided, the loadbalancer will be created in this subnet instead of the service tenancy. For backward compatibility, this is an optional property. It will become mandatory for public deployments after October 1, 2024.""")
@cli_util.option('--is-public', type=click.BOOL, help=u"""True if this object is publicly available.""")
@cli_util.option('--fqdn', help=u"""A three-label Fully Qualified Domain Name (FQDN) for a resource.""")
@@ -15501,7 +15501,7 @@ def update_deployment_backup(ctx, from_json, force, wait_for_state, max_wait_sec
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
@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 is updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -15599,7 +15599,7 @@ def update_pipeline(ctx, from_json, force, wait_for_state, max_wait_seconds, wai
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Tags defined for this resource. Each key is predefined and scoped to a namespace.
Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet of the pipeline's private endpoint. The subnet must be a private subnet.""")
@cli_util.option('--process-options', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--mapping-rules', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Mapping for source/target schema/tables for the pipeline data replication.
diff --git a/services/governance_rules_control_plane/src/oci_cli_governance_rule/generated/governancerule_cli.py b/services/governance_rules_control_plane/src/oci_cli_governance_rule/generated/governancerule_cli.py
index 6c26b9f5..a2d92507 100644
--- a/services/governance_rules_control_plane/src/oci_cli_governance_rule/generated/governancerule_cli.py
+++ b/services/governance_rules_control_plane/src/oci_cli_governance_rule/generated/governancerule_cli.py
@@ -54,7 +54,7 @@ def inclusion_criterion_group():
@governance_rule_group.command(name=cli_util.override('governance_rule.create_governance_rule.command_name', 'create'), help=u"""Create governance rule in the root compartment only. Either relatedResourceId or template must be supplied. \n[Command Reference](createGovernanceRule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the governance rule.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["QUOTA", "TAG", "ALLOWED_REGIONS"]), help=u"""Type of the governance rule, can be one of QUOTA, TAG, ALLOWED_REGIONS.
@@ -135,7 +135,7 @@ def create_governance_rule(ctx, from_json, wait_for_state, max_wait_seconds, wai
@governance_rule_group.command(name=cli_util.override('governance_rule.create_governance_rule_tag_template.command_name', 'create-governance-rule-tag-template'), help=u"""Create governance rule in the root compartment only. Either relatedResourceId or template must be supplied. \n[Command Reference](createGovernanceRule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the governance rule.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["QUOTA", "TAG", "ALLOWED_REGIONS"]), help=u"""Type of the governance rule, can be one of QUOTA, TAG, ALLOWED_REGIONS.
@@ -235,7 +235,7 @@ def create_governance_rule_tag_template(ctx, from_json, wait_for_state, max_wait
@governance_rule_group.command(name=cli_util.override('governance_rule.create_governance_rule_quota_template.command_name', 'create-governance-rule-quota-template'), help=u"""Create governance rule in the root compartment only. Either relatedResourceId or template must be supplied. \n[Command Reference](createGovernanceRule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the governance rule.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["QUOTA", "TAG", "ALLOWED_REGIONS"]), help=u"""Type of the governance rule, can be one of QUOTA, TAG, ALLOWED_REGIONS.
@@ -325,7 +325,7 @@ def create_governance_rule_quota_template(ctx, from_json, wait_for_state, max_wa
@governance_rule_group.command(name=cli_util.override('governance_rule.create_governance_rule_allowed_regions_template.command_name', 'create-governance-rule-allowed-regions-template'), help=u"""Create governance rule in the root compartment only. Either relatedResourceId or template must be supplied. \n[Command Reference](createGovernanceRule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The Oracle ID ([OCID]) of the root compartment containing the governance rule.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the governance rule.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["QUOTA", "TAG", "ALLOWED_REGIONS"]), help=u"""Type of the governance rule, can be one of QUOTA, TAG, ALLOWED_REGIONS.
@@ -734,7 +734,7 @@ def get_tenancy_attachment(ctx, from_json, tenancy_attachment_id):
@enforced_governance_rule_group.command(name=cli_util.override('governance_rule.list_enforced_governance_rules.command_name', 'list'), help=u"""List enforced governance rules. Either compartment id or enforced governance rule id must be supplied. An optional governance rule type or a display name can also be supplied. \n[Command Reference](listEnforcedGovernanceRules)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--enforced-governance-rule-id', help=u"""Unique enforced governance rule identifier.""")
@cli_util.option('--governance-rule-type', type=custom_types.CliCaseInsensitiveChoice(["QUOTA", "TAG", "ALLOWED_REGIONS"]), help=u"""A filter to return only resources that match the type given.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire name given.""")
@@ -796,7 +796,7 @@ def list_enforced_governance_rules(ctx, from_json, all_pages, page_size, compart
@governance_rule_group.command(name=cli_util.override('governance_rule.list_governance_rules.command_name', 'list'), help=u"""List governance rules. Either compartment id or governance rule id must be supplied. An optional lifecycle state, display name or a governance rule type can also be supplied. \n[Command Reference](listGovernanceRules)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--governance-rule-id', help=u"""Unique governance rule identifier.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""A filter to return only resources whose lifecycle state matches the given lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire name given.""")
@@ -921,7 +921,7 @@ def list_inclusion_criteria(ctx, from_json, all_pages, page_size, governance_rul
@tenancy_attachment_group.command(name=cli_util.override('governance_rule.list_tenancy_attachments.command_name', 'list'), help=u"""List tenancy attachments. Either compartment id, governance rule id or tenancy attachment id must be supplied. An optional lifecycle state or a child tenancy id can also be supplied. \n[Command Reference](listTenancyAttachments)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--tenancy-attachment-id', help=u"""Unique tenancy attachment identifier.""")
@cli_util.option('--governance-rule-id', help=u"""Unique governance rule identifier.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "NEEDS_ATTENTION", "DELETING", "DELETED"]), help=u"""A filter to return only resources when their lifecycle state matches the given lifecycle state.""")
diff --git a/services/governance_rules_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py b/services/governance_rules_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py
index 93442fae..b9ffd831 100644
--- a/services/governance_rules_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/governance_rules_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -209,7 +209,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_request.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/healthchecks/src/oci_cli_health_checks/generated/healthchecks_cli.py b/services/healthchecks/src/oci_cli_health_checks/generated/healthchecks_cli.py
index 80ab40c4..60f1e3df 100644
--- a/services/healthchecks/src/oci_cli_health_checks/generated/healthchecks_cli.py
+++ b/services/healthchecks/src/oci_cli_health_checks/generated/healthchecks_cli.py
@@ -77,7 +77,7 @@ def http_probe_group():
@http_monitor_group.command(name=cli_util.override('health_checks.change_http_monitor_compartment.command_name', 'change-compartment'), help=u"""Moves a monitor into a different compartment. When provided, `If-Match` is checked against ETag values of the resource. \n[Command Reference](changeHttpMonitorCompartment)""")
@cli_util.option('--monitor-id', required=True, help=u"""The OCID of a monitor.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -108,7 +108,7 @@ def change_http_monitor_compartment(ctx, from_json, monitor_id, compartment_id,
@ping_monitor_group.command(name=cli_util.override('health_checks.change_ping_monitor_compartment.command_name', 'change-compartment'), help=u"""Moves a monitor into a different compartment. When provided, `If-Match` is checked against ETag values of the resource. \n[Command Reference](changePingMonitorCompartment)""")
@cli_util.option('--monitor-id', required=True, help=u"""The OCID of a monitor.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -138,7 +138,7 @@ def change_ping_monitor_compartment(ctx, from_json, monitor_id, compartment_id,
@http_monitor_group.command(name=cli_util.override('health_checks.create_http_monitor.command_name', 'create'), help=u"""Creates an HTTP monitor. Vantage points will be automatically selected if not specified, and probes will be initiated from each vantage point to each of the targets at the frequency specified by `intervalInSeconds`. \n[Command Reference](createHttpMonitor)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--targets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of targets (hostnames or IP addresses) of the probe.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--protocol', required=True, type=custom_types.CliCaseInsensitiveChoice(["HTTP", "HTTPS"]), help=u"""""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly and mutable name suitable for display in a user interface.""")
@@ -209,7 +209,7 @@ def create_http_monitor(ctx, from_json, compartment_id, targets, protocol, displ
@http_probe_group.command(name=cli_util.override('health_checks.create_on_demand_http_probe.command_name', 'create-on-demand'), help=u"""Creates an on-demand HTTP probe. The location response header contains the URL for fetching the probe results.
*Note:* On-demand probe configurations are not saved. \n[Command Reference](createOnDemandHttpProbe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--targets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of targets (hostnames or IP addresses) of the probe.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--protocol', required=True, type=custom_types.CliCaseInsensitiveChoice(["HTTP", "HTTPS"]), help=u"""""")
@cli_util.option('--vantage-point-names', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of names of vantage points from which to execute the probe.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -264,7 +264,7 @@ def create_on_demand_http_probe(ctx, from_json, compartment_id, targets, protoco
@ping_probe_group.command(name=cli_util.override('health_checks.create_on_demand_ping_probe.command_name', 'create-on-demand'), help=u"""Creates an on-demand ping probe. The location response header contains the URL for fetching probe results.
*Note:* The on-demand probe configuration is not saved. \n[Command Reference](createOnDemandPingProbe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--targets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of targets (hostnames or IP addresses) of the probe.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--protocol', required=True, type=custom_types.CliCaseInsensitiveChoice(["ICMP", "TCP"]), help=u"""""")
@cli_util.option('--vantage-point-names', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of names of vantage points from which to execute the probe.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -303,7 +303,7 @@ def create_on_demand_ping_probe(ctx, from_json, compartment_id, targets, protoco
@ping_monitor_group.command(name=cli_util.override('health_checks.create_ping_monitor.command_name', 'create'), help=u"""Creates a ping monitor. Vantage points will be automatically selected if not specified, and probes will be initiated from each vantage point to each of the targets at the frequency specified by `intervalInSeconds`. \n[Command Reference](createPingMonitor)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--targets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of targets (hostnames or IP addresses) of the probe.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--protocol', required=True, type=custom_types.CliCaseInsensitiveChoice(["ICMP", "TCP"]), help=u"""""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly and mutable name suitable for display in a user interface.""")
@@ -516,7 +516,7 @@ def list_health_checks_vantage_points(ctx, from_json, all_pages, page_size, limi
@http_monitor_group.command(name=cli_util.override('health_checks.list_http_monitors.command_name', 'list'), help=u"""Gets a list of HTTP monitors. \n[Command Reference](listHttpMonitors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filters results by compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filters results by compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["id", "displayName", "timeCreated"]), help=u"""The field to sort by when listing monitors.""")
@@ -641,7 +641,7 @@ def list_http_probe_results(ctx, from_json, all_pages, page_size, probe_configur
@ping_monitor_group.command(name=cli_util.override('health_checks.list_ping_monitors.command_name', 'list'), help=u"""Gets a list of configured ping monitors.
Results are paginated based on `page` and `limit`. The `opc-next-page` header provides a URL for fetching the next page. \n[Command Reference](listPingMonitors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Filters results by compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Filters results by compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["id", "displayName", "timeCreated"]), help=u"""The field to sort by when listing monitors.""")
diff --git a/services/identity/src/oci_cli_identity/generated/identity_cli.py b/services/identity/src/oci_cli_identity/generated/identity_cli.py
index e0d46889..db05c2ec 100644
--- a/services/identity/src/oci_cli_identity/generated/identity_cli.py
+++ b/services/identity/src/oci_cli_identity/generated/identity_cli.py
@@ -432,7 +432,7 @@ def activate_domain(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@mfa_totp_device_group.command(name=cli_util.override('iam.activate_mfa_totp_device.command_name', 'activate'), help=u"""Activates the specified MFA TOTP device for the user. Activation requires manual interaction with the Console. \n[Command Reference](activateMfaTotpDevice)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--mfa-totp-device-id', required=True, help=u"""The OCID of the MFA TOTP device.""")
@cli_util.option('--totp-token', help=u"""The Totp token for MFA.""")
@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.""")
@@ -601,8 +601,8 @@ def add_tag_namespace_lock(ctx, from_json, wait_for_state, max_wait_seconds, wai
@user_group_membership_group.command(name=cli_util.override('iam.add_user_to_group.command_name', 'add'), help=u"""Adds the specified user to the specified group and returns a `UserGroupMembership` object with its own OCID.
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE. \n[Command Reference](addUserToGroup)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
-@cli_util.option('--group-id', required=True, help=u"""The OCID of the group.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the group.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -651,7 +651,7 @@ def add_user_to_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@tag_default_group.command(name=cli_util.override('iam.assemble_effective_tag_set.command_name', 'assemble-effective-tag-set'), help=u"""Assembles tag defaults in the specified compartment and any parent compartments to determine the tags to apply. Tag defaults from parent compartments do not override tag defaults referencing the same tag in a compartment lower down the hierarchy. This set of tag defaults includes all tag defaults from the current compartment back to the root compartment. \n[Command Reference](assembleEffectiveTagSet)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE"]), help=u"""A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -672,7 +672,7 @@ def assemble_effective_tag_set(ctx, from_json, compartment_id, lifecycle_state):
@compartment_group.command(name=cli_util.override('iam.bulk_delete_resources.command_name', 'bulk-delete-resources'), help=u"""Deletes multiple resources in the compartment. All resources must be in the same compartment. You must have the appropriate permissions to delete the resources in the request. This API can only be invoked from the tenancy's [home region]. This operation creates a [WorkRequest]. Use the [GetWorkRequest] API to monitor the status of the bulk action. \n[Command Reference](bulkDeleteResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--resources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The resources to be deleted.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -804,7 +804,7 @@ def bulk_delete_tags(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
See [BulkEditOperationDetails] for more information.
The edits can include a combination of operations and tag sets. However, multiple operations cannot apply to one key definition in the same request. For example, if one request adds `tag set-1` to a resource and sets a tag value to `tag set-2`, `tag set-1` and `tag set-2` cannot have any common tag definitions. \n[Command Reference](bulkEditTags)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the bulk tag edit request is submitted.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the bulk tag edit request is submitted.""")
@cli_util.option('--resources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The resources to be updated.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--bulk-edit-operations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The operations associated with the request to bulk edit tags.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -861,7 +861,7 @@ def bulk_edit_tags(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@compartment_group.command(name=cli_util.override('iam.bulk_move_resources.command_name', 'bulk-move-resources'), help=u"""Moves multiple resources from one compartment to another. All resources must be in the same compartment. This API can only be invoked from the tenancy's [home region]. To move resources, you must have the appropriate permissions to move the resource in both the source and target compartments. This operation creates a [WorkRequest]. Use the [GetWorkRequest] API to monitor the status of the bulk action. \n[Command Reference](bulkMoveResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--resources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The resources to be moved.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-compartment-id', required=True, help=u"""The [OCID] of the destination compartment into which to move the resources.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -994,7 +994,7 @@ def cascade_delete_tag_namespace(ctx, from_json, wait_for_state, max_wait_second
To track the progress of the request, submitting an HTTP GET on the /iamWorkRequests/{iamWorkRequestsId} endpoint retrieves the operation's status. \n[Command Reference](changeDomainCompartment)""")
@cli_util.option('--domain-id', required=True, help=u"""The OCID of the identity domain.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the destination compartment into which to move the identity domain.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the destination compartment into which to move the identity domain.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1126,7 +1126,7 @@ def change_domain_license_type(ctx, from_json, wait_for_state, max_wait_seconds,
Moving a tag namespace moves all the tag key definitions contained in the tag namespace. \n[Command Reference](changeTagNamespaceCompartment)""")
@cli_util.option('--tag-namespace-id', required=True, help=u"""The OCID of the tag namespace.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The Oracle Cloud ID (OCID) of the destination compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The Oracle Cloud ID (OCID) of the destination compartment.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1162,7 +1162,7 @@ def change_tag_namespace_compartment(ctx, from_json, tag_namespace_id, compartme
@cli_util.option('--description', required=True, help=u"""The description you assign to the auth token during creation. Does not have to be unique, and it's changeable.
(For tenancies that support identity domains) You can have an empty description.""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1196,7 +1196,7 @@ def create_auth_token(ctx, from_json, description, user_id):
You must also specify a *description* for the compartment (although it can be an empty string). It does not have to be unique, and you can change it anytime with [UpdateCompartment].
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE. \n[Command Reference](createCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the parent compartment containing the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the parent compartment containing the compartment.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the compartment during creation. The name must be unique across all compartments in the parent compartment. Avoid entering confidential information.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the compartment during creation. Does not have to be unique, and it's changeable.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1261,7 +1261,7 @@ def create_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
Every user has permission to create a secret key for *their own user ID*. An administrator in your organization does not need to write a policy to give users this ability. To compare, administrators who have permission to the tenancy can use this operation to create a secret key for any user, including themselves. \n[Command Reference](createCustomerSecretKey)""")
@cli_util.option('--display-name', required=True, help=u"""The name you assign to the secret key during creation. Does not have to be unique, and it's changeable.""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1291,7 +1291,7 @@ def create_customer_secret_key(ctx, from_json, display_name, user_id):
@cli_util.option('--description', required=True, help=u"""The description you assign to the DB credentials during creation.
(For tenancies that support identity domains) You can have an empty description.""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1323,7 +1323,7 @@ def create_db_credential(ctx, from_json, password, description, user_id):
To track the progress of the request, submitting an HTTP GET on the /iamWorkRequests/{iamWorkRequestsId} endpoint retrieves the operation's status.
After creating an `identity domain`, first make sure its `lifecycleState` changes from CREATING to ACTIVE before you use it. \n[Command Reference](createDomain)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the identity domain is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the identity domain is created.""")
@cli_util.option('--display-name', required=True, help=u"""The mutable display name of the identity domain.""")
@cli_util.option('--description', required=True, help=u"""The identity domain description. You can have an empty description.""")
@cli_util.option('--home-region', required=True, help=u"""The region's name identifier. See [Regions and Availability Domains] for the full list of supported region names.
@@ -1430,7 +1430,7 @@ def create_domain(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
You must also specify a *description* for the dynamic group (although it can be an empty string). It does not have to be unique, and you can change it anytime with [UpdateDynamicGroup].
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE. \n[Command Reference](createDynamicGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy containing the group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy containing the group.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the group during creation. The name must be unique across all groups in the tenancy and cannot be changed.""")
@cli_util.option('--matching-rule', required=True, help=u"""The matching rule to dynamically match an instance certificate to this dynamic group. For rule syntax, see [Managing Dynamic Groups].""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the group during creation. Does not have to be unique, and it's changeable.
@@ -1504,7 +1504,7 @@ def create_dynamic_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE.
After creating the group, you need to put users in it and write policies for it. See [AddUserToGroup] and [CreatePolicy]. \n[Command Reference](createGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy containing the group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy containing the group.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the group during creation. The name must be unique across all groups in the tenancy and cannot be changed.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the group during creation. Does not have to be unique, and it's changeable.
@@ -1576,7 +1576,7 @@ def create_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
You must also specify a *description* for the `IdentityProvider` (although it can be an empty string). It does not have to be unique, and you can change it anytime with [UpdateIdentityProvider].
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE. \n[Command Reference](createIdentityProvider)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of your tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of your tenancy.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the `IdentityProvider` during creation. The name must be unique across all `IdentityProvider` objects in the tenancy and cannot be changed.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the `IdentityProvider` during creation. Does not have to be unique, and it's changeable.""")
@cli_util.option('--product-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["IDCS", "ADFS"]), help=u"""The identity provider service or product. Supported identity providers are Oracle Identity Cloud Service (IDCS) and Microsoft Active Directory Federation Services (ADFS).
@@ -1654,7 +1654,7 @@ def create_identity_provider(ctx, from_json, wait_for_state, max_wait_seconds, w
You must also specify a *description* for the `IdentityProvider` (although it can be an empty string). It does not have to be unique, and you can change it anytime with [UpdateIdentityProvider].
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE. \n[Command Reference](createIdentityProvider)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of your tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of your tenancy.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the `IdentityProvider` during creation. The name must be unique across all `IdentityProvider` objects in the tenancy and cannot be changed.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the `IdentityProvider` during creation. Does not have to be unique, and it's changeable.""")
@cli_util.option('--product-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["IDCS", "ADFS"]), help=u"""The identity provider service or product. Supported identity providers are Oracle Identity Cloud Service (IDCS) and Microsoft Active Directory Federation Services (ADFS).
@@ -1731,7 +1731,7 @@ def create_identity_provider_create_saml2_identity_provider_details(ctx, from_js
Creates a single mapping between an IdP group and an IAM Service [group]. \n[Command Reference](createIdpGroupMapping)""")
@cli_util.option('--idp-group-name', required=True, help=u"""The name of the IdP group you want to map.""")
-@cli_util.option('--group-id', required=True, help=u"""The OCID of the IAM Service [group] you want to map to the IdP group.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the IAM Service [group] you want to map to the IdP group.""")
@cli_util.option('--identity-provider-id', required=True, help=u"""The OCID of the identity provider.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -1785,7 +1785,7 @@ def create_idp_group_mapping(ctx, from_json, wait_for_state, max_wait_seconds, w
@mfa_totp_device_group.command(name=cli_util.override('iam.create_mfa_totp_device.command_name', 'create'), help=u"""Creates a new MFA TOTP device for the user. A user can have one MFA TOTP device. \n[Command Reference](createMfaTotpDevice)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -1842,7 +1842,7 @@ def create_mfa_totp_device(ctx, from_json, wait_for_state, max_wait_seconds, wai
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE.
After your network resource is created, you can use it in policy to restrict access to only requests made from an allowed IP address specified in your network source. For more information, see [Managing Network Sources]. \n[Command Reference](createNetworkSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy (root compartment) containing the network source object.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy (root compartment) containing the network source object.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the network source during creation. The name must be unique across all groups in the tenancy and cannot be changed.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the network source during creation. Does not have to be unique, and it's changeable.""")
@cli_util.option('--public-source-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of allowed public IP addresses and CIDR ranges.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1890,7 +1890,7 @@ def create_network_source(ctx, from_json, compartment_id, name, description, pub
@user_group.command(name=cli_util.override('iam.create_o_auth_client_credential.command_name', 'create-o-auth-client-credential'), help=u"""Creates Oauth token for the user \n[Command Reference](createOAuthClientCredential)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--name', required=True, help=u"""Name of the oauth credential to help user differentiate them.""")
@cli_util.option('--description', required=True, help=u"""Description of the oauth credential to help user differentiate them.""")
@cli_util.option('--scopes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Allowed scopes for the given oauth credential.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1927,7 +1927,7 @@ def create_o_auth_client_credential(ctx, from_json, user_id, name, description,
(For tenancies that support identity domains) Resetting a user's password generates a reset password email with a link that the user must follow to reset their password. If the user does not reset their password before the link expires, you'll need to reset the user's password again.
**Note:** The user's Console login is the unique name you specified when you created the user (see [CreateUser]). \n[Command Reference](createOrResetUIPassword)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1958,7 +1958,7 @@ def create_or_reset_ui_password(ctx, from_json, user_id):
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE.
New policies take effect typically within 10 seconds. \n[Command Reference](createPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the policy (either the tenancy or another compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the policy (either the tenancy or another compartment).""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the policy during creation. The name must be unique across all policies in the tenancy and cannot be changed.""")
@cli_util.option('--statements', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of policy statements written in the policy language. See [How Policies Work] and [Common Policies].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', required=True, help=u"""The description you assign to the policy during creation. Does not have to be unique, and it's changeable.""")
@@ -2027,7 +2027,7 @@ def create_policy(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@cli_util.option('--region-key', required=True, help=u"""The regions's key. See [Regions and Availability Domains] for the full list of supported 3-letter region codes.
Example: `PHX`""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2056,7 +2056,7 @@ def create_region_subscription(ctx, from_json, region_key, tenancy_id):
@cli_util.option('--description', required=True, help=u"""The description you assign to the SMTP credentials during creation. Does not have to be unique, and it's changeable.
(For tenancies that support identity domains) You can have an empty description.""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2091,7 +2091,7 @@ def create_smtp_credential(ctx, from_json, description, user_id):
@cli_util.option('--description', required=True, help=u"""The description you assign to the Swift password during creation. Does not have to be unique, and it's changeable.
(For tenancies that support identity domains) You can have an empty description.""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2387,7 +2387,7 @@ def create_tag_enum_tag_definition_validator(ctx, from_json, wait_for_state, max
If you specify that a value is required, a value is set during resource creation (either by the user creating the resource or another tag defualt). If no value is set, resource creation is blocked.
* If the `isRequired` flag is set to \"true\", the value is set during resource creation. * If the `isRequired` flag is set to \"false\", the value you enter is set during resource creation. \n[Command Reference](createTagDefault)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment. The tag default will be applied to all new resources created in this compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment. The tag default will be applied to all new resources created in this compartment.""")
@cli_util.option('--tag-definition-id', required=True, help=u"""The OCID of the tag definition. The tag default will always assign a default value for this tag definition.""")
@cli_util.option('--value', required=True, help=u"""The default value for the tag definition. This will be applied to all new resources created in the compartment.""")
@cli_util.option('--is-required', type=click.BOOL, help=u"""If you specify that a value is required, a value is set during resource creation (either by the user creating the resource or another tag defualt). If no value is set, resource creation is blocked.
@@ -2460,7 +2460,7 @@ def create_tag_default(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
You must also specify a *name* for the namespace, which must be unique across all namespaces in your tenancy and cannot be changed. The name can contain any ASCII character except the space (_) or period (.). Names are case insensitive. That means, for example, \"myNamespace\" and \"mynamespace\" are not allowed in the same tenancy. Once you created a namespace, you cannot change the name. If you specify a name that's already in use in the tenancy, a 409 error is returned.
You must also specify a *description* for the namespace. It does not have to be unique, and you can change it with [UpdateTagNamespace]. \n[Command Reference](createTagNamespace)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy containing the tag namespace.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy containing the tag namespace.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the tag namespace during creation. It must be unique across all tag namespaces in the tenancy and cannot be changed.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the tag namespace during creation.""")
@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].
@@ -2542,7 +2542,7 @@ def create_tag_namespace(ctx, from_json, wait_for_state, max_wait_seconds, wait_
A new user has no permissions until you place the user in one or more groups (see [AddUserToGroup]). If the user needs to access the Console, you need to provide the user a password (see [CreateOrResetUIPassword]). If the user needs to access the Oracle Cloud Infrastructure REST API, you need to upload a public API signing key for that user (see [Required Keys and OCIDs] and also [UploadApiKey]).
**Important:** Make sure to inform the new user which compartment(s) they have access to. \n[Command Reference](createUser)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy containing the user.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy containing the user.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the user during creation. This is the user's login for the Console. The name must be unique across all users in the tenancy and cannot be changed.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the user during creation. Does not have to be unique, and it's changeable.
@@ -2671,7 +2671,7 @@ def deactivate_domain(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@api_key_group.command(name=cli_util.override('iam.delete_api_key.command_name', 'delete'), help=u"""Deletes the specified API signing key for the specified user.
Every user has permission to use this operation to delete a key for *their own user ID*. An administrator in your organization does not need to write a policy to give users this ability. To compare, administrators who have permission to the tenancy can use this operation to delete a key for any user, including themselves. \n[Command Reference](deleteApiKey)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--fingerprint', required=True, help=u"""The key's fingerprint.""")
@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.""")
@cli_util.confirm_delete_option
@@ -2701,7 +2701,7 @@ def delete_api_key(ctx, from_json, user_id, fingerprint, if_match):
@auth_token_group.command(name=cli_util.override('iam.delete_auth_token.command_name', 'delete'), help=u"""Deletes the specified auth token for the specified user. \n[Command Reference](deleteAuthToken)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--auth-token-id', required=True, help=u"""The OCID of the auth token.""")
@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.""")
@cli_util.confirm_delete_option
@@ -2731,7 +2731,7 @@ def delete_auth_token(ctx, from_json, user_id, auth_token_id, if_match):
@compartment_group.command(name=cli_util.override('iam.delete_compartment.command_name', 'delete'), help=u"""Deletes the specified compartment. The compartment must be empty. \n[Command Reference](deleteCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -2786,7 +2786,7 @@ def delete_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@customer_secret_key_group.command(name=cli_util.override('iam.delete_customer_secret_key.command_name', 'delete'), help=u"""Deletes the specified secret key for the specified user. \n[Command Reference](deleteCustomerSecretKey)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--customer-secret-key-id', required=True, help=u"""The access token of the secret key.""")
@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.""")
@cli_util.confirm_delete_option
@@ -2816,7 +2816,7 @@ def delete_customer_secret_key(ctx, from_json, user_id, customer_secret_key_id,
@user_group.command(name=cli_util.override('iam.delete_db_credential.command_name', 'delete-db-credential'), help=u"""Deletes the specified DB credential for the specified user. \n[Command Reference](deleteDbCredential)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--db-credential-id', required=True, help=u"""The OCID of the DB credential.""")
@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.""")
@cli_util.confirm_delete_option
@@ -2968,7 +2968,7 @@ def delete_dynamic_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@group_group.command(name=cli_util.override('iam.delete_group.command_name', 'delete'), help=u"""Deletes the specified group. The group must be empty. \n[Command Reference](deleteGroup)""")
-@cli_util.option('--group-id', required=True, help=u"""The OCID of the group.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the group.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3128,7 +3128,7 @@ def delete_idp_group_mapping(ctx, from_json, identity_provider_id, mapping_id, i
@mfa_totp_device_group.command(name=cli_util.override('iam.delete_mfa_totp_device.command_name', 'delete'), help=u"""Deletes the specified MFA TOTP device for the specified user. \n[Command Reference](deleteMfaTotpDevice)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--mfa-totp-device-id', required=True, help=u"""The OCID of the MFA TOTP device.""")
@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.""")
@cli_util.confirm_delete_option
@@ -3183,7 +3183,7 @@ def delete_network_source(ctx, from_json, network_source_id, if_match):
@user_group.command(name=cli_util.override('iam.delete_o_auth_client_credential.command_name', 'delete-o-auth-client-credential'), help=u"""Delete Oauth token for the user \n[Command Reference](deleteOAuthClientCredential)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--oauth2-client-credential-id', required=True, help=u"""The ID of the Oauth credential.""")
@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.""")
@cli_util.confirm_delete_option
@@ -3213,7 +3213,7 @@ def delete_o_auth_client_credential(ctx, from_json, user_id, oauth2_client_crede
@policy_group.command(name=cli_util.override('iam.delete_policy.command_name', 'delete'), help=u"""Deletes the specified policy. The deletion takes effect typically within 10 seconds. \n[Command Reference](deletePolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the policy.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3276,7 +3276,7 @@ def delete_policy(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@smtp_credential_group.command(name=cli_util.override('iam.delete_smtp_credential.command_name', 'delete'), help=u"""Deletes the specified SMTP credential for the specified user. \n[Command Reference](deleteSmtpCredential)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--smtp-credential-id', required=True, help=u"""The OCID of the SMTP credential.""")
@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.""")
@cli_util.confirm_delete_option
@@ -3308,7 +3308,7 @@ def delete_smtp_credential(ctx, from_json, user_id, smtp_credential_id, if_match
@swift_password_group.command(name=cli_util.override('iam.delete_swift_password.command_name', 'delete'), help=u"""**Deprecated. Use [DeleteAuthToken] instead.**
Deletes the specified Swift password for the specified user. \n[Command Reference](deleteSwiftPassword)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--swift-password-id', required=True, help=u"""The OCID of the Swift password.""")
@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.""")
@cli_util.confirm_delete_option
@@ -3549,7 +3549,7 @@ def delete_tag_namespace(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@user_group.command(name=cli_util.override('iam.delete_user.command_name', 'delete'), help=u"""Deletes the specified user. The user must not be in any groups. \n[Command Reference](deleteUser)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3681,7 +3681,7 @@ def enable_replication_to_region(ctx, from_json, wait_for_state, max_wait_second
@mfa_totp_device_group.command(name=cli_util.override('iam.generate_totp_seed.command_name', 'generate-totp-seed'), help=u"""Generate seed for the MFA TOTP device. \n[Command Reference](generateTotpSeed)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--mfa-totp-device-id', required=True, help=u"""The OCID of the MFA TOTP device.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -3736,7 +3736,7 @@ def generate_totp_seed(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@authentication_policy_group.command(name=cli_util.override('iam.get_authentication_policy.command_name', 'get'), help=u"""Gets the authentication policy for the given tenancy. You must specify your tenant's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). \n[Command Reference](getAuthenticationPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3759,7 +3759,7 @@ def get_authentication_policy(ctx, from_json, compartment_id):
@compartment_group.command(name=cli_util.override('iam.get_compartment.command_name', 'get'), help=u"""Gets the specified compartment's information.
This operation does not return a list of all the resources inside the compartment. There is no single API operation that does that. Compartments can contain multiple types of resources (instances, block storage volumes, etc.). To find out what's in a compartment, you must call the \"List\" operation for each resource type and specify the compartment's OCID as a query parameter in the request. For example, call the [ListInstances] operation in the Cloud Compute Service or the [ListVolumes] operation in Cloud Block Storage. \n[Command Reference](getCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3825,7 +3825,7 @@ def get_dynamic_group(ctx, from_json, dynamic_group_id):
@group_group.command(name=cli_util.override('iam.get_group.command_name', 'get'), help=u"""Gets the specified group's information.
This operation does not return a list of all the users in the group. To do that, use [ListUserGroupMemberships] and provide the group's OCID as a query parameter in the request. \n[Command Reference](getGroup)""")
-@cli_util.option('--group-id', required=True, help=u"""The OCID of the group.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the group.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3919,7 +3919,7 @@ def get_idp_group_mapping(ctx, from_json, identity_provider_id, mapping_id):
@mfa_totp_device_group.command(name=cli_util.override('iam.get_mfa_totp_device.command_name', 'get'), help=u"""Get the specified MFA TOTP device for the specified user. \n[Command Reference](getMfaTotpDevice)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--mfa-totp-device-id', required=True, help=u"""The OCID of the MFA TOTP device.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3966,7 +3966,7 @@ def get_network_source(ctx, from_json, network_source_id):
@policy_group.command(name=cli_util.override('iam.get_policy.command_name', 'get'), help=u"""Gets the specified policy's information. \n[Command Reference](getPolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the policy.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3987,7 +3987,7 @@ def get_policy(ctx, from_json, policy_id):
@standard_tag_namespace_template_group.command(name=cli_util.override('iam.get_standard_tag_template.command_name', 'get-standard-tag-template'), help=u"""Retrieve the standard tag namespace template given the standard tag namespace name. \n[Command Reference](getStandardTagTemplate)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--standard-tag-namespace-name', required=True, help=u"""The name of the standard tag namespace tempate that is requested""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -4099,7 +4099,7 @@ def get_tagging_work_request(ctx, from_json, work_request_id):
@tenancy_group.command(name=cli_util.override('iam.get_tenancy.command_name', 'get'), help=u"""Get the specified tenancy's information. \n[Command Reference](getTenancy)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4120,7 +4120,7 @@ def get_tenancy(ctx, from_json, tenancy_id):
@user_group.command(name=cli_util.override('iam.get_user.command_name', 'get'), help=u"""Gets the specified user's information. \n[Command Reference](getUser)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4162,7 +4162,7 @@ def get_user_group_membership(ctx, from_json, user_group_membership_id):
@ui_password_information_group.command(name=cli_util.override('iam.get_user_ui_password_information.command_name', 'get-user'), help=u"""Gets the specified user's console password information. The returned object contains the user's OCID, but not the password itself. The actual password is returned only when created or reset. \n[Command Reference](getUserUIPasswordInformation)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4204,7 +4204,7 @@ def get_work_request(ctx, from_json, work_request_id):
@tag_group.command(name=cli_util.override('iam.import_standard_tags.command_name', 'import-standard-tags'), help=u"""OCI will release Tag Namespaces that our customers can import. These Tag Namespaces will provide Tags for our customers and Partners to provide consistency and enable data reporting. \n[Command Reference](importStandardTags)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the bulk create request is submitted and where the tag namespaces will be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the bulk create request is submitted and where the tag namespaces will be created.""")
@cli_util.option('--standard-tag-namespace-name', required=True, help=u"""The name of standard tag namespace that will be imported in bulk""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -4284,7 +4284,7 @@ def list_allowed_domain_license_types(ctx, from_json, all_pages, current_license
@api_key_group.command(name=cli_util.override('iam.list_api_keys.command_name', 'list'), help=u"""Lists the API signing keys for the specified user. A user can have a maximum of three keys.
Every user has permission to use this API call for *their own user ID*. An administrator in your organization does not need to write a policy to give users this ability. \n[Command Reference](listApiKeys)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -4306,7 +4306,7 @@ def list_api_keys(ctx, from_json, all_pages, user_id):
@auth_token_group.command(name=cli_util.override('iam.list_auth_tokens.command_name', 'list'), help=u"""Lists the auth tokens for the specified user. The returned object contains the token's OCID, but not the token itself. The actual token is returned only upon creation. \n[Command Reference](listAuthTokens)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -4328,7 +4328,7 @@ def list_auth_tokens(ctx, from_json, all_pages, user_id):
@availability_domain_group.command(name=cli_util.override('iam.list_availability_domains.command_name', 'list'), help=u"""Lists the availability domains in your tenancy. Specify the OCID of either the tenancy or another of your compartments as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID]. Note that the order of the results returned can change if availability domains are added or removed; therefore, do not create a dependency on the list order. \n[Command Reference](listAvailabilityDomains)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -4445,7 +4445,7 @@ def list_bulk_edit_tags_resource_types(ctx, from_json, all_pages, page_size, pag
The parameter `compartmentIdInSubtree` applies only when you perform ListCompartments on the tenancy (root compartment). When set to true, the entire hierarchy of compartments can be returned. To get a full list of all compartments and subcompartments in the tenancy (root compartment), set the parameter `compartmentIdInSubtree` to true and `accessLevel` to ANY.
See [Where to Get the Tenancy's OCID and User's OCID]. \n[Command Reference](listCompartments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--access-level', type=custom_types.CliCaseInsensitiveChoice(["ANY", "ACCESSIBLE"]), help=u"""Valid values are `ANY` and `ACCESSIBLE`. Default is `ANY`. Setting this to `ACCESSIBLE` returns only those compartments for which the user has INSPECT permissions directly or indirectly (permissions can be on a resource in a subcompartment). For the compartments on which the user indirectly has INSPECT permissions, a restricted set of fields is returned.
@@ -4514,7 +4514,7 @@ def list_compartments(ctx, from_json, all_pages, page_size, compartment_id, page
@tag_group.command(name=cli_util.override('iam.list_cost_tracking_tags.command_name', 'list-cost-tracking'), help=u"""Lists all the tags enabled for cost-tracking in the specified tenancy. For information about cost-tracking tags, see [Using Cost-tracking Tags]. \n[Command Reference](listCostTrackingTags)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@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.""")
@@ -4561,7 +4561,7 @@ def list_cost_tracking_tags(ctx, from_json, all_pages, page_size, compartment_id
@customer_secret_key_group.command(name=cli_util.override('iam.list_customer_secret_keys.command_name', 'list'), help=u"""Lists the secret keys for the specified user. The returned object contains the secret key's OCID, but not the secret key itself. The actual secret key is returned only upon creation. \n[Command Reference](listCustomerSecretKeys)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -4583,7 +4583,7 @@ def list_customer_secret_keys(ctx, from_json, all_pages, user_id):
@user_group.command(name=cli_util.override('iam.list_db_credentials.command_name', 'list-db-credentials'), help=u"""Lists the DB credentials for the specified user. The returned object contains the credential's OCID \n[Command Reference](listDbCredentials)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@@ -4648,7 +4648,7 @@ def list_db_credentials(ctx, from_json, all_pages, page_size, user_id, page, lim
@domain_group.command(name=cli_util.override('iam.list_domains.command_name', 'list'), help=u"""(For tenancies that support identity domains) Lists all identity domains within a tenancy. \n[Command Reference](listDomains)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--display-name', help=u"""The mutable display name of the identity domain.""")
@cli_util.option('--url', help=u"""The region-agnostic identity domain URL.""")
@cli_util.option('--home-region-url', help=u"""The region-specific identity domain URL.""")
@@ -4728,7 +4728,7 @@ def list_domains(ctx, from_json, all_pages, page_size, compartment_id, display_n
@dynamic_group_group.command(name=cli_util.override('iam.list_dynamic_groups.command_name', 'list'), help=u"""Lists the dynamic groups in your tenancy. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID]. \n[Command Reference](listDynamicGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@@ -4789,7 +4789,7 @@ def list_dynamic_groups(ctx, from_json, all_pages, page_size, compartment_id, pa
@fault_domain_group.command(name=cli_util.override('iam.list_fault_domains.command_name', 'list'), help=u"""Lists the Fault Domains in your tenancy. Specify the OCID of either the tenancy or another of your compartments as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID]. \n[Command Reference](listFaultDomains)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--availability-domain', required=True, help=u"""The name of the availabilityDomain.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -4810,7 +4810,7 @@ def list_fault_domains(ctx, from_json, all_pages, compartment_id, availability_d
@group_group.command(name=cli_util.override('iam.list_groups.command_name', 'list'), help=u"""Lists the groups in your tenancy. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID]. \n[Command Reference](listGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@@ -4979,7 +4979,7 @@ def list_iam_work_request_logs(ctx, from_json, all_pages, page_size, iam_work_re
@iam_work_request_group.command(name=cli_util.override('iam.list_iam_work_requests.command_name', 'list'), help=u"""Lists the IAM work requests in compartment. The workRequestID is returned in the opc-workrequest-id header for any asynchronous operation in the Identity and Access Management service. \n[Command Reference](listIamWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--resource-identifier', help=u"""The identifier of the resource the work request affects.""")
@@ -5091,7 +5091,7 @@ def list_identity_provider_groups(ctx, from_json, all_pages, page_size, identity
Lists all the identity providers in your tenancy. You must specify the identity provider type (e.g., `SAML2` for identity providers using the SAML2.0 protocol). You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID]. \n[Command Reference](listIdentityProviders)""")
@cli_util.option('--protocol', required=True, help=u"""The protocol used for federation. Allowed values are: SAML2""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@@ -5207,7 +5207,7 @@ def list_idp_group_mappings(ctx, from_json, all_pages, page_size, identity_provi
@mfa_totp_device_group.command(name=cli_util.override('iam.list_mfa_totp_devices.command_name', 'list'), help=u"""Lists the MFA TOTP devices for the specified user. The returned object contains the device's OCID, but not the seed. The seed is returned only upon creation or when the IAM service regenerates the MFA seed for the device. \n[Command Reference](listMfaTotpDevices)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "NAME"]), help=u"""The field to sort by. You can provide one sort order (`sortOrder`). Default order for TIMECREATED is descending. Default order for NAME is ascending. The NAME sort order is case sensitive.
@@ -5265,7 +5265,7 @@ def list_mfa_totp_devices(ctx, from_json, all_pages, page_size, user_id, page, l
@network_sources_group.command(name=cli_util.override('iam.list_network_sources.command_name', 'list'), help=u"""Lists the network sources in your tenancy. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID]. \n[Command Reference](listNetworkSources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@@ -5326,7 +5326,7 @@ def list_network_sources(ctx, from_json, all_pages, page_size, compartment_id, p
@user_group.command(name=cli_util.override('iam.list_o_auth_client_credentials.command_name', 'list-o-auth-client-credentials'), help=u"""List of Oauth tokens for the user \n[Command Reference](listOAuthClientCredentials)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), help=u"""A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.""")
@@ -5381,7 +5381,7 @@ def list_o_auth_client_credentials(ctx, from_json, all_pages, page_size, user_id
@policy_group.command(name=cli_util.override('iam.list_policies.command_name', 'list'), help=u"""Lists the policies in the specified compartment (either the tenancy or another of your compartments). See [Where to Get the Tenancy's OCID and User's OCID].
To determine which policies apply to a particular group or compartment, you must view the individual statements inside all your policies. There isn't a way to automatically obtain that information via the API. \n[Command Reference](listPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@@ -5442,7 +5442,7 @@ def list_policies(ctx, from_json, all_pages, page_size, compartment_id, page, li
@region_subscription_group.command(name=cli_util.override('iam.list_region_subscriptions.command_name', 'list'), help=u"""Lists the region subscriptions for the specified tenancy. \n[Command Reference](listRegionSubscriptions)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -5481,7 +5481,7 @@ def list_regions(ctx, from_json, all_pages, ):
@smtp_credential_group.command(name=cli_util.override('iam.list_smtp_credentials.command_name', 'list'), help=u"""Lists the SMTP credentials for the specified user. The returned object contains the credential's OCID, the SMTP user name but not the SMTP password. The SMTP password is returned only upon creation. \n[Command Reference](listSmtpCredentials)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -5503,7 +5503,7 @@ def list_smtp_credentials(ctx, from_json, all_pages, user_id):
@standard_tag_namespace_template_group.command(name=cli_util.override('iam.list_standard_tag_namespaces.command_name', 'list-standard-tag-namespaces'), help=u"""Lists available standard tag namespaces that users can create. \n[Command Reference](listStandardTagNamespaces)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@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.""")
@@ -5552,7 +5552,7 @@ def list_standard_tag_namespaces(ctx, from_json, all_pages, page_size, compartme
@swift_password_group.command(name=cli_util.override('iam.list_swift_passwords.command_name', 'list'), help=u"""**Deprecated. Use [ListAuthTokens] instead.**
Lists the Swift passwords for the specified user. The returned object contains the password's OCID, but not the password itself. The actual password is returned only upon creation. \n[Command Reference](listSwiftPasswords)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -5577,7 +5577,7 @@ def list_swift_passwords(ctx, from_json, all_pages, user_id):
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--id', help=u"""A filter to only return resources that match the specified OCID exactly.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--tag-definition-id', help=u"""The OCID of the tag definition.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE"]), help=u"""A filter to only return resources that match the given lifecycle state. The state value is case-insensitive.""")
@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.""")
@@ -5629,7 +5629,7 @@ def list_tag_defaults(ctx, from_json, all_pages, page_size, page, limit, id, com
@tag_namespace_group.command(name=cli_util.override('iam.list_tag_namespaces.command_name', 'list'), help=u"""Lists the tag namespaces in the specified compartment. \n[Command Reference](listTagNamespaces)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--include-subcompartments', type=click.BOOL, help=u"""An optional boolean parameter indicating whether to retrieve all tag namespaces in subcompartments. If this parameter is not specified, only the tag namespaces defined in the specified compartment are retrieved.""")
@@ -5782,7 +5782,7 @@ def list_tagging_work_request_logs(ctx, from_json, all_pages, page_size, work_re
@tagging_work_request_group.command(name=cli_util.override('iam.list_tagging_work_requests.command_name', 'list'), help=u"""Lists the tagging work requests in compartment. \n[Command Reference](listTaggingWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--resource-identifier', help=u"""The identifier of the resource the work request affects.""")
@@ -5887,9 +5887,9 @@ def list_tags(ctx, from_json, all_pages, page_size, tag_namespace_id, page, limi
@user_group_membership_group.command(name=cli_util.override('iam.list_user_group_memberships.command_name', 'list'), help=u"""Lists the `UserGroupMembership` objects in your tenancy. You must specify your tenancy's OCID as the value for the compartment ID (see [Where to Get the Tenancy's OCID and User's OCID]). You must also then filter the list in one of these ways:
- You can limit the results to just the memberships for a given user by specifying a `userId`. - Similarly, you can limit the results to just the memberships for a given group by specifying a `groupId`. - You can set both the `userId` and `groupId` to determine if the specified user is in the specified group. If the answer is no, the response is an empty list. - Although`userId` and `groupId` are not individually required, you must set one of them. \n[Command Reference](listUserGroupMemberships)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
-@cli_util.option('--user-id', help=u"""The OCID of the user.""")
-@cli_util.option('--group-id', help=u"""The OCID of the group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
+@cli_util.option('--group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the group.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@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.""")
@@ -5940,7 +5940,7 @@ def list_user_group_memberships(ctx, from_json, all_pages, page_size, compartmen
@user_group.command(name=cli_util.override('iam.list_users.command_name', 'list'), help=u"""Lists the users in your tenancy. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID]. \n[Command Reference](listUsers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--identity-provider-id', help=u"""The id of the identity provider.""")
@@ -6007,7 +6007,7 @@ def list_users(ctx, from_json, all_pages, page_size, compartment_id, page, limit
@work_request_group.command(name=cli_util.override('iam.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--resource-identifier', help=u"""The identifier of the resource the work request affects.""")
@@ -6059,7 +6059,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, pag
@compartment_group.command(name=cli_util.override('iam.move_compartment.command_name', 'move'), help=u"""Move the compartment to a different parent compartment in the same tenancy. When you move a compartment, all its contents (subcompartments and resources) are moved with it. Note that the `CompartmentId` that you specify in the path is the compartment that you want to move.
**IMPORTANT**: After you move a compartment to a new parent compartment, the access policies of the new parent take effect and the policies of the previous parent no longer apply. Ensure that you are aware of the implications for the compartment contents before you move it. For more information, see [Moving a Compartment]. \n[Command Reference](moveCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--target-compartment-id', required=True, help=u"""The [OCID] of the destination compartment into which to move the compartment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -6120,7 +6120,7 @@ def move_compartment(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@compartment_group.command(name=cli_util.override('iam.recover_compartment.command_name', 'recover'), help=u"""Recover the compartment from DELETED state to ACTIVE state. \n[Command Reference](recoverCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -6331,7 +6331,7 @@ def reset_idp_scim_client(ctx, from_json, identity_provider_id):
@auth_token_group.command(name=cli_util.override('iam.update_auth_token.command_name', 'update'), help=u"""Updates the specified auth token's description. \n[Command Reference](updateAuthToken)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--auth-token-id', required=True, help=u"""The OCID of the auth token.""")
@cli_util.option('--description', help=u"""The description you assign to the auth token. Does not have to be unique, and it's changeable.
@@ -6370,7 +6370,7 @@ def update_auth_token(ctx, from_json, user_id, auth_token_id, description, if_ma
@authentication_policy_group.command(name=cli_util.override('iam.update_authentication_policy.command_name', 'update'), help=u"""Updates authentication policy for the specified tenancy. \n[Command Reference](updateAuthenticationPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--password-policy', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--network-policy', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -6411,7 +6411,7 @@ def update_authentication_policy(ctx, from_json, force, compartment_id, password
@compartment_group.command(name=cli_util.override('iam.update_compartment.command_name', 'update'), help=u"""Updates the specified compartment's description or name. You can't update the root compartment. \n[Command Reference](updateCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--description', help=u"""The description you assign to the compartment. Does not have to be unique, and it's changeable.""")
@cli_util.option('--name', help=u"""The new name you assign to the compartment. The name must be unique across all compartments in the parent compartment. Avoid entering confidential information.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6486,7 +6486,7 @@ def update_compartment(ctx, from_json, force, wait_for_state, max_wait_seconds,
@customer_secret_key_group.command(name=cli_util.override('iam.update_customer_secret_key.command_name', 'update'), help=u"""Updates the specified secret key's description. \n[Command Reference](updateCustomerSecretKey)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--customer-secret-key-id', required=True, help=u"""The access token of the secret key.""")
@cli_util.option('--display-name', help=u"""The description you assign to the secret key. Does not have to be unique, and it's changeable.
@@ -6688,7 +6688,7 @@ def update_dynamic_group(ctx, from_json, force, wait_for_state, max_wait_seconds
@group_group.command(name=cli_util.override('iam.update_group.command_name', 'update'), help=u"""Updates the specified group. \n[Command Reference](updateGroup)""")
-@cli_util.option('--group-id', required=True, help=u"""The OCID of the group.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the group.""")
@cli_util.option('--description', help=u"""The description you assign to the group. Does not have to be unique, and it's changeable.
(For tenancies that support identity domains) You can have an empty description.""")
@@ -6930,7 +6930,7 @@ def update_identity_provider_update_saml2_identity_provider_details(ctx, from_js
@cli_util.option('--identity-provider-id', required=True, help=u"""The OCID of the identity provider.""")
@cli_util.option('--mapping-id', required=True, help=u"""The OCID of the group mapping.""")
@cli_util.option('--idp-group-name', help=u"""The idp group name.""")
-@cli_util.option('--group-id', help=u"""The OCID of the group.""")
+@cli_util.option('--group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the group.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -7053,7 +7053,7 @@ def update_network_source(ctx, from_json, force, network_source_id, description,
@user_group.command(name=cli_util.override('iam.update_o_auth_client_credential.command_name', 'update-o-auth-client-credential'), help=u"""Updates Oauth token for the user \n[Command Reference](updateOAuthClientCredential)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--oauth2-client-credential-id', required=True, help=u"""The ID of the Oauth credential.""")
@cli_util.option('--description', required=True, help=u"""Description of the oauth credential to help user differentiate them.""")
@cli_util.option('--scopes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Allowed scopes for the given oauth credential.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7101,7 +7101,7 @@ def update_o_auth_client_credential(ctx, from_json, force, user_id, oauth2_clien
@policy_group.command(name=cli_util.override('iam.update_policy.command_name', 'update'), help=u"""Updates the specified policy. You can update the description or the policy statements themselves.
Policy changes take effect typically within 10 seconds. \n[Command Reference](updatePolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""The OCID of the policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the policy.""")
@cli_util.option('--description', help=u"""The description you assign to the policy. Does not have to be unique, and it's changeable.""")
@cli_util.option('--statements', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of policy statements written in the policy language. See [How Policies Work] and [Common Policies].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--version-date', type=custom_types.CLI_DATETIME, help=u"""The version of the policy. If null or set to an empty string, when a request comes in for authorization, the policy will be evaluated according to the current behavior of the services at that moment. If set to a particular date (YYYY-MM-DD), the policy will be evaluated according to the behavior of the services on that date.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -7180,7 +7180,7 @@ def update_policy(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_
@smtp_credential_group.command(name=cli_util.override('iam.update_smtp_credential.command_name', 'update'), help=u"""Updates the specified SMTP credential's description. \n[Command Reference](updateSmtpCredential)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--smtp-credential-id', required=True, help=u"""The OCID of the SMTP credential.""")
@cli_util.option('--description', help=u"""The description you assign to the SMTP credential. Does not have to be unique, and it's changeable.
@@ -7221,7 +7221,7 @@ def update_smtp_credential(ctx, from_json, user_id, smtp_credential_id, descript
@swift_password_group.command(name=cli_util.override('iam.update_swift_password.command_name', 'update'), help=u"""**Deprecated. Use [UpdateAuthToken] instead.**
Updates the specified Swift password's description. \n[Command Reference](updateSwiftPassword)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--swift-password-id', required=True, help=u"""The OCID of the Swift password.""")
@cli_util.option('--description', help=u"""The description you assign to the Swift password. Does not have to be unique, and it's changeable.
@@ -7708,7 +7708,7 @@ def update_tag_namespace(ctx, from_json, force, wait_for_state, max_wait_seconds
@user_group.command(name=cli_util.override('iam.update_user.command_name', 'update'), help=u"""Updates the description of the specified user. \n[Command Reference](updateUser)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--description', help=u"""The description you assign to the user. Does not have to be unique, and it's changeable.
(For tenancies that support identity domains) You can have an empty description.""")
@@ -7791,7 +7791,7 @@ def update_user(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_in
@user_group.command(name=cli_util.override('iam.update_user_capabilities.command_name', 'update-user-capabilities'), help=u"""Updates the capabilities of the specified user. \n[Command Reference](updateUserCapabilities)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--can-use-console-password', type=click.BOOL, help=u"""Indicates if the user can log in to the console.""")
@cli_util.option('--can-use-api-keys', type=click.BOOL, help=u"""Indicates if the user can use API keys.""")
@cli_util.option('--can-use-auth-tokens', type=click.BOOL, help=u"""Indicates if the user can use SWIFT passwords / auth tokens.""")
@@ -7873,7 +7873,7 @@ def update_user_capabilities(ctx, from_json, wait_for_state, max_wait_seconds, w
@user_group.command(name=cli_util.override('iam.update_user_state.command_name', 'update-user-state'), help=u"""Updates the state of the specified user. \n[Command Reference](updateUserState)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--blocked', type=click.BOOL, help=u"""Update state to blocked or unblocked. Only \"false\" is supported (for changing the state to unblocked).""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -7937,7 +7937,7 @@ def update_user_state(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
**Important:** Even though you have permission to upload an API key, you might not yet have permission to do much else. If you try calling an operation unrelated to your own credential management (e.g., `ListUsers`, `LaunchInstance`) and receive an \"unauthorized\" error, check with an administrator to confirm which IAM Service group(s) you're in and what access you have. Also confirm you're working in the correct compartment.
After you send your request, the new object's `lifecycleState` will temporarily be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE. \n[Command Reference](uploadApiKey)""")
-@cli_util.option('--user-id', required=True, help=u"""The OCID of the user.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the user.""")
@cli_util.option('--key', required=True, help=u"""The public key. Must be an RSA key in PEM format.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
diff --git a/services/identity/src/oci_cli_identity/identity_cli_extended.py b/services/identity/src/oci_cli_identity/identity_cli_extended.py
index 35906ce1..c94475bd 100644
--- a/services/identity/src/oci_cli_identity/identity_cli_extended.py
+++ b/services/identity/src/oci_cli_identity/identity_cli_extended.py
@@ -133,8 +133,8 @@ def set_iam_default_tenancy_help():
@identity_cli.user_group.command(name='list-groups', help="""Lists the groups for which the specified user is a member. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID].""")
-@cli_util.option('--compartment-id', required=True, help="""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
-@cli_util.option('--user-id', required=True, help="""The OCID of the user.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the user.""")
@cli_util.option('--page', help="""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help="""The maximum number of items to return in a paginated \"List\" call.""")
@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.""")
@@ -189,9 +189,9 @@ def list_groups_for_user(ctx, from_json, compartment_id, user_id, page, limit, a
@identity_cli.group_group.command(name='list-users', help="""Lists the users in the specified group. You must specify your tenancy's OCID as the value for the compartment ID (remember that the tenancy is simply the root compartment). See [Where to Get the Tenancy's OCID and User's OCID].""")
-@cli_util.option('--compartment-id', required=True,
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID,
help="""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
-@cli_util.option('--group-id', required=True, help="""The OCID of the group.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the group.""")
@cli_util.option('--page',
help="""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help="""The maximum number of items to return in a paginated \"List\" call.""")
@@ -247,8 +247,8 @@ def list_users_for_group(ctx, from_json, compartment_id, group_id, page, limit,
@identity_cli.group_group.command(name='add-user', help="""Adds the specified user to the specified group.""")
-@cli_util.option('--user-id', required=True, help="""The OCID of the user.""")
-@cli_util.option('--group-id', required=True, help="""The OCID of the group.""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the user.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the group.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -262,9 +262,9 @@ def add_user_to_group(ctx, from_json, user_id, group_id):
@identity_cli.group_group.command(name='remove-user', help="""Removes a user from a group.""")
-@cli_util.option('--compartment-id', required=True, help="""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
-@cli_util.option('--user-id', required=True, help="""The OCID of the user.""")
-@cli_util.option('--group-id', required=True, help="""The OCID of the group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the user.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the group.""")
@cli_util.option("--force", is_flag=True, help="Perform removal without prompting for confirmation.")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -290,7 +290,7 @@ def remove_user_from_group(ctx, from_json, compartment_id, user_id, group_id, fo
@identity_cli.policy_group.command(name='update', help="""Updates the specified policy. You can update the description or the policy statements themselves.
Policy changes take effect typically within 10 seconds.""")
-@cli_util.option('--policy-id', required=True, help="""The OCID of the policy.""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help="""The OCID of the policy.""")
@cli_util.option('--description', help="""The description you assign to the policy. Does not have to be unique, and it's changeable.""")
@cli_util.option('--statements', help="""A JSON array of policy statements written in the policy language. See [How Policies Work] and [Common Policies]. Example: '["statement 1","statement 2"]' (The single quotes are required.)""")
@cli_util.option('--version-date', help="""The version of the policy. If set to an empty string, when a request comes in for authorization, the policy will be evaluated according to the current behavior of the services at that moment. If set to a particular date (YYYY-MM-DD), the policy will be evaluated according to the behavior of the services on that date.""")
diff --git a/services/identity_domains/src/oci_cli_identity_domains/generated/identitydomains_cli.py b/services/identity_domains/src/oci_cli_identity_domains/generated/identitydomains_cli.py
index e88717c0..c13a6440 100644
--- a/services/identity_domains/src/oci_cli_identity_domains/generated/identitydomains_cli.py
+++ b/services/identity_domains/src/oci_cli_identity_domains/generated/identitydomains_cli.py
@@ -5223,7 +5223,7 @@ def create_my_authentication_factor_initiator(ctx, from_json, schemas, auth_fact
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["SUCCESS", "FAILURE"]), help=u"""Validation status returned in the response
**SCIM++ Properties:** - type: string - multiValued: false - required: false - mutability: readOnly - returned: default - uniqueness: none - idcsSearchable: false""")
-@cli_util.option('--user-id', help=u"""User guid for whom the validation has initiated. Optional.
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""User guid for whom the validation has initiated. Optional.
**SCIM++ Properties:** - type: string - multiValued: false - required: false - mutability: readWrite - returned: default - uniqueness: none - idcsSearchable: false""")
@cli_util.option('--user-name', help=u"""User name for whom the validation has initiated
@@ -6143,7 +6143,7 @@ def create_my_smtp_credential(ctx, from_json, schemas, user_name, authorization,
**Added In:** 2102181953
**SCIM++ Properties:** - caseExact: false - multiValued: false - idcsSearchable: true - mutability: readOnly - required: false - returned: default - type: string - uniqueness: none""")
-@cli_util.option('--user-id', help=u"""User Support User Id
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""User Support User Id
**Added In:** 2102181953
@@ -9536,7 +9536,7 @@ def delete_grant(ctx, from_json, grant_id, authorization, resource_type_schema_v
@group_group.command(name=cli_util.override('identity_domains.delete_group.command_name', 'delete'), help=u"""Delete a group.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](deleteGroup)""")
-@cli_util.option('--group-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@cli_util.option('--resource-type-schema-version', help=u"""An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.""")
@cli_util.option('--force-delete', type=click.BOOL, help=u"""To force delete the resource and all its references (if any).""")
@@ -10148,7 +10148,7 @@ def delete_password_policy(ctx, from_json, password_policy_id, authorization, re
@policy_group.command(name=cli_util.override('identity_domains.delete_policy.command_name', 'delete'), help=u"""Delete a Policy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](deletePolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@cli_util.option('--resource-type-schema-version', help=u"""An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.""")
@cli_util.option('--force-delete', type=click.BOOL, help=u"""To force delete the resource and all its references (if any).""")
@@ -10364,7 +10364,7 @@ def delete_social_identity_provider(ctx, from_json, social_identity_provider_id,
@user_group.command(name=cli_util.override('identity_domains.delete_user.command_name', 'delete'), help=u"""Delete a user.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](deleteUser)""")
-@cli_util.option('--user-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@cli_util.option('--resource-type-schema-version', help=u"""An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.""")
@cli_util.option('--force-delete', type=click.BOOL, help=u"""To force delete the resource and all its references (if any).""")
@@ -11066,7 +11066,7 @@ def get_grant(ctx, from_json, grant_id, authorization, resource_type_schema_vers
@group_group.command(name=cli_util.override('identity_domains.get_group.command_name', 'get'), help=u"""Get a group. Important: The Group SEARCH and GET operations on users and members will throw an exception if the response has more than 10,000 members. To avoid the exception, use the pagination filter to GET or SEARCH group members.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getGroup)""")
-@cli_util.option('--group-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@cli_util.option('--resource-type-schema-version', help=u"""An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.""")
@cli_util.option('--attributes', help=u"""A comma-delimited string that specifies the names of resource attributes that should be returned in the response. By default, a response that contains resource attributes contains only attributes that are defined in the schema for that resource type as returned=always or returned=default. An attribute that is defined as returned=request is returned in a response only if the request specifies its name in the value of this query parameter. If a request specifies this query parameter, the response contains the attributes that this query parameter specifies, as well as any attribute that is defined as returned=always.""")
@@ -11905,7 +11905,7 @@ def get_password_policy(ctx, from_json, password_policy_id, authorization, resou
@policy_group.command(name=cli_util.override('identity_domains.get_policy.command_name', 'get'), help=u"""Get a Policy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getPolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@cli_util.option('--resource-type-schema-version', help=u"""An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.""")
@cli_util.option('--attributes', help=u"""A comma-delimited string that specifies the names of resource attributes that should be returned in the response. By default, a response that contains resource attributes contains only attributes that are defined in the schema for that resource type as returned=always or returned=default. An attribute that is defined as returned=request is returned in a response only if the request specifies its name in the value of this query parameter. If a request specifies this query parameter, the response contains the attributes that this query parameter specifies, as well as any attribute that is defined as returned=always.""")
@@ -12208,7 +12208,7 @@ def get_social_identity_provider(ctx, from_json, social_identity_provider_id, au
@user_group.command(name=cli_util.override('identity_domains.get_user.command_name', 'get'), help=u"""Get a user.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getUser)""")
-@cli_util.option('--user-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@cli_util.option('--resource-type-schema-version', help=u"""An endpoint-specific schema version number to use in the Request. Allowed version values are Earliest Version or Latest Version as specified in each REST API endpoint description, or any sequential number inbetween. All schema attributes/body parameters are a part of version 1. After version 1, any attributes added or deprecated will be tagged with the version that they were added to or deprecated in. If no version is provided, the latest schema version is returned.""")
@cli_util.option('--attributes', help=u"""A comma-delimited string that specifies the names of resource attributes that should be returned in the response. By default, a response that contains resource attributes contains only attributes that are defined in the schema for that resource type as returned=always or returned=default. An attribute that is defined as returned=request is returned in a response only if the request specifies its name in the value of this query parameter. If a request specifies this query parameter, the response contains the attributes that this query parameter specifies, as well as any attribute that is defined as returned=always.""")
@@ -16977,7 +16977,7 @@ def patch_grant(ctx, from_json, grant_id, schemas, operations, authorization, re
@group_group.command(name=cli_util.override('identity_domains.patch_group.command_name', 'patch'), help=u"""Update a group.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](patchGroup)""")
-@cli_util.option('--group-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--schemas', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior. REQUIRED.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--operations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The body of an HTTP PATCH request MUST contain the attribute \"Operations\", whose value is an array of one or more patch operations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@@ -17764,7 +17764,7 @@ def patch_password_policy(ctx, from_json, password_policy_id, schemas, operation
@policy_group.command(name=cli_util.override('identity_domains.patch_policy.command_name', 'patch'), help=u"""Update a Policy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](patchPolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--schemas', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior. REQUIRED.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--operations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The body of an HTTP PATCH request MUST contain the attribute \"Operations\", whose value is an array of one or more patch operations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@@ -18166,7 +18166,7 @@ def patch_social_identity_provider(ctx, from_json, social_identity_provider_id,
@user_group.command(name=cli_util.override('identity_domains.patch_user.command_name', 'patch'), help=u"""Update a user.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](patchUser)""")
-@cli_util.option('--user-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--schemas', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior. REQUIRED.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--operations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The body of an HTTP PATCH request MUST contain the attribute \"Operations\", whose value is an array of one or more patch operations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--authorization', help=u"""The Authorization field value consists of credentials containing the authentication information of the user agent for the realm of the resource being requested.""")
@@ -20520,7 +20520,7 @@ def put_dynamic_resource_group(ctx, from_json, force, dynamic_resource_group_id,
@group_group.command(name=cli_util.override('identity_domains.put_group.command_name', 'put'), help=u"""Replace a group.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](putGroup)""")
-@cli_util.option('--group-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--schemas', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""REQUIRED. The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. This specification defines URIs for User, Group, and a standard \\\"enterprise\\\" extension. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior.
**SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: true - mutability: readWrite - required: true - returned: default - type: string - uniqueness: none""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -22945,7 +22945,7 @@ def put_password_policy(ctx, from_json, force, password_policy_id, schemas, name
@policy_group.command(name=cli_util.override('identity_domains.put_policy.command_name', 'put'), help=u"""Replace a Policy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](putPolicy)""")
-@cli_util.option('--policy-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--policy-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--schemas', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""REQUIRED. The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. This specification defines URIs for User, Group, and a standard \\\"enterprise\\\" extension. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior.
**SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: true - mutability: readWrite - required: true - returned: default - type: string - uniqueness: none""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -24532,7 +24532,7 @@ def put_social_identity_provider(ctx, from_json, force, social_identity_provider
@user_group.command(name=cli_util.override('identity_domains.put_user.command_name', 'put'), help=u"""Replace a user.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](putUser)""")
-@cli_util.option('--user-id', required=True, help=u"""ID of the resource""")
+@cli_util.option('--user-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the resource""")
@cli_util.option('--schemas', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""REQUIRED. The schemas attribute is an array of Strings which allows introspection of the supported schema version for a SCIM representation as well any schema extensions supported by that representation. Each String value must be a unique URI. This specification defines URIs for User, Group, and a standard \\\"enterprise\\\" extension. All representations of SCIM schema MUST include a non-zero value array with value(s) of the URIs supported by that representation. Duplicate values MUST NOT be included. Value order is not specified and MUST not impact behavior.
**SCIM++ Properties:** - caseExact: false - idcsSearchable: false - multiValued: true - mutability: readWrite - required: true - returned: default - type: string - uniqueness: none""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/integration/src/oci_cli_integration_instance/generated/integrationinstance_cli.py b/services/integration/src/oci_cli_integration_instance/generated/integrationinstance_cli.py
index 7ebbae34..200825c5 100644
--- a/services/integration/src/oci_cli_integration_instance/generated/integrationinstance_cli.py
+++ b/services/integration/src/oci_cli_integration_instance/generated/integrationinstance_cli.py
@@ -184,7 +184,7 @@ def add_oracle_managed_custom_endpoint(ctx, from_json, wait_for_state, max_wait_
@integration_instance_group.command(name=cli_util.override('integration.change_integration_instance_compartment.command_name', 'change-compartment'), help=u"""Change the compartment for an integration instance \n[Command Reference](changeIntegrationInstanceCompartment)""")
@cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
-@cli_util.option('--compartment-id', help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -652,7 +652,7 @@ def convert_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@integration_instance_group.command(name=cli_util.override('integration.create_integration_instance.command_name', 'create'), help=u"""Creates a new Integration Instance. \n[Command Reference](createIntegrationInstance)""")
@cli_util.option('--display-name', required=True, help=u"""Integration Instance Identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--integration-instance-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["STANDARD", "ENTERPRISE", "STANDARDX", "ENTERPRISEX", "HEALTHCARE"]), help=u"""Standard or Enterprise type, Oracle Integration Generation 2 uses ENTERPRISE and STANDARD, Oracle Integration 3 uses ENTERPRISEX and STANDARDX""")
@cli_util.option('--is-byol', required=True, type=click.BOOL, help=u"""Bring your own license.""")
@cli_util.option('--message-packs', required=True, type=click.INT, help=u"""The number of configured message packs""")
@@ -769,7 +769,7 @@ def create_integration_instance(ctx, from_json, wait_for_state, max_wait_seconds
@integration_instance_group.command(name=cli_util.override('integration.create_integration_instance_public_endpoint_details.command_name', 'create-integration-instance-public-endpoint-details'), help=u"""Creates a new Integration Instance. \n[Command Reference](createIntegrationInstance)""")
@cli_util.option('--display-name', required=True, help=u"""Integration Instance Identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--integration-instance-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["STANDARD", "ENTERPRISE", "STANDARDX", "ENTERPRISEX", "HEALTHCARE"]), help=u"""Standard or Enterprise type, Oracle Integration Generation 2 uses ENTERPRISE and STANDARD, Oracle Integration 3 uses ENTERPRISEX and STANDARDX""")
@cli_util.option('--is-byol', required=True, type=click.BOOL, help=u"""Bring your own license.""")
@cli_util.option('--message-packs', required=True, type=click.INT, help=u"""The number of configured message packs""")
@@ -1232,7 +1232,7 @@ def get_work_request(ctx, from_json, work_request_id):
@integration_instance_group.command(name=cli_util.override('integration.list_integration_instances.command_name', 'list'), help=u"""Returns a list of Integration Instances. \n[Command Reference](listIntegrationInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
@@ -1294,7 +1294,7 @@ def list_integration_instances(ctx, from_json, all_pages, page_size, compartment
@work_request_error_group.command(name=cli_util.override('integration.list_work_request_errors.command_name', 'list'), help=u"""Get the errors of a work request. \n[Command Reference](listWorkRequestErrors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', required=True, help=u"""The ID of the asynchronous request.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -1349,7 +1349,7 @@ def list_work_request_errors(ctx, from_json, all_pages, page_size, compartment_i
@work_request_log_entry_group.command(name=cli_util.override('integration.list_work_request_logs.command_name', 'list-work-request-logs'), help=u"""Get the logs of a work request. \n[Command Reference](listWorkRequestLogs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', required=True, help=u"""The ID of the asynchronous request.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -1404,7 +1404,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, compartment_id,
@work_request_group.command(name=cli_util.override('integration.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--integration-instance-id', help=u"""The Integration Instance identifier to use to filter results""")
diff --git a/services/iot/src/oci_cli_iot/generated/iot_cli.py b/services/iot/src/oci_cli_iot/generated/iot_cli.py
index a3575f4f..b390586f 100644
--- a/services/iot/src/oci_cli_iot/generated/iot_cli.py
+++ b/services/iot/src/oci_cli_iot/generated/iot_cli.py
@@ -88,7 +88,7 @@ def digital_twin_instance_group():
@iot_domain_group.command(name=cli_util.override('iot.change_iot_domain_compartment.command_name', 'change-compartment'), help=u"""Moves an IoT domain to a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeIotDomainCompartment)""")
@cli_util.option('--iot-domain-id', required=True, help=u"""The [OCID] of the IoT domain.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment corresponding to the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment corresponding to the resource.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -212,7 +212,7 @@ def change_iot_domain_data_retention_period(ctx, from_json, wait_for_state, max_
@iot_domain_group_group.command(name=cli_util.override('iot.change_iot_domain_group_compartment.command_name', 'change-compartment'), help=u"""Moves an IoT domain group to a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeIotDomainGroupCompartment)""")
@cli_util.option('--iot-domain-group-id', required=True, help=u"""The [OCID] of an IoT Domain Group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment corresponding to the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment corresponding to the resource.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -910,7 +910,7 @@ def create_digital_twin_relationship(ctx, from_json, wait_for_state, max_wait_se
@iot_domain_group.command(name=cli_util.override('iot.create_iot_domain.command_name', 'create'), help=u"""Creates a new IoT domain. \n[Command Reference](createIotDomain)""")
@cli_util.option('--iot-domain-group-id', required=True, help=u"""The [OCID] of the IoT domain group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment corresponding to the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment corresponding to the resource.""")
@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.""")
@cli_util.option('--description', help=u"""A short description of the resource.""")
@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].
@@ -984,7 +984,7 @@ def create_iot_domain(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@iot_domain_group_group.command(name=cli_util.override('iot.create_iot_domain_group.command_name', 'create'), help=u"""Creates a new IoT domain group. \n[Command Reference](createIotDomainGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment corresponding to the resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment corresponding to the resource.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["STANDARD", "LIGHTWEIGHT"]), help=u"""Type of the domain group. LIGHTWEIGHT uses fewer resources and has a higher Recovery Time Objective (RTO), making it suitable for development and testing. STANDARD is recommended for production.""")
@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.""")
@cli_util.option('--description', help=u"""A short description of the resource.""")
@@ -2098,7 +2098,7 @@ def list_digital_twin_relationships(ctx, from_json, all_pages, page_size, iot_do
@iot_domain_group_group.command(name=cli_util.override('iot.list_iot_domain_groups.command_name', 'list'), help=u"""Retrieves a list of IoT domain groups within the specified compartment. \n[Command Reference](listIotDomainGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Filter resources by [OCID]. Must be a valid OCID of the resource type.""")
@cli_util.option('--display-name', help=u"""Filter resources whose display name matches the specified value.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""Filter resources whose lifecycleState matches the specified value.""")
@@ -2164,7 +2164,7 @@ def list_iot_domain_groups(ctx, from_json, all_pages, page_size, compartment_id,
@iot_domain_group.command(name=cli_util.override('iot.list_iot_domains.command_name', 'list'), help=u"""Retrieves a list of IoT domains within the specified compartment. \n[Command Reference](listIotDomains)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Filter resources by [OCID]. Must be a valid OCID of the resource type.""")
@cli_util.option('--iot-domain-group-id', help=u"""Filter resources that match the specified [OCID] of the IoT domain group.""")
@cli_util.option('--display-name', help=u"""Filter resources whose display name matches the specified value.""")
@@ -2344,7 +2344,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('iot.list_work_requests.command_name', 'list'), help=u"""Lists work requests in the specified compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/jms/src/oci_cli_java_management_service/generated/javamanagementservice_cli.py b/services/jms/src/oci_cli_java_management_service/generated/javamanagementservice_cli.py
index c5f90452..31f77ef0 100644
--- a/services/jms/src/oci_cli_java_management_service/generated/javamanagementservice_cli.py
+++ b/services/jms/src/oci_cli_java_management_service/generated/javamanagementservice_cli.py
@@ -427,7 +427,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@fleet_group.command(name=cli_util.override('jms.change_fleet_compartment.command_name', 'change-compartment'), help=u"""Move a specified Fleet into the compartment identified in the POST form. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeFleetCompartment)""")
@cli_util.option('--fleet-id', required=True, help=u"""The [OCID] of the Fleet.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the Fleet should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the Fleet should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "CANCELED", "CANCELING", "FAILED", "IN_PROGRESS", "SUCCEEDED"]), 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.""")
@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.""")
@@ -589,7 +589,7 @@ def create_drs_file(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
`inventoryLog` is now a required parameter for CreateFleet API. Update existing applications using this API before July 15, 2022 to ensure the applications continue to work. See the [Service Change Notice] for more details. Migrate existing fleets using the `UpdateFleet` API to set the `inventoryLog` parameter. \n[Command Reference](createFleet)""")
@cli_util.option('--display-name', required=True, help=u"""The name of the Fleet. The displayName must be unique for Fleets in the same compartment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment of the Fleet.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment of the Fleet.""")
@cli_util.option('--inventory-log', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""The Fleet's description. If nothing is provided, the Fleet description will be null.""")
@cli_util.option('--operation-log', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -666,7 +666,7 @@ def create_fleet(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@jms_plugin_group.command(name=cli_util.override('jms.create_jms_plugin.command_name', 'create'), help=u"""Registers an agent's JmsPlugin, optionally attaching to an existing fleet of the tenancy. JmsPlugins registered fleet-less are created with lifecycle state INACTIVE. For the operation to be authorized, the agent must exist, and the authorized user requires JMS_PLUGIN_CREATE permission for the agent's compartment. \n[Command Reference](createJmsPlugin)""")
@cli_util.option('--agent-id', required=True, help=u"""The [OCID] of the Management Agent (OMA), the Oracle Cloud Agent (OCA), or the Oracle Container Management Agent (OCMA) instance where the JMS plugin is deployed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OMA/OCA/OCMA agent's compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OMA/OCA/OCMA agent's compartment [OCID].""")
@cli_util.option('--agent-type', type=custom_types.CliCaseInsensitiveChoice(["OMA", "OCA", "OCMA"]), help=u"""The agent type.""")
@cli_util.option('--fleet-id', help=u"""The [OCID] of the fleet.""")
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`. (See [Understanding Free-form Tags]).""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2398,7 +2398,7 @@ def get_work_request(ctx, from_json, work_request_id):
@agent_installer_summary_group.command(name=cli_util.override('jms.list_agent_installers.command_name', 'list-agent-installers'), help=u"""Returns a list of the agent installer information. \n[Command Reference](listAgentInstallers)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--fleet-id', help=u"""The ID of the Fleet.""")
@cli_util.option('--platform-architecture', type=custom_types.CliCaseInsensitiveChoice(["X86_64", "X86", "AARCH64"]), help=u"""The platform architecture for the agent installer.""")
@cli_util.option('--os-family', type=custom_types.CliCaseInsensitiveChoice(["LINUX", "WINDOWS", "MACOS", "UNKNOWN"]), help=u"""The OS family for the agent installer.""")
@@ -2852,7 +2852,7 @@ def list_fleet_diagnoses(ctx, from_json, all_pages, page_size, fleet_id, limit,
@fleet_error_summary_group.command(name=cli_util.override('jms.list_fleet_errors.command_name', 'list-fleet-errors'), help=u"""Returns a list of fleet errors that describe all detected errors. \n[Command Reference](listFleetErrors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to determine whether the info should be gathered only in the compartment or in the compartment and its subcompartments.""")
@cli_util.option('--fleet-id', help=u"""The ID of the Fleet.""")
@cli_util.option('--time-first-seen-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""If specified, only errors with a first seen time earlier than this parameter will be included in the search (formatted according to RFC3339).""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -2923,7 +2923,7 @@ def list_fleet_errors(ctx, from_json, all_pages, page_size, compartment_id, comp
@fleet_group.command(name=cli_util.override('jms.list_fleets.command_name', 'list'), help=u"""Returns a list of all the Fleets contained by a compartment. The query parameter `compartmentId` is required unless the query parameter `id` is specified. \n[Command Reference](listFleets)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The ID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETED", "DELETING", "FAILED", "NEEDS_ATTENTION", "UPDATING"]), help=u"""The state of the lifecycle.""")
@cli_util.option('--display-name', help=u"""The display name.""")
@@ -3274,7 +3274,7 @@ def list_java_releases(ctx, from_json, all_pages, page_size, release_version, fa
@jms_plugin_group.command(name=cli_util.override('jms.list_jms_plugins.command_name', 'list'), help=u"""Lists the JmsPlugins. \n[Command Reference](listJmsPlugins)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to determine whether the info should be gathered only in the compartment or in the compartment and its subcompartments.""")
@cli_util.option('--id', help=u"""The [OCID] of the JmsPlugin.""")
@cli_util.option('--fleet-id', help=u"""The ID of the Fleet.""")
@@ -3357,7 +3357,7 @@ def list_jms_plugins(ctx, from_json, all_pages, page_size, compartment_id, compa
@jre_usage_group.command(name=cli_util.override('jms.list_jre_usage.command_name', 'list'), help=u"""List Java Runtime usage in a specified host filtered by query parameters. \n[Command Reference](listJreUsage)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--host-id', help=u"""The host [OCID] of the managed instance.""")
@cli_util.option('--application-id', help=u"""The Fleet-unique identifier of the application.""")
@cli_util.option('--application-name', help=u"""The name of the application.""")
@@ -3664,7 +3664,7 @@ def list_performance_tuning_analysis_results(ctx, from_json, all_pages, page_siz
@plugin_error_summary_group.command(name=cli_util.override('jms.list_plugin_errors.command_name', 'list-plugin-errors'), help=u"""Returns a list of plugin errors that describe all detected errors. \n[Command Reference](listPluginErrors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to determine whether the info should be gathered only in the compartment or in the compartment and its subcompartments.""")
@cli_util.option('--managed-instance-id', help=u"""The Fleet-unique identifier of the managed instance.""")
@cli_util.option('--time-first-seen-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""If specified, only errors with a first seen time earlier than this parameter will be included in the search (formatted according to RFC3339).""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -4177,7 +4177,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('jms.list_work_requests.command_name', 'list'), help=u"""List the work requests in a compartment. The query parameter `compartmentId` is required unless the query parameter `id` or `fleetId` is specified. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The ID of an asynchronous work request.""")
@cli_util.option('--fleet-id', help=u"""The [OCID] of the fleet.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. The token is usually retrieved from a previous list call.""")
@@ -5055,7 +5055,7 @@ def summarize_deployed_application_usage(ctx, from_json, fleet_id, server_key, s
@fleet_error_aggregation_group.command(name=cli_util.override('jms.summarize_fleet_errors.command_name', 'summarize-fleet-errors'), help=u"""Returns a high level summary of FleetErrors. \n[Command Reference](summarizeFleetErrors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to determine whether the info should be gathered only in the compartment or in the compartment and its subcompartments.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. The token is usually retrieved from a previous list call.""")
@@ -5502,7 +5502,7 @@ def summarize_managed_instance_usage(ctx, from_json, fleet_id, managed_instance_
@plugin_error_aggregation_group.command(name=cli_util.override('jms.summarize_plugin_errors.command_name', 'summarize-plugin-errors'), help=u"""Returns a high level summary of PluginErrors. \n[Command Reference](summarizePluginErrors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to determine whether the info should be gathered only in the compartment or in the compartment and its subcompartments.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. The token is usually retrieved from a previous list call.""")
@@ -5531,7 +5531,7 @@ def summarize_plugin_errors(ctx, from_json, compartment_id, compartment_id_in_su
@fleet_group.command(name=cli_util.override('jms.summarize_resource_inventory.command_name', 'summarize-resource-inventory'), help=u"""Retrieve the inventory of JMS resources in the specified compartment: a list of the number of _active_ fleets, managed instances, Java Runtimes, Java installations, and applications. \n[Command Reference](summarizeResourceInventory)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to determine whether the info should be gathered only in the compartment or in the compartment and its subcompartments.""")
@cli_util.option('--time-start', type=custom_types.CLI_DATETIME, help=u"""The start of the time period during which resources are searched (formatted according to [RFC3339]).""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-end', type=custom_types.CLI_DATETIME, help=u"""The end of the time period during which resources are searched (formatted according to [RFC3339]).""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
diff --git a/services/jms_java_downloads/src/oci_cli_java_download/generated/javadownload_cli.py b/services/jms_java_downloads/src/oci_cli_java_download/generated/javadownload_cli.py
index 0c39ab03..94d68763 100644
--- a/services/jms_java_downloads/src/oci_cli_java_download/generated/javadownload_cli.py
+++ b/services/jms_java_downloads/src/oci_cli_java_download/generated/javadownload_cli.py
@@ -121,7 +121,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@java_download_report_group.command(name=cli_util.override('jms_java_downloads.create_java_download_report.command_name', 'create'), help=u"""Create a new report in the specified format containing the download details for the tenancy. \n[Command Reference](createJavaDownloadReport)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] here should be the tenancy OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] here should be the tenancy OCID.""")
@cli_util.option('--format', required=True, type=custom_types.CliCaseInsensitiveChoice(["CSV"]), help=u"""The format of the report that is generated.""")
@cli_util.option('--time-start', type=custom_types.CLI_DATETIME, help=u"""The start time from when download records have to be included (formatted according to [RFC3339]).""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-end', type=custom_types.CLI_DATETIME, help=u"""The end time until when the download records have to be included (formatted according to [RFC3339]).""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -202,7 +202,7 @@ def create_java_download_report(ctx, from_json, wait_for_state, max_wait_seconds
@java_download_token_group.command(name=cli_util.override('jms_java_downloads.create_java_download_token.command_name', 'create'), help=u"""Creates a new JavaDownloadToken in the tenancy with specified attributes. Ensure that you review the license terms before token generation. Visit the Oracle Java Downloads page to understand the license terms of the Java version for which you are generating a token. By generating a token, you agree to the associated license terms. See Oracle JDK Licensing - FAQs for detailed information. \n[Command Reference](createJavaDownloadToken)""")
@cli_util.option('--display-name', required=True, help=u"""User provided display name of the JavaDownloadToken.""")
@cli_util.option('--description', required=True, help=u"""User provided description of the JavaDownloadToken.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy scoped to the JavaDownloadToken.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy scoped to the JavaDownloadToken.""")
@cli_util.option('--time-expires', required=True, type=custom_types.CLI_DATETIME, help=u"""Expiry time of the token.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--java-version', required=True, help=u"""The Java version associated with the token.""")
@cli_util.option('--license-type', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The license type(s) associated with the JavaDownloadToken.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -275,7 +275,7 @@ def create_java_download_token(ctx, from_json, wait_for_state, max_wait_seconds,
@java_license_acceptance_record_group.command(name=cli_util.override('jms_java_downloads.create_java_license_acceptance_record.command_name', 'create'), help=u"""Creates a Java license acceptance record for the specified license type in a tenancy. \n[Command Reference](createJavaLicenseAcceptanceRecord)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The tenancy [OCID] of the user accepting the license.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The tenancy [OCID] of the user accepting the license.""")
@cli_util.option('--license-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["OTN", "NFTC", "BCL", "RESTRICTED"]), help=u"""License type for the Java version.""")
@cli_util.option('--license-acceptance-status', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "REVOKED"]), help=u"""Status of license acceptance.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type, or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`. (See [Managing Tags and Tag Namespaces].)""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -515,7 +515,7 @@ def delete_java_license_acceptance_record(ctx, from_json, wait_for_state, max_wa
Use the [GetJavaRelease] API to get information about available artifacts for a specific release. Each artifact is uniquely identified by an `artifactId`. Refer [JavaArtifact] for more details. \n[Command Reference](generateArtifactDownloadUrl)""")
@cli_util.option('--artifact-id', required=True, type=click.INT, help=u"""Unique identifier for the Java runtime artifact.""")
-@cli_util.option('--compartment-id', help=u"""The tenancy [OCID] of the user initiating the download.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The tenancy [OCID] of the user initiating the download.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -696,7 +696,7 @@ def get_work_request(ctx, from_json, work_request_id):
@java_download_record_group.command(name=cli_util.override('jms_java_downloads.list_java_download_records.command_name', 'list'), help=u"""Returns a list of Java download records in a tenancy based on specified parameters. See [JavaReleases API] for possible values of `javaFamilyVersion` and `javaReleaseVersion` parameters. \n[Command Reference](listJavaDownloadRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy.""")
@cli_util.option('--family-version', help=u"""Unique Java family version identifier.""")
@cli_util.option('--release-version', help=u"""Unique Java release version identifier.""")
@cli_util.option('--os-family', help=u"""Target Operating System family of the artifact.""")
@@ -771,7 +771,7 @@ def list_java_download_records(ctx, from_json, all_pages, page_size, compartment
@java_download_report_group.command(name=cli_util.override('jms_java_downloads.list_java_download_reports.command_name', 'list'), help=u"""Returns a list of JavaDownloadReports. \n[Command Reference](listJavaDownloadReports)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETED", "DELETING", "FAILED", "NEEDS_ATTENTION", "UPDATING"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the display name.""")
@cli_util.option('--java-download-report-id', help=u"""Unique Java download report identifier.""")
@@ -834,7 +834,7 @@ def list_java_download_reports(ctx, from_json, all_pages, page_size, compartment
@java_download_token_group.command(name=cli_util.override('jms_java_downloads.list_java_download_tokens.command_name', 'list'), help=u"""Returns a list of JavaDownloadTokens. \n[Command Reference](listJavaDownloadTokens)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETED", "DELETING", "FAILED", "NEEDS_ATTENTION", "UPDATING"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique JavaDownloadToken identifier.""")
@@ -906,7 +906,7 @@ def list_java_download_tokens(ctx, from_json, all_pages, page_size, compartment_
@java_license_acceptance_record_group.command(name=cli_util.override('jms_java_downloads.list_java_license_acceptance_records.command_name', 'list'), help=u"""Returns a list of all the Java license acceptance records in a tenancy. \n[Command Reference](listJavaLicenseAcceptanceRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy.""")
@cli_util.option('--search-by-user', help=u"""A filter to return only resources that match the user principal detail. The search string can be any of the property values from the [Principal] object. This object is used as a response datatype for the `createdBy` and `lastUpdatedBy` fields in applicable resource.""")
@cli_util.option('--id', help=u"""Unique Java license acceptance record identifier.""")
@cli_util.option('--license-type', type=custom_types.CliCaseInsensitiveChoice(["OTN", "NFTC", "BCL", "RESTRICTED"]), help=u"""Unique Java license type.""")
@@ -1142,7 +1142,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('jms_java_downloads.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a tenancy. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy.""")
@cli_util.option('--id', help=u"""The ID of an asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@@ -1205,7 +1205,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, id,
@java_download_count_aggregation_group.command(name=cli_util.override('jms_java_downloads.request_summarized_java_download_counts.command_name', 'request-summarized-java-download-counts'), help=u"""Returns list of download counts grouped by the specified property. \n[Command Reference](requestSummarizedJavaDownloadCounts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] here should be the tenancy OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] here should be the tenancy OCID.""")
@cli_util.option('--group-as', required=True, type=custom_types.CliCaseInsensitiveChoice(["JAVA_FAMILY", "JAVA_RELEASE", "PLATFORM"]), help=u"""The property that specifies the aggregation type for the download counts.""")
@cli_util.option('--family-version', help=u"""Unique Java family version identifier.""")
@cli_util.option('--release-version', help=u"""Unique Java release version identifier.""")
diff --git a/services/jms_utils/src/oci_cli_jms_utils/generated/jmsutils_cli.py b/services/jms_utils/src/oci_cli_jms_utils/generated/jmsutils_cli.py
index 38be50ec..4dffd2fe 100644
--- a/services/jms_utils/src/oci_cli_jms_utils/generated/jmsutils_cli.py
+++ b/services/jms_utils/src/oci_cli_jms_utils/generated/jmsutils_cli.py
@@ -159,7 +159,7 @@ def delete_performance_tuning_analysis(ctx, from_json, performance_tuning_analys
@analyze_applications_configuration_group.command(name=cli_util.override('jms_utils.get_analyze_applications_configuration.command_name', 'get'), help=u"""Returns the configuration for analyzing applications. \n[Command Reference](getAnalyzeApplicationsConfiguration)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -223,7 +223,7 @@ def get_performance_tuning_analysis(ctx, from_json, performance_tuning_analysis_
@subscription_acknowledgment_configuration_group.command(name=cli_util.override('jms_utils.get_subscription_acknowledgment_configuration.command_name', 'get'), help=u"""Returns the configuration for subscription acknowledgment. \n[Command Reference](getSubscriptionAcknowledgmentConfiguration)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -265,7 +265,7 @@ def get_work_request(ctx, from_json, work_request_id):
@java_migration_analysis_group.command(name=cli_util.override('jms_utils.list_java_migration_analysis.command_name', 'list'), help=u"""Gets a list of Java Migration Analysis. \n[Command Reference](listJavaMigrationAnalysis)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The [OCID] of the Java Migration Analysis.""")
@cli_util.option('--analysis-project-name', help=u"""The project name of the Performance Tuning Analysis to query for.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -324,7 +324,7 @@ def list_java_migration_analysis(ctx, from_json, all_pages, page_size, compartme
@performance_tuning_analysis_group.command(name=cli_util.override('jms_utils.list_performance_tuning_analysis.command_name', 'list'), help=u"""Gets a list of Performance tuning Analysis. \n[Command Reference](listPerformanceTuningAnalysis)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The [OCID] of the Performance Tuning Analysis.""")
@cli_util.option('--analysis-project-name', help=u"""The project name of the Performance Tuning Analysis to query for.""")
@cli_util.option('--performance-tuning-analysis-result', type=custom_types.CliCaseInsensitiveChoice(["ACTION_RECOMMENDED", "NO_WARNINGS"]), help=u"""The result of the Performance Tuning Analysis to query for.""")
@@ -551,7 +551,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('jms_utils.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELLING", "CANCELLED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
@@ -613,7 +613,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, wor
@java_migration_analysis_group.command(name=cli_util.override('jms_utils.request_java_migration_analysis.command_name', 'request'), help=u"""Requests Java Migration Analysis. \n[Command Reference](requestJavaMigrationAnalysis)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the Java Migration Analysis will be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the Java Migration Analysis will be created.""")
@cli_util.option('--targets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of targets for the Java Migration Analysis.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -680,7 +680,7 @@ def request_java_migration_analysis(ctx, from_json, wait_for_state, max_wait_sec
@performance_tuning_analysis_group.command(name=cli_util.override('jms_utils.request_performance_tuning_analysis.command_name', 'request'), help=u"""Requests Performance Tuning Analysis. \n[Command Reference](requestPerformanceTuningAnalysis)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where the Performance Tuning Analysis will be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where the Performance Tuning Analysis will be created.""")
@cli_util.option('--targets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of targets for the Performance Tuning Analysis.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -749,7 +749,7 @@ def request_performance_tuning_analysis(ctx, from_json, wait_for_state, max_wait
@analyze_applications_configuration_group.command(name=cli_util.override('jms_utils.update_analyze_applications_configuration.command_name', 'update'), help=u"""Updates the configuration for analyze application. \n[Command Reference](updateAnalyzeApplicationsConfiguration)""")
@cli_util.option('--namespace-name', help=u"""The Object Storage namespace used for analyzing applications.""")
@cli_util.option('--bucket-name', help=u"""The name of the bucket used for analyzing applications.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -783,7 +783,7 @@ def update_analyze_applications_configuration(ctx, from_json, namespace_name, bu
@subscription_acknowledgment_configuration_group.command(name=cli_util.override('jms_utils.update_subscription_acknowledgment_configuration.command_name', 'update'), help=u"""Updates the configuration for subscription acknowledgment. \n[Command Reference](updateSubscriptionAcknowledgmentConfiguration)""")
@cli_util.option('--is-acknowledged', type=click.BOOL, help=u"""Flag to determine whether the subscription was acknowledged or not.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
diff --git a/services/key_management/src/oci_cli_ekm/generated/ekm_cli.py b/services/key_management/src/oci_cli_ekm/generated/ekm_cli.py
index ce4de50b..040348cf 100644
--- a/services/key_management/src/oci_cli_ekm/generated/ekm_cli.py
+++ b/services/key_management/src/oci_cli_ekm/generated/ekm_cli.py
@@ -33,8 +33,8 @@ def ekms_private_endpoint_group():
@ekms_private_endpoint_group.command(name=cli_util.override('ekm.create_ekms_private_endpoint.command_name', 'create'), help=u"""Create a new EKMS private endpoint used to connect to external key manager system \n[Command Reference](createEkmsPrivateEndpoint)""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of subnet in which the EKMS private endpoint is to be created""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of subnet in which the EKMS private endpoint is to be created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier.""")
@cli_util.option('--display-name', required=True, help=u"""Display name of the EKMS private endpoint resource being created.""")
@cli_util.option('--external-key-manager-ip', required=True, help=u"""External private IP to connect to from this EKMS private endpoint""")
@cli_util.option('--ca-bundle', required=True, help=u"""CABundle to validate TLS certificate of the external key manager system in PEM format""")
@@ -188,7 +188,7 @@ def get_ekms_private_endpoint(ctx, from_json, ekms_private_endpoint_id):
@ekms_private_endpoint_group.command(name=cli_util.override('ekm.list_ekms_private_endpoints.command_name', 'list'), help=u"""Returns a list of all the EKMS private endpoints in the specified compartment. \n[Command Reference](listEkmsPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
diff --git a/services/key_management/src/oci_cli_kms_crypto/generated/kmscrypto_cli.py b/services/key_management/src/oci_cli_kms_crypto/generated/kmscrypto_cli.py
index f54e253d..6524ce56 100644
--- a/services/key_management/src/oci_cli_kms_crypto/generated/kmscrypto_cli.py
+++ b/services/key_management/src/oci_cli_kms_crypto/generated/kmscrypto_cli.py
@@ -71,7 +71,7 @@ def encrypted_data_group():
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](decrypt)""")
@cli_util.option('--ciphertext', required=True, help=u"""The encrypted data to decrypt.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key used to encrypt the ciphertext.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key used to encrypt the ciphertext.""")
@cli_util.option('--associated-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Information that can be used to provide an encryption context for the encrypted data. The length of the string representation of the associated data must be fewer than 4096 characters.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--logging-context', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Information that provides context for audit logging. You can provide this additional data as key-value pairs to include in audit logs when audit logging is enabled.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--key-version-id', help=u"""The OCID of the key version used to encrypt the ciphertext.""")
@@ -113,7 +113,7 @@ def decrypt(ctx, from_json, ciphertext, key_id, associated_data, logging_context
@encrypted_data_group.command(name=cli_util.override('kms_crypto.encrypt.command_name', 'encrypt'), help=u"""Encrypts data using the given [EncryptDataDetails] resource. Plaintext included in the example request is a base64-encoded value of a UTF-8 string.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](encrypt)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key to encrypt with.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key to encrypt with.""")
@cli_util.option('--plaintext', required=True, help=u"""The plaintext data to encrypt.""")
@cli_util.option('--associated-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Information that can be used to provide an encryption context for the encrypted data. The length of the string representation of the associated data must be fewer than 4096 characters.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--logging-context', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Information that provides context for audit logging. You can provide this additional data as key-value pairs to include in the audit logs when audit logging is enabled.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -156,7 +156,7 @@ def encrypt(ctx, from_json, key_id, plaintext, associated_data, logging_context,
@exported_key_data_group.command(name=cli_util.override('kms_crypto.export_key.command_name', 'export-key'), help=u"""Exports a specific version of a master encryption key according to the details of the request. For their protection, keys that you create and store on a hardware security module (HSM) can never leave the HSM. You can only export keys stored on the server. For export, the key version is encrypted by an RSA public key that you provide. This operation is not supported for keys having protection mode `EXTERNAL`.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](exportKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the master encryption key associated with the key version you want to export.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the master encryption key associated with the key version you want to export.""")
@cli_util.option('--algorithm', required=True, type=custom_types.CliCaseInsensitiveChoice(["RSA_OAEP_AES_SHA256", "RSA_OAEP_SHA256"]), help=u"""The encryption algorithm to use to encrypt exportable key material from a software-backed key. Specifying `RSA_OAEP_AES_SHA256` invokes the RSA AES key wrap mechanism, which generates a temporary AES key. The temporary AES key is wrapped by the RSA public wrapping key provided along with the request, creating a wrapped temporary AES key. The temporary AES key is also used to wrap the exportable key material. The wrapped temporary AES key and the wrapped exportable key material are concatenated, producing concatenated blob output that jointly represents them. Specifying `RSA_OAEP_SHA256` means that the software key is wrapped by the RSA public wrapping key provided along with the request.""")
@cli_util.option('--public-key', required=True, help=u"""The PEM format of the 2048-bit, 3072-bit, or 4096-bit RSA wrapping key in your possession that you want to use to encrypt the key.""")
@cli_util.option('--key-version-id', help=u"""The OCID of the specific key version to export. If not specified, the service exports the current key version.""")
@@ -193,7 +193,7 @@ def export_key(ctx, from_json, key_id, algorithm, public_key, key_version_id, lo
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](generateDataEncryptionKey)""")
@cli_util.option('--include-plaintext-key', required=True, type=click.BOOL, help=u"""If true, the generated key is also returned unencrypted.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the master encryption key to encrypt the generated data encryption key with.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the master encryption key to encrypt the generated data encryption key with.""")
@cli_util.option('--key-shape', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--associated-data', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Information that can be used to provide an encryption context for the encrypted data. The length of the string representation of the associated data must be fewer than 4096 characters.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--logging-context', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Information that provides context for audit logging. You can provide this additional data by formatting it as key-value pairs to include in audit logs when audit logging is enabled.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -230,7 +230,7 @@ def generate_data_encryption_key(ctx, from_json, include_plaintext_key, key_id,
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](sign)""")
@cli_util.option('--message', required=True, help=u"""The base64-encoded binary data object denoting the message or message digest to sign. You can have a message up to 4096 bytes in size. To sign a larger message, provide the message digest.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key used to sign the message.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key used to sign the message.""")
@cli_util.option('--signing-algorithm', required=True, type=custom_types.CliCaseInsensitiveChoice(["SHA_224_RSA_PKCS_PSS", "SHA_256_RSA_PKCS_PSS", "SHA_384_RSA_PKCS_PSS", "SHA_512_RSA_PKCS_PSS", "SHA_224_RSA_PKCS1_V1_5", "SHA_256_RSA_PKCS1_V1_5", "SHA_384_RSA_PKCS1_V1_5", "SHA_512_RSA_PKCS1_V1_5", "ECDSA_SHA_256", "ECDSA_SHA_384", "ECDSA_SHA_512"]), help=u"""The algorithm to use to sign the message or message digest. For RSA keys, supported signature schemes include PKCS #1 and RSASSA-PSS, along with different hashing algorithms. For ECDSA keys, ECDSA is the supported signature scheme with different hashing algorithms. When you pass a message digest for signing, ensure that you specify the same hashing algorithm as used when creating the message digest.""")
@cli_util.option('--key-version-id', help=u"""The OCID of the key version used to sign the message.""")
@cli_util.option('--message-type', type=custom_types.CliCaseInsensitiveChoice(["RAW", "DIGEST"]), help=u"""Denotes whether the value of the message parameter is a raw message or a message digest. The default value, `RAW`, indicates a message. To indicate a message digest, use `DIGEST`.""")
@@ -270,7 +270,7 @@ def sign(ctx, from_json, message, key_id, signing_algorithm, key_version_id, mes
@verified_data_group.command(name=cli_util.override('kms_crypto.verify.command_name', 'verify'), help=u"""Verifies a digital signature that was generated by the [Sign] operation by using the public key of the same asymmetric key that was used to sign the data. If you want to validate the digital signature outside of the service, you can do so by using the public key of the asymmetric key. This operation is not supported for keys having protection mode `EXTERNAL`.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](verify)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key used to sign the message.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key used to sign the message.""")
@cli_util.option('--key-version-id', required=True, help=u"""The OCID of the key version used to sign the message.""")
@cli_util.option('--signature', required=True, help=u"""The base64-encoded binary data object denoting the cryptographic signature generated for the message.""")
@cli_util.option('--message', required=True, help=u"""The base64-encoded binary data object denoting the message or message digest to sign. You can have a message up to 4096 bytes in size. To sign a larger message, provide the message digest.""")
diff --git a/services/key_management/src/oci_cli_kms_hsm_cluster/generated/kmshsmcluster_cli.py b/services/key_management/src/oci_cli_kms_hsm_cluster/generated/kmshsmcluster_cli.py
index 640f6085..4d14cbc7 100644
--- a/services/key_management/src/oci_cli_kms_hsm_cluster/generated/kmshsmcluster_cli.py
+++ b/services/key_management/src/oci_cli_kms_hsm_cluster/generated/kmshsmcluster_cli.py
@@ -92,7 +92,7 @@ def cancel_hsm_cluster_deletion(ctx, from_json, wait_for_state, max_wait_seconds
@hsm_cluster_group.command(name=cli_util.override('kms_hsm_cluster.change_hsm_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a HSM Cluster resource to a different compartment within the same tenancy. \n[Command Reference](changeHsmClusterCompartment)""")
@cli_util.option('--hsm-cluster-id', required=True, help=u"""The OCID of the HSM Cluster. This is a unique identifier assigned to each hsmCluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the hsm cluster to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the hsm cluster to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -122,7 +122,7 @@ def change_hsm_cluster_compartment(ctx, from_json, hsm_cluster_id, compartment_i
@hsm_cluster_group.command(name=cli_util.override('kms_hsm_cluster.create_hsm_cluster.command_name', 'create'), help=u"""Creates a new HSM cluster resource. \n[Command Reference](createHsmCluster)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create this HSM cluster resource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create this HSM cluster resource.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the HSM cluster resource. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -281,7 +281,7 @@ def get_pre_co_user_credentials(ctx, from_json, hsm_cluster_id):
@hsm_cluster_group.command(name=cli_util.override('kms_hsm_cluster.list_hsm_clusters.command_name', 'list'), help=u"""Lists all HSM cluster resources contained within the specified compartment.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning read operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](listHsmClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `TIMECREATED` is descending. The default order for `DISPLAYNAME` is ascending.""")
diff --git a/services/key_management/src/oci_cli_kms_management/generated/kmsmanagement_cli.py b/services/key_management/src/oci_cli_kms_management/generated/kmsmanagement_cli.py
index a47afd27..477d8fb5 100644
--- a/services/key_management/src/oci_cli_kms_management/generated/kmsmanagement_cli.py
+++ b/services/key_management/src/oci_cli_kms_management/generated/kmsmanagement_cli.py
@@ -56,7 +56,7 @@ def replication_status_details_group():
@key_group.command(name=cli_util.override('kms_management.backup_key.command_name', 'backup'), help=u"""Backs up an encrypted file that contains all key versions and metadata of the specified key so that you can restore the key later. The file also contains the metadata of the vault that the key belonged to.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](backupKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@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.""")
@cli_util.option('--backup-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -117,7 +117,7 @@ def backup_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@key_group.command(name=cli_util.override('kms_management.backup_key_backup_location_bucket.command_name', 'backup-key-backup-location-bucket'), help=u"""Backs up an encrypted file that contains all key versions and metadata of the specified key so that you can restore the key later. The file also contains the metadata of the vault that the key belonged to.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](backupKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--backup-location-namespace', required=True, help=u"""""")
@cli_util.option('--backup-location-bucket-name', required=True, help=u"""""")
@cli_util.option('--backup-location-object-name', required=True, help=u"""""")
@@ -183,7 +183,7 @@ def backup_key_backup_location_bucket(ctx, from_json, wait_for_state, max_wait_s
@key_group.command(name=cli_util.override('kms_management.backup_key_backup_location_uri.command_name', 'backup-key-backup-location-uri'), help=u"""Backs up an encrypted file that contains all key versions and metadata of the specified key so that you can restore the key later. The file also contains the metadata of the vault that the key belonged to.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](backupKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--backup-location-uri', required=True, help=u"""""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -247,7 +247,7 @@ def backup_key_backup_location_uri(ctx, from_json, wait_for_state, max_wait_seco
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](cancelKeyDeletion)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -302,7 +302,7 @@ def cancel_key_deletion(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](cancelKeyVersionDeletion)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--key-version-id', required=True, help=u"""The OCID of the key version.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -364,8 +364,8 @@ def cancel_key_version_deletion(ctx, from_json, wait_for_state, max_wait_seconds
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](changeKeyCompartment)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that you want to move the key to.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that you want to move the key to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -399,7 +399,7 @@ def change_key_compartment(ctx, from_json, key_id, compartment_id, if_match):
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](createKey)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the master encryption key.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the master encryption key.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the key. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
@cli_util.option('--key-shape', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -480,7 +480,7 @@ def create_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](createKeyVersion)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--external-key-version-id', help=u"""Key version ID associated with the external key.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -540,7 +540,7 @@ def create_key_version(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](disableKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -595,7 +595,7 @@ def disable_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](enableKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -650,7 +650,7 @@ def enable_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -676,7 +676,7 @@ def get_key(ctx, from_json, key_id):
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getKeyVersion)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--key-version-id', required=True, help=u"""The OCID of the key version.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -705,7 +705,7 @@ def get_key_version(ctx, from_json, key_id, key_version_id):
@replication_status_details_group.command(name=cli_util.override('kms_management.get_replication_status.command_name', 'get-replication-status'), help=u"""When a vault has a replica, each operation on the vault or its resources, such as keys, is replicated and has an associated replicationId. Replication status provides details about whether the operation associated with the given replicationId has been successfully applied across replicas.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getReplicationStatus)""")
-@cli_util.option('--replication-id', required=True, help=u"""replicationId associated with an operation on a resource""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""replicationId associated with an operation on a resource""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -748,7 +748,7 @@ def get_wrapping_key(ctx, from_json, ):
@key_group.command(name=cli_util.override('kms_management.import_key.command_name', 'import'), help=u"""Imports AES and RSA keys to create a new key. The key material must be base64-encoded and wrapped by the vault's public RSA wrapping key before you can import it. Key Management supports both RSA and AES keys. The AES keys are symmetric keys of length 128 bits (16 bytes), 192 bits (24 bytes), or 256 bits (32 bytes), and the RSA keys are asymmetric keys of length 2048 bits (256 bytes), 3072 bits (384 bytes), and 4096 bits (512 bytes). Furthermore, the key length must match what you specify at the time of import. When importing an asymmetric key, only private key must be wrapped in PKCS8 format while the corresponding public key is generated internally by KMS.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](importKey)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains this key.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains this key.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the key. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
@cli_util.option('--key-shape', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wrapped-import-key', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -799,7 +799,7 @@ def import_key(ctx, from_json, compartment_id, display_name, key_shape, wrapped_
@key_version_group.command(name=cli_util.override('kms_management.import_key_version.command_name', 'import'), help=u"""Imports AES key material to create a new key version and then rotate the key to begin using the new key version. The key material must be base64-encoded and wrapped by the vault's public RSA wrapping key before you can import it. Key Management supports AES symmetric keys that are exactly 16, 24, or 32 bytes. Furthermore, the key length must match the length of the specified key and what you specify as the length at the time of import. When importing an asymmetric key, only the private key must be wrapped in PKCS8 format while the corresponding public key is generated internally by KMS.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](importKeyVersion)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--wrapped-import-key', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -839,7 +839,7 @@ def import_key_version(ctx, from_json, key_id, wrapped_import_key, defined_tags,
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](listKeyVersions)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `TIMECREATED` is descending. The default order for `DISPLAYNAME` is ascending.""")
@@ -900,7 +900,7 @@ def list_key_versions(ctx, from_json, all_pages, page_size, key_id, limit, page,
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management read operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](listKeys)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `TIMECREATED` is descending. The default order for `DISPLAYNAME` is ascending.""")
@@ -1100,7 +1100,7 @@ def restore_key_from_object_store_backup_location_uri(ctx, from_json, backup_loc
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](scheduleKeyDeletion)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--time-of-deletion', type=custom_types.CLI_DATETIME, help=u"""An optional property to indicate when to delete the vault, expressed in [RFC 3339] timestamp format. The specified time must be between 7 and 30 days from when the request is received. If this property is missing, it will be set to 30 days from the time of the request by default.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ENABLING", "ENABLED", "DISABLING", "DISABLED", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -1163,7 +1163,7 @@ def schedule_key_deletion(ctx, from_json, wait_for_state, max_wait_seconds, wait
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](scheduleKeyVersionDeletion)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--key-version-id', required=True, help=u"""The OCID of the key version.""")
@cli_util.option('--time-of-deletion', type=custom_types.CLI_DATETIME, help=u"""An optional property to indicate when to delete the key version, expressed in [RFC 3339] timestamp format. The specified time must be between 7 and 30 days from the time when the request is received. If this property is missing, it will be set to 30 days from the time of the request by default.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@@ -1231,7 +1231,7 @@ def schedule_key_version_deletion(ctx, from_json, wait_for_state, max_wait_secon
As a management operation, this call is subject to a Key Management limit that applies to the total number of requests across all management write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of management write operations exceeds 10 requests per second for a given tenancy.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](updateKey)""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the key.""")
@cli_util.option('--is-auto-rotation-enabled', type=click.BOOL, help=u"""A parameter specifying whether the auto key rotation is enabled or not.""")
@cli_util.option('--auto-key-rotation-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/key_management/src/oci_cli_kms_management/kms_management_cli_extended.py b/services/key_management/src/oci_cli_kms_management/kms_management_cli_extended.py
index f322c63e..7f7dae6f 100644
--- a/services/key_management/src/oci_cli_kms_management/kms_management_cli_extended.py
+++ b/services/key_management/src/oci_cli_kms_management/kms_management_cli_extended.py
@@ -9,6 +9,7 @@
from services.key_management.src.oci_cli_kms_management.generated import kmsmanagement_cli
from oci_cli import cli_util
from oci_cli import json_skeleton_utils
+from oci_cli import custom_types # noqa: F401
from oci_cli.cli_util import get_param, copy_help_from_generated_code
@@ -38,7 +39,7 @@
@kmsmanagement_cli.key_group.command(name=cli_util.override('kms_management.key_backup_from_bucket_or_uri.command_name', 'backup'), help=kmsmanagement_cli.backup_key_backup_location_bucket.help)
-@cli_util.option('--key-id', required=True, help=copy_help_from_generated_code(kmsmanagement_cli.backup_key_backup_location_bucket, 'key_id', remove_required=True))
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=copy_help_from_generated_code(kmsmanagement_cli.backup_key_backup_location_bucket, 'key_id', remove_required=True))
@cli_util.option('--namespace', help=copy_help_from_generated_code(kmsmanagement_cli.backup_key_backup_location_bucket, 'backup_location_namespace', remove_required=True))
@cli_util.option('--bucket-name', help=copy_help_from_generated_code(kmsmanagement_cli.backup_key_backup_location_bucket, 'backup_location_bucket_name', remove_required=True))
@cli_util.option('--object-name', help=copy_help_from_generated_code(kmsmanagement_cli.backup_key_backup_location_bucket, 'backup_location_object_name', remove_required=True))
diff --git a/services/key_management/src/oci_cli_kms_vault/generated/kmsvault_cli.py b/services/key_management/src/oci_cli_kms_vault/generated/kmsvault_cli.py
index 5a7b4abb..f2fd0bfc 100644
--- a/services/key_management/src/oci_cli_kms_vault/generated/kmsvault_cli.py
+++ b/services/key_management/src/oci_cli_kms_vault/generated/kmsvault_cli.py
@@ -40,7 +40,7 @@ def vault_group():
@vault_group.command(name=cli_util.override('kms_vault.backup_vault.command_name', 'backup'), help=u"""Backs up an encrypted file that contains all the metadata of a vault so that you can restore the vault later. You can backup a vault whether or not it contains keys. This operation only backs up the metadata of the vault, and does not include key metadata. \n[Command Reference](backupVault)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@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.""")
@cli_util.option('--backup-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-include-keys', type=click.BOOL, help=u"""A Boolean value that indicates whether the Keys should be included during backing up the Vault.""")
@@ -103,7 +103,7 @@ def backup_vault(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@vault_group.command(name=cli_util.override('kms_vault.backup_vault_backup_location_bucket.command_name', 'backup-vault-backup-location-bucket'), help=u"""Backs up an encrypted file that contains all the metadata of a vault so that you can restore the vault later. You can backup a vault whether or not it contains keys. This operation only backs up the metadata of the vault, and does not include key metadata. \n[Command Reference](backupVault)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@cli_util.option('--backup-location-namespace', required=True, help=u"""""")
@cli_util.option('--backup-location-bucket-name', required=True, help=u"""""")
@cli_util.option('--backup-location-object-name', required=True, help=u"""""")
@@ -171,7 +171,7 @@ def backup_vault_backup_location_bucket(ctx, from_json, wait_for_state, max_wait
@vault_group.command(name=cli_util.override('kms_vault.backup_vault_backup_location_uri.command_name', 'backup-vault-backup-location-uri'), help=u"""Backs up an encrypted file that contains all the metadata of a vault so that you can restore the vault later. You can backup a vault whether or not it contains keys. This operation only backs up the metadata of the vault, and does not include key metadata. \n[Command Reference](backupVault)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@cli_util.option('--backup-location-uri', required=True, help=u"""""")
@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.""")
@cli_util.option('--is-include-keys', type=click.BOOL, help=u"""A Boolean value that indicates whether the Keys should be included during backing up the Vault.""")
@@ -237,7 +237,7 @@ def backup_vault_backup_location_uri(ctx, from_json, wait_for_state, max_wait_se
@vault_group.command(name=cli_util.override('kms_vault.cancel_vault_deletion.command_name', 'cancel-vault-deletion'), help=u"""Cancels the scheduled deletion of the specified vault. Canceling a scheduled deletion restores the vault and all keys in it to their respective states from before their scheduled deletion. All keys that were scheduled for deletion prior to vault deletion retain their lifecycle state and time of deletion.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](cancelVaultDeletion)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -292,8 +292,8 @@ def cancel_vault_deletion(ctx, from_json, wait_for_state, max_wait_seconds, wait
When provided, if-match is checked against the ETag values of the resource.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](changeVaultCompartment)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the vault to.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the vault to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -325,7 +325,7 @@ def change_vault_compartment(ctx, from_json, vault_id, compartment_id, if_match)
@vault_group.command(name=cli_util.override('kms_vault.create_vault.command_name', 'create'), help=u"""Creates a new vault. The type of vault you create determines key placement, pricing, and available options. Options include storage isolation, a dedicated service endpoint instead of a shared service endpoint for API calls, and either a dedicated hardware security module (HSM) or a multitenant HSM.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](createVault)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create this vault.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create this vault.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the vault. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
@cli_util.option('--vault-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["VIRTUAL_PRIVATE", "DEFAULT", "EXTERNAL"]), help=u"""The type of vault to create. Each type of vault stores the key with different degrees of isolation and has different options and pricing.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -394,7 +394,7 @@ def create_vault(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
The API is a no-op if called for same region that a vault is already replicated to. 409 if called on a vault that is already replicated to a different region. Users need to delete existing replica first before calling it with a different region.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](createVaultReplica)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@cli_util.option('--replica-region', required=True, help=u"""The region in the realm to which the vault need to be replicated to""")
@cli_util.option('--replica-vault-metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -433,7 +433,7 @@ def create_vault_replica(ctx, from_json, vault_id, replica_region, replica_vault
The API is a no-op if called for same region that a vault is already replicated to. 409 if called on a vault that is already replicated to a different region. Users need to delete existing replica first before calling it with a different region.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](createVaultReplica)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@cli_util.option('--replica-region', required=True, help=u"""The region in the realm to which the vault need to be replicated to""")
@cli_util.option('--replica-vault-metadata-private-endpoint-id', required=True, help=u"""OCID of the EKMS private endpoint in the replica region and must be in ACTIVE state""")
@cli_util.option('--replica-vault-metadata-idcs-account-name-url', required=True, help=u"""Replica region URL of the IDCS domain""")
@@ -473,7 +473,7 @@ def create_vault_replica_replica_external_vault_metadata(ctx, from_json, vault_i
@vault_group.command(name=cli_util.override('kms_vault.delete_vault_replica.command_name', 'delete-vault-replica'), help=u"""Deletes a vault replica
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](deleteVaultReplica)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@cli_util.option('--replica-region', required=True, help=u"""The region in the realm on which the replica should be deleted""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -506,7 +506,7 @@ def delete_vault_replica(ctx, from_json, vault_id, replica_region, if_match):
@vault_group.command(name=cli_util.override('kms_vault.get_vault.command_name', 'get'), help=u"""Gets the specified vault's configuration information.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning read operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](getVault)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -528,7 +528,7 @@ def get_vault(ctx, from_json, vault_id):
@vault_usage_group.command(name=cli_util.override('kms_vault.get_vault_usage.command_name', 'get'), help=u"""Gets the count of keys and key versions in the specified vault to calculate usage against service limits. \n[Command Reference](getVaultUsage)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -552,7 +552,7 @@ def get_vault_usage(ctx, from_json, vault_id):
@vault_group.command(name=cli_util.override('kms_vault.list_vault_replicas.command_name', 'list-vault-replicas'), help=u"""Lists the replicas for a vault
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](listVaultReplicas)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@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.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@@ -614,7 +614,7 @@ def list_vault_replicas(ctx, from_json, all_pages, page_size, vault_id, if_match
@vault_group.command(name=cli_util.override('kms_vault.list_vaults.command_name', 'list'), help=u"""Lists the vaults in the specified compartment.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning read operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning read operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](listVaults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `TIMECREATED` is descending. The default order for `DISPLAYNAME` is ascending.""")
@@ -668,7 +668,7 @@ def list_vaults(ctx, from_json, all_pages, page_size, compartment_id, limit, pag
@vault_group.command(name=cli_util.override('kms_vault.restore_vault_from_file.command_name', 'restore-vault-from-file'), help=u"""Restores a vault from an encrypted backup file. If a vault with the same OCID already exists, this operation returns a response with a 409 HTTP status error code. \n[Command Reference](restoreVaultFromFile)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--restore-vault-from-file-details', required=True, help=u"""The encrypted backup file to upload to restore the vault.""")
@cli_util.option('--content-length', type=click.INT, help=u"""The content length of the body.""")
@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.""")
@@ -702,7 +702,7 @@ def restore_vault_from_file(ctx, from_json, compartment_id, restore_vault_from_f
@vault_group.command(name=cli_util.override('kms_vault.restore_vault_from_object_store.command_name', 'restore-vault-from-object-store'), help=u"""Restores a vault from an encrypted backup file stored in Oracle Cloud Infrastructure Object Storage. If a vault with the same OCID already exists, this operation returns a response with a 409 HTTP status error code. \n[Command Reference](restoreVaultFromObjectStore)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@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.""")
@cli_util.option('--backup-location', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'backup-location': {'module': 'key_management', 'class': 'BackupLocation'}})
@@ -732,7 +732,7 @@ def restore_vault_from_object_store(ctx, from_json, compartment_id, if_match, ba
@vault_group.command(name=cli_util.override('kms_vault.restore_vault_from_object_store_backup_location_bucket.command_name', 'restore-vault-from-object-store-backup-location-bucket'), help=u"""Restores a vault from an encrypted backup file stored in Oracle Cloud Infrastructure Object Storage. If a vault with the same OCID already exists, this operation returns a response with a 409 HTTP status error code. \n[Command Reference](restoreVaultFromObjectStore)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--backup-location-namespace', required=True, help=u"""""")
@cli_util.option('--backup-location-bucket-name', required=True, help=u"""""")
@cli_util.option('--backup-location-object-name', required=True, help=u"""""")
@@ -767,7 +767,7 @@ def restore_vault_from_object_store_backup_location_bucket(ctx, from_json, compa
@vault_group.command(name=cli_util.override('kms_vault.restore_vault_from_object_store_backup_location_uri.command_name', 'restore-vault-from-object-store-backup-location-uri'), help=u"""Restores a vault from an encrypted backup file stored in Oracle Cloud Infrastructure Object Storage. If a vault with the same OCID already exists, this operation returns a response with a 409 HTTP status error code. \n[Command Reference](restoreVaultFromObjectStore)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--backup-location-uri', required=True, help=u"""""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -800,7 +800,7 @@ def restore_vault_from_object_store_backup_location_uri(ctx, from_json, compartm
@vault_group.command(name=cli_util.override('kms_vault.schedule_vault_deletion.command_name', 'schedule-vault-deletion'), help=u"""Schedules the deletion of the specified vault. This sets the lifecycle state of the vault and all keys in it that are not already scheduled for deletion to `PENDING_DELETION` and then deletes them after the retention period ends. The lifecycle state and time of deletion for keys already scheduled for deletion won't change. If any keys in the vault are scheduled to be deleted after the specified time of deletion for the vault, the call is rejected with the error code 409.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](scheduleVaultDeletion)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@cli_util.option('--time-of-deletion', type=custom_types.CLI_DATETIME, help=u"""An optional property indicating when to delete the vault, expressed in [RFC 3339] timestamp format. The specified time must be between 7 and 30 days from the time when the request is received. If this property is missing, it will be set to 30 days from the time of the request by default.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "PENDING_DELETION", "SCHEDULING_DELETION", "CANCELLING_DELETION", "UPDATING", "BACKUP_IN_PROGRESS", "RESTORING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -861,7 +861,7 @@ def schedule_vault_deletion(ctx, from_json, wait_for_state, max_wait_seconds, wa
@vault_group.command(name=cli_util.override('kms_vault.update_vault.command_name', 'update'), help=u"""Updates the properties of a vault. Specifically, you can update the `displayName`, `freeformTags`, and `definedTags` properties. Furthermore, the vault must be in an ACTIVE or CREATING state to be updated.
As a provisioning operation, this call is subject to a Key Management limit that applies to the total number of requests across all provisioning write operations. Key Management might throttle this call to reject an otherwise valid request when the total rate of provisioning write operations exceeds 10 requests per second for a given tenancy. \n[Command Reference](updateVault)""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly name for the vault. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/key_management/src/oci_cli_kms_vault/kms_vault_cli_extended.py b/services/key_management/src/oci_cli_kms_vault/kms_vault_cli_extended.py
index 801940d7..39908846 100644
--- a/services/key_management/src/oci_cli_kms_vault/kms_vault_cli_extended.py
+++ b/services/key_management/src/oci_cli_kms_vault/kms_vault_cli_extended.py
@@ -6,6 +6,7 @@
from services.key_management.src.oci_cli_kms_vault.generated import kmsvault_cli
from oci_cli import cli_util
from oci_cli import json_skeleton_utils
+from oci_cli import custom_types # noqa: F401
from oci_cli.cli_util import get_param, copy_help_from_generated_code
# oci kms management vault backup-vault-backup-location-bucket
@@ -36,7 +37,7 @@
@kmsvault_cli.vault_group.command(name=cli_util.override('kmsvault_cli.vault_backup_from_bucket_or_uri.command_name', 'backup'), help=kmsvault_cli.backup_vault_backup_location_bucket.help)
-@cli_util.option('--vault-id', required=True, help=copy_help_from_generated_code(kmsvault_cli.backup_vault_backup_location_bucket, 'vault_id', remove_required=True))
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=copy_help_from_generated_code(kmsvault_cli.backup_vault_backup_location_bucket, 'vault_id', remove_required=True))
@cli_util.option('--namespace', help=copy_help_from_generated_code(kmsvault_cli.backup_vault_backup_location_bucket, 'backup_location_namespace', remove_required=True))
@cli_util.option('--bucket-name', help=copy_help_from_generated_code(kmsvault_cli.backup_vault_backup_location_bucket, 'backup_location_bucket_name', remove_required=True))
@cli_util.option('--object-name', help=copy_help_from_generated_code(kmsvault_cli.backup_vault_backup_location_bucket, 'backup_location_object_name', remove_required=True))
@@ -85,7 +86,7 @@ def vault_backup_from_bucket_or_uri(ctx, **kwargs):
@kmsvault_cli.vault_group.command(name=cli_util.override('kmsvault_cli.vault_restore_from_bucket_or_uri.command_name', 'restore'), help=kmsvault_cli.restore_vault_from_object_store_backup_location_bucket.help)
-@cli_util.option('--compartment-id', required=True, help=copy_help_from_generated_code(kmsvault_cli.restore_vault_from_object_store_backup_location_bucket, 'compartment_id', remove_required=True))
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=copy_help_from_generated_code(kmsvault_cli.restore_vault_from_object_store_backup_location_bucket, 'compartment_id', remove_required=True))
@cli_util.option('--namespace', help=copy_help_from_generated_code(kmsvault_cli.restore_vault_from_object_store_backup_location_bucket, 'backup_location_namespace', remove_required=True))
@cli_util.option('--bucket-name', help=copy_help_from_generated_code(kmsvault_cli.restore_vault_from_object_store_backup_location_bucket, 'backup_location_bucket_name', remove_required=True))
@cli_util.option('--object-name', help=copy_help_from_generated_code(kmsvault_cli.restore_vault_from_object_store_backup_location_bucket, 'backup_location_object_name', remove_required=True))
diff --git a/services/license_manager/src/oci_cli_license_manager/generated/licensemanager_cli.py b/services/license_manager/src/oci_cli_license_manager/generated/licensemanager_cli.py
index e07ed8a9..e1c3000b 100644
--- a/services/license_manager/src/oci_cli_license_manager/generated/licensemanager_cli.py
+++ b/services/license_manager/src/oci_cli_license_manager/generated/licensemanager_cli.py
@@ -102,7 +102,7 @@ def bulk_upload_template_group():
@bulk_upload_license_records_details_group.command(name=cli_util.override('license_manager.bulk_upload_license_records.command_name', 'bulk-upload-license-records'), help=u"""Bulk upload the product licenses and license records for a given compartment. \n[Command Reference](bulkUploadLicenseRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] where license records are created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] where license records are created.""")
@cli_util.option('--file-name', required=True, help=u"""Name of the file that is being uploaded.""")
@cli_util.option('--file-content', required=True, help=u"""The file to be uploaded.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -208,7 +208,7 @@ def create_license_record(ctx, from_json, wait_for_state, max_wait_seconds, wait
@product_license_group.command(name=cli_util.override('license_manager.create_product_license.command_name', 'create'), help=u"""Creates a new product license. \n[Command Reference](createProductLicense)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] where product licenses are created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] where product licenses are created.""")
@cli_util.option('--is-vendor-oracle', required=True, type=click.BOOL, help=u"""Specifies if the product license vendor is Oracle or a third party.""")
@cli_util.option('--display-name', required=True, help=u"""Name of the product license.""")
@cli_util.option('--license-unit', required=True, type=custom_types.CliCaseInsensitiveChoice(["OCPU", "NAMED_USER_PLUS", "PROCESSORS"]), help=u"""The product license unit.""")
@@ -426,7 +426,7 @@ def get_bulk_upload_template(ctx, from_json, ):
@configuration_group.command(name=cli_util.override('license_manager.get_configuration.command_name', 'get'), help=u"""Retrieves configuration for a compartment. \n[Command Reference](getConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -445,7 +445,7 @@ def get_configuration(ctx, from_json, compartment_id):
@license_metric_group.command(name=cli_util.override('license_manager.get_license_metric.command_name', 'get'), help=u"""Retrieves the license metrics for a given compartment. \n[Command Reference](getLicenseMetric)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Indicates if the given compartment is the root compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -570,7 +570,7 @@ def list_license_records(ctx, from_json, all_pages, page_size, product_license_i
@product_license_consumer_collection_group.command(name=cli_util.override('license_manager.list_product_license_consumers.command_name', 'list-product-license-consumers'), help=u"""Retrieves the product license consumers for a particular product license ID. \n[Command Reference](listProductLicenseConsumers)""")
@cli_util.option('--product-license-id', required=True, help=u"""Unique product license identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Indicates if the given compartment is the root compartment.""")
@@ -634,7 +634,7 @@ def list_product_license_consumers(ctx, from_json, all_pages, page_size, product
@product_license_collection_group.command(name=cli_util.override('license_manager.list_product_licenses.command_name', 'list-product-licenses'), help=u"""Retrieves all the product licenses from a given compartment. \n[Command Reference](listProductLicenses)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Indicates if the given compartment is the root compartment.""")
@@ -695,7 +695,7 @@ def list_product_licenses(ctx, from_json, all_pages, page_size, compartment_id,
@top_utilized_product_license_collection_group.command(name=cli_util.override('license_manager.list_top_utilized_product_licenses.command_name', 'list-top-utilized-product-licenses'), help=u"""Retrieves the top utilized product licenses for a given compartment. \n[Command Reference](listTopUtilizedProductLicenses)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Indicates if the given compartment is the root compartment.""")
@@ -756,7 +756,7 @@ def list_top_utilized_product_licenses(ctx, from_json, all_pages, page_size, com
@top_utilized_resource_collection_group.command(name=cli_util.override('license_manager.list_top_utilized_resources.command_name', 'list-top-utilized-resources'), help=u"""Retrieves the top utilized resources for a given compartment. \n[Command Reference](listTopUtilizedResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Indicates if the given compartment is the root compartment.""")
@@ -820,7 +820,7 @@ def list_top_utilized_resources(ctx, from_json, all_pages, page_size, compartmen
@configuration_group.command(name=cli_util.override('license_manager.update_configuration.command_name', 'update'), help=u"""Updates the configuration for the compartment. \n[Command Reference](updateConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] used for the license record, product license, and configuration.""")
@cli_util.option('--email-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of email IDs associated with the configuration.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
diff --git a/services/limits/src/oci_cli_limits/generated/limits_cli.py b/services/limits/src/oci_cli_limits/generated/limits_cli.py
index c2b396c8..5a543c9a 100644
--- a/services/limits/src/oci_cli_limits/generated/limits_cli.py
+++ b/services/limits/src/oci_cli_limits/generated/limits_cli.py
@@ -62,9 +62,9 @@ def resource_availability_group():
@resource_availability_group.command(name=cli_util.override('limits.get_resource_availability.command_name', 'get'), help=u"""For a given compartmentId, resource limit name, and scope, returns the following: * The number of available resources associated with the given limit. * The usage in the selected compartment for the given limit. If the subscription ID is provided, then usage for resource created in that subscription will be returned. Note that not all resource limits support this API. If the value is not available, the API returns a 404 response. \n[Command Reference](getResourceAvailability)""")
@cli_util.option('--service-name', required=True, help=u"""The service name of the target quota.""")
@cli_util.option('--limit-name', required=True, help=u"""The limit name for which to fetch the data.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment for which data is being fetched.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment for which data is being fetched.""")
@cli_util.option('--availability-domain', help=u"""This field is mandatory if the scopeType of the target resource limit is AD. Otherwise, this field should be omitted. If the above requirements are not met, the API returns a 400 - InvalidParameter response.""")
-@cli_util.option('--subscription-id', help=u"""The subscription OCID assigned to the tenant.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The subscription OCID assigned to the tenant.""")
@cli_util.option('--external-location', help=u"""External cloud provider location""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -98,8 +98,8 @@ def get_resource_availability(ctx, from_json, service_name, limit_name, compartm
@limit_definition_group.command(name=cli_util.override('limits.list_limit_definitions.command_name', 'list'), help=u"""Includes a list of resource limits that are currently supported. If the subscription ID is provided, then only resource limits supported by the subscription will be returned. If the `areQuotasSupported` property is true, you can create quota policies on top of this limit at the compartment level. \n[Command Reference](listLimitDefinitions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
-@cli_util.option('--subscription-id', help=u"""The subscription OCID assigned to the tenant.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The subscription OCID assigned to the tenant.""")
@cli_util.option('--service-name', help=u"""The target service name.""")
@cli_util.option('--name', help=u"""Optional field, filter for a specific resource limit.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["name", "description"]), help=u"""The field to sort by.""")
@@ -161,9 +161,9 @@ def list_limit_definitions(ctx, from_json, all_pages, page_size, compartment_id,
@limit_value_group.command(name=cli_util.override('limits.list_limit_values.command_name', 'list'), help=u"""Includes a full list of resource limits belonging to a given service. If the subscription ID is provided, the limit value for the subscription will be returned. \n[Command Reference](listLimitValues)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--service-name', required=True, help=u"""The target service name.""")
-@cli_util.option('--subscription-id', help=u"""The subscription OCID assigned to the tenant.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The subscription OCID assigned to the tenant.""")
@cli_util.option('--external-location', help=u"""External cloud provider location""")
@cli_util.option('--scope-type', type=custom_types.CliCaseInsensitiveChoice(["GLOBAL", "REGION", "AD"]), help=u"""Filter entries by scope type.""")
@cli_util.option('--availability-domain', help=u"""Filter entries by availability domain. This implies that only AD-specific values are returned.""")
@@ -236,12 +236,12 @@ def list_limit_values(ctx, from_json, all_pages, page_size, compartment_id, serv
@service_group.command(name=cli_util.override('limits.list_services.command_name', 'list'), help=u"""Returns the list of supported services. If subscription ID is provided then only services supported by subscription will be returned. This includes the programmatic service name, along with the friendly service name. \n[Command Reference](listServices)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["name", "description"]), help=u"""The field to sort by.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'. By default, it is ascending.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
-@cli_util.option('--subscription-id', help=u"""The subscription OCID assigned to the tenant.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The subscription OCID assigned to the tenant.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/limits/src/oci_cli_quotas/generated/quotas_cli.py b/services/limits/src/oci_cli_quotas/generated/quotas_cli.py
index 09bbfd8b..feec1a26 100644
--- a/services/limits/src/oci_cli_quotas/generated/quotas_cli.py
+++ b/services/limits/src/oci_cli_quotas/generated/quotas_cli.py
@@ -98,7 +98,7 @@ def add_quota_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@quota_group.command(name=cli_util.override('quotas.create_quota.command_name', 'create'), help=u"""Creates a new quota with the details supplied. \n[Command Reference](createQuota)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the resource this quota applies to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the resource this quota applies to.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the quota.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the quota during creation. The name must be unique across all quotas in the tenancy and cannot be changed.""")
@cli_util.option('--statements', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of quota statements written in the declarative quota statement language.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -256,7 +256,7 @@ def get_quota(ctx, from_json, quota_id):
@quota_group.command(name=cli_util.override('quotas.list_quotas.command_name', 'list'), help=u"""Lists all quotas on resources from the given compartment. \n[Command Reference](listQuotas)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the parent compartment (remember that the tenancy is simply the root compartment).""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--name', help=u"""name""")
diff --git a/services/load_balancer/src/oci_cli_load_balancer/generated/loadbalancer_cli.py b/services/load_balancer/src/oci_cli_load_balancer/generated/loadbalancer_cli.py
index 85fcf6be..7820f304 100644
--- a/services/load_balancer/src/oci_cli_load_balancer/generated/loadbalancer_cli.py
+++ b/services/load_balancer/src/oci_cli_load_balancer/generated/loadbalancer_cli.py
@@ -232,8 +232,8 @@ def network_security_groups_group():
@load_balancer_group.command(name=cli_util.override('lb.change_load_balancer_compartment.command_name', 'change-compartment'), help=u"""Moves a load balancer 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](changeLoadBalancerCompartment)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to move.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the load balancer to.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the load balancer to.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -305,7 +305,7 @@ def change_load_balancer_compartment(ctx, from_json, wait_for_state, max_wait_se
@cli_util.option('--port', required=True, type=click.INT, help=u"""The communication port for the backend server.
Example: `8080`""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set and servers.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set and servers.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set to add the backend server to.
Example: `example_backend_set`""")
@@ -422,7 +422,7 @@ def create_backend(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
Example: `LEAST_CONNECTIONS`""")
@cli_util.option('--health-checker', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer on which to add a backend set.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer on which to add a backend set.""")
@cli_util.option('--backends', type=custom_types.CLI_COMPLEX_TYPE, help=u"""
This option is a JSON list with items of type BackendDetails. For documentation on BackendDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/loadbalancer/20170115/datatypes/BackendDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -519,7 +519,7 @@ def create_backend_set(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--certificate-name', required=True, help=u"""A friendly name for the certificate bundle. It must be unique and it cannot be changed. Valid certificate bundle names include only alphanumeric characters, dashes, and underscores. Certificate bundle names cannot contain spaces. Avoid entering confidential information.
Example: `example_certificate_bundle`""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer on which to add the certificate bundle.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer on which to add the certificate bundle.""")
@cli_util.option('--passphrase', help=u"""A passphrase for encrypted private keys. This is needed only if you created your certificate with a passphrase.""")
@cli_util.option('--private-key', help=u"""The SSL private key for your certificate, in PEM format.
@@ -619,7 +619,7 @@ def create_certificate(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--hostname', required=True, help=u"""A virtual hostname. For more information about virtual hostname string construction, see [Managing Request Routing].
Example: `app.example.com`""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to add the hostname to.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to add the hostname to.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -698,7 +698,7 @@ def create_hostname(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--name', required=True, help=u"""A friendly name for the listener. It must be unique and it cannot be changed. Avoid entering confidential information.
Example: `example_listener`""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer on which to add a listener.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer on which to add a listener.""")
@cli_util.option('--hostname-names', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of hostname resource names.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--path-route-set-name', help=u"""Deprecated. Please use `routingPolicies` instead.
@@ -811,7 +811,7 @@ def create_listener(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
After you send your request, the new object's state will temporarily be PROVISIONING. Before using the object, first make sure its state has changed to RUNNING.
When you create a load balancer, the system assigns an IP address. To get the IP address, use the [GetLoadBalancer] operation. \n[Command Reference](createLoadBalancer)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to create the load balancer.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to create the load balancer.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `example_load_balancer`""")
@@ -1028,7 +1028,7 @@ def create_load_balancer(ctx, from_json, wait_for_state, max_wait_seconds, wait_
Example: `example_path_route_set`""")
@cli_util.option('--path-routes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The set of path route rules.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to add the path route set to.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to add the path route set to.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -1100,7 +1100,7 @@ def create_path_route_set(ctx, from_json, wait_for_state, max_wait_seconds, wait
Example: `example_routing_rules`""")
@cli_util.option('--condition-language-version', required=True, type=custom_types.CliCaseInsensitiveChoice(["V1"]), help=u"""The version of the language in which `condition` of `rules` are composed.""")
@cli_util.option('--rules', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of routing rules.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to add the routing policy rule list to.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to add the routing policy rule list to.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -1168,7 +1168,7 @@ def create_routing_policy(ctx, from_json, wait_for_state, max_wait_seconds, wait
@rule_set_group.command(name=cli_util.override('lb.create_rule_set.command_name', 'create'), help=u"""Creates a new rule set associated with the specified load balancer. For more information, see [Managing Rule Sets]. \n[Command Reference](createRuleSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--name', required=True, help=u"""The name for this set of rules. It must be unique and it cannot be changed. Avoid entering confidential information.
Example: `example_rule_set`""")
@@ -1263,7 +1263,7 @@ def create_rule_set(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
\"AES128-SHA\" \"AES256-SHA\" \"CAMELLIA128-SHA\" \"CAMELLIA256-SHA\" \"DES-CBC3-SHA\" \"DH-DSS-AES128-SHA\" \"DH-DSS-AES256-SHA\" \"DH-DSS-CAMELLIA128-SHA\" \"DH-DSS-CAMELLIA256-SHA\" \"DH-DSS-DES-CBC3-SHAv\" \"DH-DSS-SEED-SHA\" \"DH-RSA-AES128-SHA\" \"DH-RSA-AES256-SHA\" \"DH-RSA-CAMELLIA128-SHA\" \"DH-RSA-CAMELLIA256-SHA\" \"DH-RSA-DES-CBC3-SHA\" \"DH-RSA-SEED-SHA\" \"DHE-DSS-AES128-SHA\" \"DHE-DSS-AES256-SHA\" \"DHE-DSS-CAMELLIA128-SHA\" \"DHE-DSS-CAMELLIA256-SHA\" \"DHE-DSS-DES-CBC3-SHA\" \"DHE-DSS-SEED-SHA\" \"DHE-RSA-AES128-SHA\" \"DHE-RSA-AES256-SHA\" \"DHE-RSA-CAMELLIA128-SHA\" \"DHE-RSA-CAMELLIA256-SHA\" \"DHE-RSA-DES-CBC3-SHA\" \"DHE-RSA-SEED-SHA\" \"ECDH-ECDSA-AES128-SHA\" \"ECDH-ECDSA-AES256-SHA\" \"ECDH-ECDSA-DES-CBC3-SHA\" \"ECDH-ECDSA-RC4-SHA\" \"ECDH-RSA-AES128-SHA\" \"ECDH-RSA-AES256-SHA\" \"ECDH-RSA-DES-CBC3-SHA\" \"ECDH-RSA-RC4-SHA\" \"ECDHE-ECDSA-AES128-SHA\" \"ECDHE-ECDSA-AES256-SHA\" \"ECDHE-ECDSA-DES-CBC3-SHA\" \"ECDHE-ECDSA-RC4-SHA\" \"ECDHE-RSA-AES128-SHA\" \"ECDHE-RSA-AES256-SHA\" \"ECDHE-RSA-DES-CBC3-SHA\" \"ECDHE-RSA-RC4-SHA\" \"IDEA-CBC-SHA\" \"KRB5-DES-CBC3-MD5\" \"KRB5-DES-CBC3-SHA\" \"KRB5-IDEA-CBC-MD5\" \"KRB5-IDEA-CBC-SHA\" \"KRB5-RC4-MD5\" \"KRB5-RC4-SHA\" \"PSK-3DES-EDE-CBC-SHA\" \"PSK-AES128-CBC-SHA\" \"PSK-AES256-CBC-SHA\" \"PSK-RC4-SHA\" \"RC4-MD5\" \"RC4-SHA\" \"SEED-SHA\"
example: `[\"ECDHE-RSA-AES256-GCM-SHA384\",\"ECDHE-ECDSA-AES256-GCM-SHA384\",\"ECDHE-RSA-AES128-GCM-SHA256\"]`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the associated load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the associated load balancer.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -1330,7 +1330,7 @@ def create_ssl_cipher_suite(ctx, from_json, wait_for_state, max_wait_seconds, wa
@backend_group.command(name=cli_util.override('lb.delete_backend.command_name', 'delete'), help=u"""Removes a backend server from a given load balancer and backend set. \n[Command Reference](deleteBackend)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set and server.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set and server.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set associated with the backend server.
Example: `example_backend_set`""")
@@ -1408,7 +1408,7 @@ def delete_backend(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@backend_set_group.command(name=cli_util.override('lb.delete_backend_set.command_name', 'delete'), help=u"""Deletes the specified backend set. Note that deleting a backend set removes its backend servers from the load balancer.
Before you can delete a backend set, you must remove it from any active listeners. \n[Command Reference](deleteBackendSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set to delete.
Example: `example_backend_set`""")
@@ -1477,7 +1477,7 @@ def delete_backend_set(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@certificate_group.command(name=cli_util.override('lb.delete_certificate.command_name', 'delete'), help=u"""Deletes an SSL certificate bundle from a load balancer. \n[Command Reference](deleteCertificate)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the certificate bundle to be deleted.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the certificate bundle to be deleted.""")
@cli_util.option('--certificate-name', required=True, help=u"""The name of the certificate bundle to delete.
Example: `example_certificate_bundle`""")
@@ -1546,7 +1546,7 @@ def delete_certificate(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@hostname_group.command(name=cli_util.override('lb.delete_hostname.command_name', 'delete'), help=u"""Deletes a hostname resource from the specified load balancer. \n[Command Reference](deleteHostname)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the hostname to delete.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the hostname to delete.""")
@cli_util.option('--name', required=True, help=u"""The name of the hostname resource to delete.
Example: `example_hostname_001`""")
@@ -1615,7 +1615,7 @@ def delete_hostname(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@listener_group.command(name=cli_util.override('lb.delete_listener.command_name', 'delete'), help=u"""Deletes a listener from a load balancer. \n[Command Reference](deleteListener)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the listener to delete.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the listener to delete.""")
@cli_util.option('--listener-name', required=True, help=u"""The name of the listener to delete.
Example: `example_listener`""")
@@ -1684,7 +1684,7 @@ def delete_listener(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@load_balancer_group.command(name=cli_util.override('lb.delete_load_balancer.command_name', 'delete'), help=u"""Stops a load balancer and removes it from service. \n[Command Reference](deleteLoadBalancer)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to delete.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to delete.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -1748,7 +1748,7 @@ def delete_load_balancer(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@path_route_set_group.command(name=cli_util.override('lb.delete_path_route_set.command_name', 'delete'), help=u"""Deletes a path route set from the specified load balancer.
To delete a path route rule from a path route set, use the [UpdatePathRouteSet] operation. \n[Command Reference](deletePathRouteSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the path route set to delete.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the path route set to delete.""")
@cli_util.option('--path-route-set-name', required=True, help=u"""The name of the path route set to delete.
Example: `example_path_route_set`""")
@@ -1819,7 +1819,7 @@ def delete_path_route_set(ctx, from_json, wait_for_state, max_wait_seconds, wait
@routing_policy_group.command(name=cli_util.override('lb.delete_routing_policy.command_name', 'delete'), help=u"""Deletes a routing policy from the specified load balancer.
To delete a routing rule from a routing policy, use the [UpdateRoutingPolicy] operation. \n[Command Reference](deleteRoutingPolicy)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the routing policy to delete.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the routing policy to delete.""")
@cli_util.option('--routing-policy-name', required=True, help=u"""The name of the routing policy to delete.
Example: `example_routing_policy`""")
@@ -1890,7 +1890,7 @@ def delete_routing_policy(ctx, from_json, wait_for_state, max_wait_seconds, wait
@rule_set_group.command(name=cli_util.override('lb.delete_rule_set.command_name', 'delete'), help=u"""Deletes a rule set from the specified load balancer.
To delete a rule from a rule set, use the [UpdateRuleSet] operation. \n[Command Reference](deleteRuleSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--rule-set-name', required=True, help=u"""The name of the rule set to delete.
Example: `example_rule_set`""")
@@ -1959,7 +1959,7 @@ def delete_rule_set(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@ssl_cipher_suite_group.command(name=cli_util.override('lb.delete_ssl_cipher_suite.command_name', 'delete'), help=u"""Deletes an SSL cipher suite from a load balancer. \n[Command Reference](deleteSSLCipherSuite)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the associated load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the associated load balancer.""")
@cli_util.option('--name', required=True, help=u"""The name of the SSL cipher suite to delete.
example: `example_cipher_suite`""")
@@ -2028,7 +2028,7 @@ def delete_ssl_cipher_suite(ctx, from_json, wait_for_state, max_wait_seconds, wa
@backend_group.command(name=cli_util.override('lb.get_backend.command_name', 'get'), help=u"""Gets the specified backend server's configuration information. \n[Command Reference](getBackend)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set and server.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set and server.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set that includes the backend server.
Example: `example_backend_set`""")
@@ -2073,7 +2073,7 @@ def get_backend(ctx, from_json, load_balancer_id, backend_set_name, backend_name
@backend_health_group.command(name=cli_util.override('lb.get_backend_health.command_name', 'get'), help=u"""Gets the current health status of the specified backend server. \n[Command Reference](getBackendHealth)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend server health status to be retrieved.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend server health status to be retrieved.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set associated with the backend server to retrieve the health status for.
Example: `example_backend_set`""")
@@ -2118,7 +2118,7 @@ def get_backend_health(ctx, from_json, load_balancer_id, backend_set_name, backe
@backend_set_group.command(name=cli_util.override('lb.get_backend_set.command_name', 'get'), help=u"""Gets the specified backend set's configuration information. \n[Command Reference](getBackendSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set to retrieve.
Example: `example_backend_set`""")
@@ -2156,7 +2156,7 @@ def get_backend_set(ctx, from_json, load_balancer_id, backend_set_name, if_match
@backend_set_health_group.command(name=cli_util.override('lb.get_backend_set_health.command_name', 'get'), help=u"""Gets the health status for the specified backend set. \n[Command Reference](getBackendSetHealth)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set health status to be retrieved.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set health status to be retrieved.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set to retrieve the health status for.
Example: `example_backend_set`""")
@@ -2194,7 +2194,7 @@ def get_backend_set_health(ctx, from_json, load_balancer_id, backend_set_name, i
@health_checker_group.command(name=cli_util.override('lb.get_health_checker.command_name', 'get'), help=u"""Gets the health check policy information for a given load balancer and backend set. \n[Command Reference](getHealthChecker)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the health check policy to be retrieved.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the health check policy to be retrieved.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set associated with the health check policy to be retrieved.
Example: `example_backend_set`""")
@@ -2232,7 +2232,7 @@ def get_health_checker(ctx, from_json, load_balancer_id, backend_set_name, if_ma
@hostname_group.command(name=cli_util.override('lb.get_hostname.command_name', 'get'), help=u"""Gets the specified hostname resource's configuration information. \n[Command Reference](getHostname)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--name', required=True, help=u"""The name of the hostname resource to retrieve.
Example: `example_hostname_001`""")
@@ -2270,7 +2270,7 @@ def get_hostname(ctx, from_json, load_balancer_id, name, if_match):
@load_balancer_group.command(name=cli_util.override('lb.get_load_balancer.command_name', 'get'), help=u"""Gets the specified load balancer's configuration information. \n[Command Reference](getLoadBalancer)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to retrieve.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to retrieve.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -2301,7 +2301,7 @@ def get_load_balancer(ctx, from_json, load_balancer_id, if_match):
@load_balancer_health_group.command(name=cli_util.override('lb.get_load_balancer_health.command_name', 'get'), help=u"""Gets the health status for the specified load balancer. \n[Command Reference](getLoadBalancerHealth)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to return health status for.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to return health status for.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -2332,7 +2332,7 @@ def get_load_balancer_health(ctx, from_json, load_balancer_id, if_match):
@path_route_set_group.command(name=cli_util.override('lb.get_path_route_set.command_name', 'get'), help=u"""Gets the specified path route set's configuration information. \n[Command Reference](getPathRouteSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--path-route-set-name', required=True, help=u"""The name of the path route set to retrieve.
Example: `example_path_route_set`""")
@@ -2370,7 +2370,7 @@ def get_path_route_set(ctx, from_json, load_balancer_id, path_route_set_name, if
@routing_policy_group.command(name=cli_util.override('lb.get_routing_policy.command_name', 'get'), help=u"""Gets the specified routing policy. \n[Command Reference](getRoutingPolicy)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--routing-policy-name', required=True, help=u"""The name of the routing policy to retrieve.
Example: `example_routing_policy`""")
@@ -2408,7 +2408,7 @@ def get_routing_policy(ctx, from_json, load_balancer_id, routing_policy_name, if
@rule_set_group.command(name=cli_util.override('lb.get_rule_set.command_name', 'get'), help=u"""Gets the specified set of rules. \n[Command Reference](getRuleSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--rule-set-name', required=True, help=u"""The name of the rule set to retrieve.
Example: `example_rule_set`""")
@@ -2446,7 +2446,7 @@ def get_rule_set(ctx, from_json, load_balancer_id, rule_set_name, if_match):
@ssl_cipher_suite_group.command(name=cli_util.override('lb.get_ssl_cipher_suite.command_name', 'get'), help=u"""Gets the specified SSL cipher suite's configuration information. \n[Command Reference](getSSLCipherSuite)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the associated load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the associated load balancer.""")
@cli_util.option('--name', required=True, help=u"""The name of the SSL cipher suite to retrieve.
example: `example_cipher_suite`""")
@@ -2506,7 +2506,7 @@ def get_work_request(ctx, from_json, work_request_id):
@backend_set_group.command(name=cli_util.override('lb.list_backend_sets.command_name', 'list'), help=u"""Lists all backend sets associated with a given load balancer. \n[Command Reference](listBackendSets)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend sets to retrieve.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend sets to retrieve.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -2538,7 +2538,7 @@ def list_backend_sets(ctx, from_json, all_pages, load_balancer_id, if_match):
@backend_group.command(name=cli_util.override('lb.list_backends.command_name', 'list'), help=u"""Lists the backend servers for a given load balancer and backend set. \n[Command Reference](listBackends)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set and servers.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set and servers.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set associated with the backend servers.
Example: `example_backend_set`""")
@@ -2577,7 +2577,7 @@ def list_backends(ctx, from_json, all_pages, load_balancer_id, backend_set_name,
@certificate_group.command(name=cli_util.override('lb.list_certificates.command_name', 'list'), help=u"""Lists all SSL certificates bundles associated with a given load balancer. \n[Command Reference](listCertificates)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the certificate bundles to be listed.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the certificate bundles to be listed.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -2609,7 +2609,7 @@ def list_certificates(ctx, from_json, all_pages, load_balancer_id, if_match):
@hostname_group.command(name=cli_util.override('lb.list_hostnames.command_name', 'list'), help=u"""Lists all hostname resources associated with the specified load balancer. \n[Command Reference](listHostnames)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the hostnames to retrieve.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the hostnames to retrieve.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -2643,7 +2643,7 @@ def list_hostnames(ctx, from_json, all_pages, load_balancer_id, if_match):
@listener_rule_group.command(name=cli_util.override('lb.list_listener_rules.command_name', 'list'), help=u"""Lists all of the rules from all of the rule sets associated with the specified listener. The response organizes the rules in the following order:
* Access control rules * Allow method rules * Request header rules * Response header rules \n[Command Reference](listListenerRules)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the listener.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the listener.""")
@cli_util.option('--listener-name', required=True, help=u"""The name of the listener the rules are associated with. Example: `example_listener`""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
@@ -2680,7 +2680,7 @@ def list_listener_rules(ctx, from_json, all_pages, load_balancer_id, listener_na
@load_balancer_health_group.command(name=cli_util.override('lb.list_load_balancer_healths.command_name', 'list'), help=u"""Lists the summary health statuses for all load balancers in the specified compartment. \n[Command Reference](listLoadBalancerHealths)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the load balancers to return health status information for.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the load balancers to return health status information for.""")
@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].
Example: `50`""")
@@ -2732,7 +2732,7 @@ def list_load_balancer_healths(ctx, from_json, all_pages, page_size, compartment
@load_balancer_group.command(name=cli_util.override('lb.list_load_balancers.command_name', 'list'), help=u"""Lists all load balancers in the specified compartment. \n[Command Reference](listLoadBalancers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the load balancers to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the load balancers to list.""")
@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].
Example: `50`""")
@@ -2805,7 +2805,7 @@ def list_load_balancers(ctx, from_json, all_pages, page_size, compartment_id, li
@path_route_set_group.command(name=cli_util.override('lb.list_path_route_sets.command_name', 'list'), help=u"""Lists all path route sets associated with the specified load balancer. \n[Command Reference](listPathRouteSets)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the path route sets to retrieve.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the path route sets to retrieve.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -2837,7 +2837,7 @@ def list_path_route_sets(ctx, from_json, all_pages, load_balancer_id, if_match):
@load_balancer_policy_group.command(name=cli_util.override('lb.list_policies.command_name', 'list-policies'), help=u"""Lists the available load balancer policies. \n[Command Reference](listPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the load balancer policies to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the load balancer policies to list.""")
@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].
Example: `50`""")
@@ -2889,7 +2889,7 @@ def list_policies(ctx, from_json, all_pages, page_size, compartment_id, limit, p
@load_balancer_protocol_group.command(name=cli_util.override('lb.list_protocols.command_name', 'list-protocols'), help=u"""Lists all supported traffic protocols. \n[Command Reference](listProtocols)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the load balancer protocols to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the load balancer protocols to list.""")
@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].
Example: `50`""")
@@ -2941,7 +2941,7 @@ def list_protocols(ctx, from_json, all_pages, page_size, compartment_id, limit,
@routing_policy_group.command(name=cli_util.override('lb.list_routing_policies.command_name', 'list'), help=u"""Lists all routing policies associated with the specified load balancer. \n[Command Reference](listRoutingPolicies)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the routing policies.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the routing policies.""")
@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].
Example: `50`""")
@@ -3005,7 +3005,7 @@ def list_routing_policies(ctx, from_json, all_pages, page_size, load_balancer_id
@rule_set_group.command(name=cli_util.override('lb.list_rule_sets.command_name', 'list'), help=u"""Lists all rule sets associated with the specified load balancer. \n[Command Reference](listRuleSets)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -3037,7 +3037,7 @@ def list_rule_sets(ctx, from_json, all_pages, load_balancer_id, if_match):
@load_balancer_shape_group.command(name=cli_util.override('lb.list_shapes.command_name', 'list-shapes'), help=u"""Lists the valid load balancer shapes. \n[Command Reference](listShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the load balancer shapes to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the load balancer shapes to list.""")
@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].
Example: `50`""")
@@ -3089,7 +3089,7 @@ def list_shapes(ctx, from_json, all_pages, page_size, compartment_id, limit, pag
@ssl_cipher_suite_group.command(name=cli_util.override('lb.list_ssl_cipher_suites.command_name', 'list'), help=u"""Lists all SSL cipher suites associated with the specified load balancer. \n[Command Reference](listSSLCipherSuites)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the associated load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the associated load balancer.""")
@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 for the load balancer. This value can be obtained from a GET or POST response for any resource of that load balancer.
For example, the eTag returned by getListener can be specified as the ifMatch for updateRuleSets.
@@ -3121,7 +3121,7 @@ def list_ssl_cipher_suites(ctx, from_json, all_pages, load_balancer_id, if_match
@work_request_group.command(name=cli_util.override('lb.list_work_requests.command_name', 'list'), help=u"""Lists the work requests for a given load balancer. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the work requests to retrieve.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the work requests to retrieve.""")
@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].
Example: `50`""")
@@ -3190,7 +3190,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, load_balancer_id, l
@cli_util.option('--offline', required=True, type=click.BOOL, help=u"""Whether the load balancer should treat this server as offline. Offline servers receive no incoming traffic.
Example: `false`""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set and server.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set and server.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set associated with the backend server.
Example: `example_backend_set`""")
@@ -3286,7 +3286,7 @@ def update_backend(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
Example: `LEAST_CONNECTIONS`""")
@cli_util.option('--backends', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--health-checker', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the backend set.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the backend set.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set to update.
Example: `example_backend_set`""")
@@ -3407,7 +3407,7 @@ def update_backend_set(ctx, from_json, force, wait_for_state, max_wait_seconds,
@cli_util.option('--response-body-regex', required=True, help=u"""A regular expression for parsing the response body from the backend server.
Example: `^((?!false).|\\s)*$`""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the health check policy to be updated.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the health check policy to be updated.""")
@cli_util.option('--backend-set-name', required=True, help=u"""The name of the backend set associated with the health check policy to be retrieved.
Example: `example_backend_set`""")
@@ -3502,7 +3502,7 @@ def update_health_checker(ctx, from_json, wait_for_state, max_wait_seconds, wait
@hostname_group.command(name=cli_util.override('lb.update_hostname.command_name', 'update'), help=u"""Overwrites an existing hostname resource on the specified load balancer. Use this operation to change a virtual hostname. \n[Command Reference](updateHostname)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the virtual hostname to update.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the virtual hostname to update.""")
@cli_util.option('--name', required=True, help=u"""The name of the hostname resource to update.
Example: `example_hostname_001`""")
@@ -3589,7 +3589,7 @@ def update_hostname(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--protocol', required=True, help=u"""The protocol on which the listener accepts connection requests. To get a list of valid protocols, use the [ListProtocols] operation.
Example: `HTTP`""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the listener to update.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the listener to update.""")
@cli_util.option('--listener-name', required=True, help=u"""The name of the listener to update.
Example: `example_listener`""")
@@ -3701,7 +3701,7 @@ def update_listener(ctx, from_json, force, wait_for_state, max_wait_seconds, wai
@load_balancer_group.command(name=cli_util.override('lb.update_load_balancer.command_name', 'update'), help=u"""Updates a load balancer's configuration. \n[Command Reference](updateLoadBalancer)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to update.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to update.""")
@cli_util.option('--display-name', help=u"""The user-friendly display name for the load balancer. It does not have to be unique, and it is changeable. Avoid entering confidential information.
Example: `example_load_balancer`""")
@@ -3853,7 +3853,7 @@ def update_load_balancer(ctx, from_json, force, wait_for_state, max_wait_seconds
@load_balancer_group.command(name=cli_util.override('lb.update_load_balancer_shape.command_name', 'update-load-balancer-shape'), help=u"""Update the shape of a load balancer. The new shape can be larger or smaller compared to existing shape of the LB. The service will try to perform this operation in the least disruptive way to existing connections, but there is a possibility that they might be lost during the LB resizing process. The new shape becomes effective as soon as the related work request completes successfully, i.e. when reshaping to a larger shape, the LB will start accepting larger bandwidth and when reshaping to a smaller one, the LB will be accepting smaller bandwidth. \n[Command Reference](updateLoadBalancerShape)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer whose shape will be updated.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer whose shape will be updated.""")
@cli_util.option('--shape-name', required=True, help=u"""The new shape name for the load balancer.
Allowed values are : * 10Mbps * 100Mbps * 400Mbps * 8000Mbps * Flexible
@@ -3935,7 +3935,7 @@ def update_load_balancer_shape(ctx, from_json, force, wait_for_state, max_wait_s
@network_security_groups_group.command(name=cli_util.override('lb.update_network_security_groups.command_name', 'update'), help=u"""Updates the network security groups associated with the specified load balancer. \n[Command Reference](updateNetworkSecurityGroups)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer to update the NSGs for.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer to update the NSGs for.""")
@cli_util.option('--network-security-group-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of NSG [OCIDs] associated with the load balancer.
During the load balancer's creation, the service adds the new load balancer to the specified NSGs.
@@ -4020,7 +4020,7 @@ def update_network_security_groups(ctx, from_json, force, wait_for_state, max_wa
To add a new path route rule to a path route set, the `pathRoutes` in the [UpdatePathRouteSetDetails] object must include both the new path route rule to add and the existing path route rules to retain. \n[Command Reference](updatePathRouteSet)""")
@cli_util.option('--path-routes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The set of path route rules.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the path route set to update.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the path route set to update.""")
@cli_util.option('--path-route-set-name', required=True, help=u"""The name of the path route set to update.
Example: `example_path_route_set`""")
@@ -4101,7 +4101,7 @@ def update_path_route_set(ctx, from_json, force, wait_for_state, max_wait_second
To add a new routing rule to a routing policy, the body must include both the new routing rule to add and the existing rules to retain. \n[Command Reference](updateRoutingPolicy)""")
@cli_util.option('--rules', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of routing rules.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the load balancer associated with the routing policy to update.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the load balancer associated with the routing policy to update.""")
@cli_util.option('--routing-policy-name', required=True, help=u"""The name of the routing policy to update.
Example: `example_routing_policy_name`""")
@@ -4185,7 +4185,7 @@ def update_routing_policy(ctx, from_json, force, wait_for_state, max_wait_second
@rule_set_group.command(name=cli_util.override('lb.update_rule_set.command_name', 'update'), help=u"""Overwrites an existing set of rules on the specified load balancer. Use this operation to add or alter the rules in a rule set.
To add a new rule to a set, the body must include both the new rule to add and the existing rules to retain. \n[Command Reference](updateRuleSet)""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the specified load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the specified load balancer.""")
@cli_util.option('--rule-set-name', required=True, help=u"""The name of the rule set to update.
Example: `example_rule_set`""")
@@ -4281,7 +4281,7 @@ def update_rule_set(ctx, from_json, force, wait_for_state, max_wait_seconds, wai
\"AES128-SHA\" \"AES256-SHA\" \"CAMELLIA128-SHA\" \"CAMELLIA256-SHA\" \"DES-CBC3-SHA\" \"DH-DSS-AES128-SHA\" \"DH-DSS-AES256-SHA\" \"DH-DSS-CAMELLIA128-SHA\" \"DH-DSS-CAMELLIA256-SHA\" \"DH-DSS-DES-CBC3-SHAv\" \"DH-DSS-SEED-SHA\" \"DH-RSA-AES128-SHA\" \"DH-RSA-AES256-SHA\" \"DH-RSA-CAMELLIA128-SHA\" \"DH-RSA-CAMELLIA256-SHA\" \"DH-RSA-DES-CBC3-SHA\" \"DH-RSA-SEED-SHA\" \"DHE-DSS-AES128-SHA\" \"DHE-DSS-AES256-SHA\" \"DHE-DSS-CAMELLIA128-SHA\" \"DHE-DSS-CAMELLIA256-SHA\" \"DHE-DSS-DES-CBC3-SHA\" \"DHE-DSS-SEED-SHA\" \"DHE-RSA-AES128-SHA\" \"DHE-RSA-AES256-SHA\" \"DHE-RSA-CAMELLIA128-SHA\" \"DHE-RSA-CAMELLIA256-SHA\" \"DHE-RSA-DES-CBC3-SHA\" \"DHE-RSA-SEED-SHA\" \"ECDH-ECDSA-AES128-SHA\" \"ECDH-ECDSA-AES256-SHA\" \"ECDH-ECDSA-DES-CBC3-SHA\" \"ECDH-ECDSA-RC4-SHA\" \"ECDH-RSA-AES128-SHA\" \"ECDH-RSA-AES256-SHA\" \"ECDH-RSA-DES-CBC3-SHA\" \"ECDH-RSA-RC4-SHA\" \"ECDHE-ECDSA-AES128-SHA\" \"ECDHE-ECDSA-AES256-SHA\" \"ECDHE-ECDSA-DES-CBC3-SHA\" \"ECDHE-ECDSA-RC4-SHA\" \"ECDHE-RSA-AES128-SHA\" \"ECDHE-RSA-AES256-SHA\" \"ECDHE-RSA-DES-CBC3-SHA\" \"ECDHE-RSA-RC4-SHA\" \"IDEA-CBC-SHA\" \"KRB5-DES-CBC3-MD5\" \"KRB5-DES-CBC3-SHA\" \"KRB5-IDEA-CBC-MD5\" \"KRB5-IDEA-CBC-SHA\" \"KRB5-RC4-MD5\" \"KRB5-RC4-SHA\" \"PSK-3DES-EDE-CBC-SHA\" \"PSK-AES128-CBC-SHA\" \"PSK-AES256-CBC-SHA\" \"PSK-RC4-SHA\" \"RC4-MD5\" \"RC4-SHA\" \"SEED-SHA\"
example: `[\"ECDHE-RSA-AES256-GCM-SHA384\",\"ECDHE-ECDSA-AES256-GCM-SHA384\",\"ECDHE-RSA-AES128-GCM-SHA256\"]`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--load-balancer-id', required=True, help=u"""The [OCID] of the associated load balancer.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the associated load balancer.""")
@cli_util.option('--name', required=True, help=u"""The name of the SSL cipher suite to update.
example: `example_cipher_suite`""")
diff --git a/services/lockbox/src/oci_cli_lockbox/generated/lockbox_cli.py b/services/lockbox/src/oci_cli_lockbox/generated/lockbox_cli.py
index 339bda6f..29f58c80 100644
--- a/services/lockbox/src/oci_cli_lockbox/generated/lockbox_cli.py
+++ b/services/lockbox/src/oci_cli_lockbox/generated/lockbox_cli.py
@@ -131,7 +131,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@approval_template_group.command(name=cli_util.override('oma.change_approval_template_compartment.command_name', 'change-compartment'), help=u"""Moves an ApprovalTemplate resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeApprovalTemplateCompartment)""")
@cli_util.option('--approval-template-id', required=True, help=u"""The unique identifier (OCID) of the approval template.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -162,7 +162,7 @@ def change_approval_template_compartment(ctx, from_json, approval_template_id, c
@lockbox_group.command(name=cli_util.override('oma.change_lockbox_compartment.command_name', 'change-compartment'), help=u"""Moves a Lockbox resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeLockboxCompartment)""")
@cli_util.option('--lockbox-id', required=True, help=u"""unique Lockbox identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -261,7 +261,7 @@ def create_access_request(ctx, from_json, wait_for_state, max_wait_seconds, wait
@approval_template_group.command(name=cli_util.override('oma.create_approval_template.command_name', 'create'), help=u"""Creates a new approval template. \n[Command Reference](createApprovalTemplate)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
@cli_util.option('--display-name', help=u"""approval template identifier""")
@cli_util.option('--approver-levels', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--auto-approval-state', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""The auto approval state of the lockbox.""")
@@ -331,7 +331,7 @@ def create_approval_template(ctx, from_json, wait_for_state, max_wait_seconds, w
@lockbox_group.command(name=cli_util.override('oma.create_lockbox.command_name', 'create'), help=u"""Creates a new Lockbox. \n[Command Reference](createLockbox)""")
@cli_util.option('--resource-id', required=True, help=u"""The unique identifier (OCID) of the customer's resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier (OCID) of the compartment where the resource is located.""")
@cli_util.option('--access-context-attributes', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Lockbox Identifier""")
@cli_util.option('--lockbox-partner', type=custom_types.CliCaseInsensitiveChoice(["FAAAS", "CANARY"]), help=u"""The partner using this lockbox to lock a resource.""")
@@ -897,7 +897,7 @@ def list_access_requests(ctx, from_json, all_pages, page_size, lockbox_id, id, d
@approval_template_collection_group.command(name=cli_util.override('oma.list_approval_templates.command_name', 'list-approval-templates'), help=u"""Retrieves a list of ApprovalTemplateSummary objects in a compartment. \n[Command Reference](listApprovalTemplates)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""A generic Id query param used to filter lockbox, access request and approval template by Id.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources for which their lifecycleState matches the given lifecycleState.""")
@@ -959,7 +959,7 @@ def list_approval_templates(ctx, from_json, all_pages, page_size, compartment_id
@lockbox_collection_group.command(name=cli_util.override('oma.list_lockboxes.command_name', 'list-lockboxes'), help=u"""Returns a list of Lockboxes. \n[Command Reference](listLockboxes)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""unique Lockbox identifier""")
@@ -1144,7 +1144,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('oma.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/log_analytics/src/oci_cli_log_analytics/generated/loganalytics_cli.py b/services/log_analytics/src/oci_cli_log_analytics/generated/loganalytics_cli.py
index 9c1d05aa..12a49b68 100644
--- a/services/log_analytics/src/oci_cli_log_analytics/generated/loganalytics_cli.py
+++ b/services/log_analytics/src/oci_cli_log_analytics/generated/loganalytics_cli.py
@@ -405,7 +405,7 @@ def append_lookup_data(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@storage_group.command(name=cli_util.override('log_analytics.assign_encryption_key.command_name', 'assign-encryption-key'), help=u"""This API submits a work request to assign customer encryption key. \n[Command Reference](assignEncryptionKey)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--key-id', required=True, help=u"""This is the key OCID for encryption key.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""This is the key OCID for encryption key.""")
@cli_util.option('--key-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACTIVE_DATA", "ARCHIVAL_DATA", "ALL"]), help=u"""This is the type of data to be encrypted. It can be either active or archival.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -544,7 +544,7 @@ def cancel_query_work_request(ctx, from_json, namespace_name, work_request_id, i
@ingest_time_rule_group.command(name=cli_util.override('log_analytics.change_ingest_time_rule_compartment.command_name', 'change-compartment'), help=u"""Moves the specified ingest time rule to a different compartment. \n[Command Reference](changeIngestTimeRuleCompartment)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--ingest-time-rule-id', required=True, help=u"""Unique ocid of the ingest time rule.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -580,7 +580,7 @@ def change_ingest_time_rule_compartment(ctx, from_json, namespace_name, ingest_t
@log_analytics_em_bridge_group.command(name=cli_util.override('log_analytics.change_log_analytics_em_bridge_compartment.command_name', 'change-compartment'), help=u"""Update the compartment of the log analytics enterprise manager bridge with the given id. \n[Command Reference](changeLogAnalyticsEmBridgeCompartment)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--log-analytics-em-bridge-id', required=True, help=u"""The log analytics enterprise manager bridge OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -616,7 +616,7 @@ def change_log_analytics_em_bridge_compartment(ctx, from_json, namespace_name, l
@log_analytics_entity_group.command(name=cli_util.override('log_analytics.change_log_analytics_entity_compartment.command_name', 'change-compartment'), help=u"""Update the compartment of the log analytics entity with the given id. \n[Command Reference](changeLogAnalyticsEntityCompartment)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--log-analytics-entity-id', required=True, help=u"""The log analytics entity OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -652,7 +652,7 @@ def change_log_analytics_entity_compartment(ctx, from_json, namespace_name, log_
@log_analytics_log_group_group.command(name=cli_util.override('log_analytics.change_log_analytics_log_group_compartment.command_name', 'change-compartment'), help=u"""Moves the specified log group to a different compartment. \n[Command Reference](changeLogAnalyticsLogGroupCompartment)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--log-analytics-log-group-id', required=True, help=u"""unique logAnalytics log group identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -688,7 +688,7 @@ def change_log_analytics_log_group_compartment(ctx, from_json, namespace_name, l
@log_analytics_object_collection_rule_group.command(name=cli_util.override('log_analytics.change_log_analytics_object_collection_rule_compartment.command_name', 'change-compartment'), help=u"""Move the rule from it's current compartment to the given compartment. \n[Command Reference](changeLogAnalyticsObjectCollectionRuleCompartment)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--log-analytics-object-collection-rule-id', required=True, help=u"""The Logging Analytics Object Collection Rule [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which the rule have to be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which the rule have to be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -724,7 +724,7 @@ def change_log_analytics_object_collection_rule_compartment(ctx, from_json, name
@log_analytics_lookup_group.command(name=cli_util.override('log_analytics.change_lookup_compartment.command_name', 'change-compartment'), help=u"""Moves the specified lookup to a different compartment. \n[Command Reference](changeLookupCompartment)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--lookup-name', required=True, help=u"""The name of the lookup to operate on.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the log analytics entity should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -760,7 +760,7 @@ def change_lookup_compartment(ctx, from_json, namespace_name, lookup_name, compa
@scheduled_task_group.command(name=cli_util.override('log_analytics.change_scheduled_task_compartment.command_name', 'change-compartment'), help=u"""Move the scheduled task into a different compartment within the same tenancy. \n[Command Reference](changeScheduledTaskCompartment)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--scheduled-task-id', required=True, help=u"""Unique scheduledTask id returned from task create. If invalid will lead to a 404 not found.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -862,7 +862,7 @@ def compare_content(ctx, from_json, namespace_name, content1, content2):
@ingest_time_rule_group.command(name=cli_util.override('log_analytics.create_ingest_time_rule.command_name', 'create'), help=u"""Creates a new ingest time rule in the specified compartment. You may also specify optional information such as description, defined tags, and free-form tags. \n[Command Reference](createIngestTimeRule)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--display-name', required=True, help=u"""The ingest time rule display name.""")
@cli_util.option('--conditions', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--actions', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The action(s) to be performed if the ingest time rule condition(s) are satisfied.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -934,7 +934,7 @@ def create_ingest_time_rule(ctx, from_json, wait_for_state, max_wait_seconds, wa
@ingest_time_rule_group.command(name=cli_util.override('log_analytics.create_ingest_time_rule_ingest_time_rule_field_condition.command_name', 'create-ingest-time-rule-ingest-time-rule-field-condition'), help=u"""Creates a new ingest time rule in the specified compartment. You may also specify optional information such as description, defined tags, and free-form tags. \n[Command Reference](createIngestTimeRule)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--display-name', required=True, help=u"""The ingest time rule display name.""")
@cli_util.option('--actions', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The action(s) to be performed if the ingest time rule condition(s) are satisfied.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--conditions-field-name', required=True, help=u"""The field name to be evaluated.""")
@@ -1020,7 +1020,7 @@ def create_ingest_time_rule_ingest_time_rule_field_condition(ctx, from_json, wai
@log_analytics_em_bridge_group.command(name=cli_util.override('log_analytics.create_log_analytics_em_bridge.command_name', 'create'), help=u"""Add configuration for enterprise manager bridge. Enterprise manager bridge is used to automatically add selected entities from enterprise manager cloud control. A corresponding OCI bridge configuration is required in enterprise manager. \n[Command Reference](createLogAnalyticsEmBridge)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--display-name', required=True, help=u"""Log analytics enterprise manager bridge display name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--em-entities-compartment-id', required=True, help=u"""Compartment for entities created from enterprise manager.""")
@cli_util.option('--bucket-name', required=True, help=u"""Object store bucket name where enterprise manager harvested entities will be uploaded.""")
@cli_util.option('--description', help=u"""A description for log analytics enterprise manager bridge.""")
@@ -1092,7 +1092,7 @@ def create_log_analytics_em_bridge(ctx, from_json, wait_for_state, max_wait_seco
@log_analytics_entity_group.command(name=cli_util.override('log_analytics.create_log_analytics_entity.command_name', 'create'), help=u"""Create a new log analytics entity. \n[Command Reference](createLogAnalyticsEntity)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--name', required=True, help=u"""Log analytics entity name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--entity-type-name', required=True, help=u"""Log analytics entity type name.""")
@cli_util.option('--management-agent-id', help=u"""The OCID of the Management Agent.""")
@cli_util.option('--cloud-resource-id', help=u"""The OCID of the Cloud resource which this entity is a representation of. This may be blank when the entity represents a non-cloud resource that the customer may have on their premises.""")
@@ -1228,7 +1228,7 @@ def create_log_analytics_entity_type(ctx, from_json, namespace_name, name, categ
@log_analytics_log_group_group.command(name=cli_util.override('log_analytics.create_log_analytics_log_group.command_name', 'create'), help=u"""Creates a new log group in the specified compartment with the input display name. You may also specify optional information such as description, defined tags, and free-form tags. \n[Command Reference](createLogAnalyticsLogGroup)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name that is changeable and that does not have to be unique. Format: a leading alphanumeric, followed by zero or more alphanumerics, underscores, spaces, backslashes, or hyphens in any order). No trailing spaces allowed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--description', help=u"""Description for this resource.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1270,7 +1270,7 @@ def create_log_analytics_log_group(ctx, from_json, namespace_name, display_name,
@log_analytics_object_collection_rule_group.command(name=cli_util.override('log_analytics.create_log_analytics_object_collection_rule.command_name', 'create'), help=u"""Creates a rule to collect logs from an object storage bucket. \n[Command Reference](createLogAnalyticsObjectCollectionRule)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--name', required=True, help=u"""A unique name given to the rule. The name must be unique within the tenancy, and cannot be modified.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which this rule belongs.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which this rule belongs.""")
@cli_util.option('--os-namespace', required=True, help=u"""Object Storage namespace.""")
@cli_util.option('--os-bucket-name', required=True, help=u"""Name of the Object Storage bucket.""")
@cli_util.option('--log-group-id', required=True, help=u"""Logging Analytics Log group OCID to associate the processed logs with.""")
@@ -1290,7 +1290,7 @@ def create_log_analytics_log_group(ctx, from_json, namespace_name, display_name,
@cli_util.option('--object-name-filters', type=custom_types.CLI_COMPLEX_TYPE, help=u"""When the filters are provided, only the objects matching the filters are picked up for processing. The matchType supported is exact match and accommodates wildcard \"*\". For more information on filters, see [Event Filters].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--log-type', type=custom_types.CliCaseInsensitiveChoice(["LOG", "LOG_EVENTS"]), help=u"""Type of files/objects in this object collection rule.""")
@cli_util.option('--is-force-historic-collection', type=click.BOOL, help=u"""Flag to allow historic collection if poll period overlaps with existing ACTIVE collection rule""")
-@cli_util.option('--stream-id', help=u"""A Stream OCID is required for Object Collection rules of type LIVE or HISTORIC_LIVE, which will be used by Logging Analytics while creating Event Rule and consume the event notifications created by the Object Storage.""")
+@cli_util.option('--stream-id', type=custom_types.CLI_OCID, help=u"""A Stream OCID is required for Object Collection rules of type LIVE or HISTORIC_LIVE, which will be used by Logging Analytics while creating Event Rule and consume the event notifications created by the Object Storage.""")
@cli_util.option('--stream-cursor-type', type=custom_types.CliCaseInsensitiveChoice(["DEFAULT", "TRIM_HORIZON", "LATEST", "AT_TIME"]), help=u"""Cursor type used to fetch messages from stream. When the streamCursorType is set to DEFAULT, the existing cursor position will be used if already set by any previous objection collection rule(s) using the same stream. Otherwise, the behaviour is to consume from the oldest available message in the stream. When the streamCursorType is set to TRIM_HORIZON, the behaviour is to start consuming from the oldest available message in the stream. When the streamCursorType is set to LATEST, the behavior is to start consuming messages that were published after the creation of this rule. When the streamCursorType is set to AT_TIME, the behavior is to start consuming from a given time. For more information on cursor types, see [Stream Consumer Groups].""")
@cli_util.option('--stream-cursor-time', type=custom_types.CLI_DATETIME, help=u"""The time from which to consume the objects, if streamCursorType is AT_TIME.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1416,7 +1416,7 @@ def create_log_analytics_object_collection_rule(ctx, from_json, wait_for_state,
@scheduled_task_group.command(name=cli_util.override('log_analytics.create_scheduled_task.command_name', 'create'), help=u"""Schedule a task as specified and return task info. \n[Command Reference](createScheduledTask)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--kind', required=True, type=custom_types.CliCaseInsensitiveChoice(["ACCELERATION", "STANDARD"]), help=u"""Discriminator.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--display-name', help=u"""A user-friendly name that is changeable and that does not have to be unique. Format: a leading alphanumeric, followed by zero or more alphanumerics, underscores, spaces, backslashes, or hyphens in any order). No trailing spaces allowed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1483,7 +1483,7 @@ def create_scheduled_task(ctx, from_json, wait_for_state, max_wait_seconds, wait
@scheduled_task_group.command(name=cli_util.override('log_analytics.create_scheduled_task_create_standard_task_details.command_name', 'create-scheduled-task-create-standard-task-details'), help=u"""Schedule a task as specified and return task info. \n[Command Reference](createScheduledTask)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--task-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SAVED_SEARCH", "ACCELERATION", "PURGE"]), help=u"""Task type.""")
@cli_util.option('--action', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly name that is changeable and that does not have to be unique. Format: a leading alphanumeric, followed by zero or more alphanumerics, underscores, spaces, backslashes, or hyphens in any order). No trailing spaces allowed.""")
@@ -1561,7 +1561,7 @@ def create_scheduled_task_create_standard_task_details(ctx, from_json, wait_for_
@scheduled_task_group.command(name=cli_util.override('log_analytics.create_scheduled_task_create_acceleration_task_details.command_name', 'create-scheduled-task-create-acceleration-task-details'), help=u"""Schedule a task as specified and return task info. \n[Command Reference](createScheduledTask)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--saved-search-id', required=True, help=u"""The ManagementSavedSearch id [OCID] to be accelerated.""")
@cli_util.option('--display-name', help=u"""A user-friendly name that is changeable and that does not have to be unique. Format: a leading alphanumeric, followed by zero or more alphanumerics, underscores, spaces, backslashes, or hyphens in any order). No trailing spaces allowed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1631,7 +1631,7 @@ def create_scheduled_task_create_acceleration_task_details(ctx, from_json, wait_
@log_analytics_association_group.command(name=cli_util.override('log_analytics.delete_associations.command_name', 'delete-associations'), help=u"""Deletes the associations between the sources and entities specified. \n[Command Reference](deleteAssociations)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', help=u"""The compartment ID""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment ID""")
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The information required to delete an association.
This option is a JSON list with items of type DeleteLogAnalyticsAssociation. For documentation on DeleteLogAnalyticsAssociation please see our API reference: https://docs.cloud.oracle.com/api/#/en/loganalytics/20200601/datatypes/DeleteLogAnalyticsAssociation.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2583,7 +2583,7 @@ def enable_source_event_types(ctx, from_json, namespace_name, source_name, items
@storage_group.command(name=cli_util.override('log_analytics.estimate_purge_data_size.command_name', 'estimate-purge-data-size'), help=u"""This API estimates the size of data to be purged based based on time interval, purge query etc. \n[Command Reference](estimatePurgeDataSize)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""This is the compartment OCID under which the data will be purged""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""This is the compartment OCID under which the data will be purged""")
@cli_util.option('--time-data-ended', required=True, type=custom_types.CLI_DATETIME, help=u"""This is the time before which data will be purged""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If true, purge child compartments data""")
@cli_util.option('--purge-query-string', help=u"""This is the solr data filter query, '*' means all""")
@@ -2757,7 +2757,7 @@ def export_custom_content(ctx, from_json, file, namespace_name, field_names, par
@query_details_group.command(name=cli_util.override('log_analytics.export_query_result.command_name', 'export-query-result'), help=u"""Export data based on query. Endpoint returns a stream of data. Endpoint is synchronous. Queries must deliver first result within 60 seconds or calls are subject to timeout. \n[Command Reference](exportQueryResult)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--query-string', required=True, help=u"""Query to perform.""")
@cli_util.option('--sub-system', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOG"]), help=u"""Default subsystem to qualify fields with in the queryString if not specified.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@@ -3262,7 +3262,7 @@ def filter(ctx, from_json, namespace_name, query_string, sub_system, filters):
@log_analytics_association_group.command(name=cli_util.override('log_analytics.get_association_summary.command_name', 'get-association-summary'), help=u"""Returns the count of source associations for entities in the specified compartment. \n[Command Reference](getAssociationSummary)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3546,7 +3546,7 @@ def get_log_analytics_em_bridge(ctx, from_json, namespace_name, log_analytics_em
@log_analytics_em_bridge_group.command(name=cli_util.override('log_analytics.get_log_analytics_em_bridge_summary.command_name', 'get-log-analytics-em-bridge-summary'), help=u"""Returns log analytics enterprise manager bridges summary report. \n[Command Reference](getLogAnalyticsEmBridgeSummary)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3570,7 +3570,7 @@ def get_log_analytics_em_bridge_summary(ctx, from_json, namespace_name, compartm
@log_analytics_entity_group.command(name=cli_util.override('log_analytics.get_log_analytics_entities_summary.command_name', 'get-log-analytics-entities-summary'), help=u"""Returns log analytics entities count summary report. \n[Command Reference](getLogAnalyticsEntitiesSummary)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3678,7 +3678,7 @@ def get_log_analytics_log_group(ctx, from_json, namespace_name, log_analytics_lo
@log_analytics_log_group_group.command(name=cli_util.override('log_analytics.get_log_analytics_log_groups_summary.command_name', 'get-log-analytics-log-groups-summary'), help=u"""Returns the count of log groups in a compartment. \n[Command Reference](getLogAnalyticsLogGroupsSummary)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3778,7 +3778,7 @@ def get_lookup(ctx, from_json, namespace_name, lookup_name):
@log_analytics_lookup_group.command(name=cli_util.override('log_analytics.get_lookup_summary.command_name', 'get-lookup-summary'), help=u"""Returns the count of user created and oracle defined lookups. \n[Command Reference](getLookupSummary)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', help=u"""The compartment id""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment id""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4024,7 +4024,7 @@ def get_recalled_data_size(ctx, from_json, namespace_name, time_data_started, ti
@rule_group.command(name=cli_util.override('log_analytics.get_rules_summary.command_name', 'get-rules-summary'), help=u"""Returns the count of detection rules in a compartment. \n[Command Reference](getRulesSummary)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4076,7 +4076,7 @@ def get_scheduled_task(ctx, from_json, namespace_name, scheduled_task_id):
@log_analytics_source_group.command(name=cli_util.override('log_analytics.get_source.command_name', 'get-source'), help=u"""Gets detailed information about the source with the specified name. \n[Command Reference](getSource)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--source-name', required=True, help=u"""The source name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -4335,7 +4335,7 @@ def import_custom_content(ctx, from_json, namespace_name, import_custom_content_
@log_analytics_source_group.command(name=cli_util.override('log_analytics.list_associable_entities.command_name', 'list-associable-entities'), help=u"""Lists the entities in the specified compartment which are (in)eligible for association with this source. \n[Command Reference](listAssociableEntities)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--source-name', required=True, help=u"""The source name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["ELIGIBLE", "INELIGIBLE"]), help=u"""The entity type - either eligible or ineligible for association.""")
@cli_util.option('--search-text', help=u"""The text used for filtering returned entities. Search text is applicable to the entity name and the entity description.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -4408,7 +4408,7 @@ def list_associable_entities(ctx, from_json, all_pages, page_size, namespace_nam
@log_analytics_association_group.command(name=cli_util.override('log_analytics.list_associated_entities.command_name', 'list-associated-entities'), help=u"""Lists the association details of entities in the specified compartment that are associated with at least one source. \n[Command Reference](listAssociatedEntities)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--entity-id', help=u"""The entity OCID.""")
@cli_util.option('--entity-type', help=u"""The entity type used for filtering. Only associations on an entity with the specified type will be returned.""")
@cli_util.option('--entity-type-display-name', help=u"""The entity type display name used for filtering. Only items associated with the entity with the specified type display name will be returned.""")
@@ -4608,7 +4608,7 @@ def list_categories(ctx, from_json, all_pages, page_size, namespace_name, catego
@log_analytics_config_work_request_group.command(name=cli_util.override('log_analytics.list_config_work_requests.command_name', 'list-config-work-requests'), help=u"""Returns the list of configuration work requests such as association or lookup operations, containing detailed information about them. You may paginate or limit the number of results. \n[Command Reference](listConfigWorkRequests)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeAccepted"]), help=u"""The attribute used to sort the returned work requests""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -4836,7 +4836,7 @@ def list_entity_associations(ctx, from_json, all_pages, page_size, namespace_nam
@log_analytics_association_group.command(name=cli_util.override('log_analytics.list_entity_source_associations.command_name', 'list-entity-source-associations'), help=u"""Returns the list of source associations for the specified entity. \n[Command Reference](listEntitySourceAssociations)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--entity-id', help=u"""The entity OCID.""")
@cli_util.option('--entity-type', help=u"""The entity type used for filtering. Only associations on an entity with the specified type will be returned.""")
@cli_util.option('--entity-type-display-name', help=u"""The entity type display name used for filtering. Only items associated with the entity with the specified type display name will be returned.""")
@@ -4993,7 +4993,7 @@ def list_fields(ctx, from_json, all_pages, page_size, namespace_name, is_match_a
@ingest_time_rule_group.command(name=cli_util.override('log_analytics.list_ingest_time_rules.command_name', 'list'), help=u"""Returns a list of ingest time rules in a compartment. You may limit the number of rules, provide sorting options, and filter the results. \n[Command Reference](listIngestTimeRules)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return rules whose displayName matches in whole or in part the specified value. The match is case-insensitive.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""The rule lifecycle state used for filtering. Currently supported values are ACTIVE and DELETED.""")
@cli_util.option('--condition-kind', type=custom_types.CliCaseInsensitiveChoice(["FIELD"]), help=u"""The ingest time rule condition kind used for filtering. Only rules with conditions of the specified kind will be returned.""")
@@ -5255,7 +5255,7 @@ def list_labels(ctx, from_json, all_pages, page_size, namespace_name, label_name
@log_analytics_em_bridge_group.command(name=cli_util.override('log_analytics.list_log_analytics_em_bridges.command_name', 'list'), help=u"""Return a list of log analytics enterprise manager bridges. \n[Command Reference](listLogAnalyticsEmBridges)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only log analytics enterprise manager bridge name whose name matches the entire name given. The match is case-insensitive.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETED", "NEEDS_ATTENTION"]), multiple=True, help=u"""A filter to return only log analytics enterprise manager bridges matching all the lifecycle states specified for this parameter.""")
@cli_util.option('--lifecycle-details-contains', help=u"""A filter to return only log analytics enterprise manager bridges whose lifecycleDetails contains the specified string.""")
@@ -5328,7 +5328,7 @@ def list_log_analytics_em_bridges(ctx, from_json, all_pages, page_size, namespac
@log_analytics_entity_group.command(name=cli_util.override('log_analytics.list_log_analytics_entities.command_name', 'list'), help=u"""Return a list of log analytics entities. \n[Command Reference](listLogAnalyticsEntities)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return only log analytics entities whose name matches the entire name given. The match is case-insensitive.""")
@cli_util.option('--name-contains', help=u"""A filter to return only log analytics entities whose name contains the name given. The match is case-insensitive.""")
@cli_util.option('--entity-type-name', multiple=True, help=u"""A filter to return only log analytics entities whose entityTypeName matches the entire log analytics entity type name of one of the entityTypeNames given in the list. The match is case-insensitive.""")
@@ -5585,7 +5585,7 @@ def list_log_analytics_entity_types(ctx, from_json, all_pages, page_size, namesp
@log_analytics_log_group_group.command(name=cli_util.override('log_analytics.list_log_analytics_log_groups.command_name', 'list'), help=u"""Returns a list of log groups in a compartment. You may limit the number of log groups, provide sorting options, and filter the results by specifying a display name. \n[Command Reference](listLogAnalyticsLogGroups)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only log analytics log groups whose displayName matches the entire display name given. The match is case-insensitive.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -5649,7 +5649,7 @@ def list_log_analytics_log_groups(ctx, from_json, all_pages, page_size, namespac
@log_analytics_object_collection_rule_group.command(name=cli_util.override('log_analytics.list_log_analytics_object_collection_rules.command_name', 'list'), help=u"""Gets list of collection rules. \n[Command Reference](listLogAnalyticsObjectCollectionRules)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return rules only matching with this name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""Lifecycle state filter.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -5779,7 +5779,7 @@ def list_log_sets(ctx, from_json, all_pages, page_size, namespace_name, limit, p
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["displayName", "status", "type", "updatedTime", "creationType"]), help=u"""sort by field""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ALL", "SUCCESSFUL", "FAILED", "INPROGRESS"]), help=u"""The lookup status used for filtering when fetching a list of lookups.""")
@cli_util.option('--categories', help=u"""A comma-separated list of categories used for filtering""")
-@cli_util.option('--compartment-id', help=u"""The compartment id""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment id""")
@cli_util.option('--is-hide-special', type=click.BOOL, help=u"""A flag indicating whether or not to return OMC annotated or hidden lookups.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -5908,7 +5908,7 @@ def list_meta_source_types(ctx, from_json, all_pages, page_size, namespace_name,
@namespace_group.command(name=cli_util.override('log_analytics.list_namespaces.command_name', 'list'), help=u"""Given a tenancy OCID, this API returns the namespace of the tenancy if it is valid and subscribed to the region. The result also indicates if the tenancy is onboarded with Logging Analytics. \n[Command Reference](listNamespaces)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -6319,7 +6319,7 @@ def list_properties_metadata(ctx, from_json, all_pages, page_size, namespace_nam
@query_work_request_group.command(name=cli_util.override('log_analytics.list_query_work_requests.command_name', 'list'), help=u"""List active asynchronous queries. \n[Command Reference](listQueryWorkRequests)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--mode', type=custom_types.CliCaseInsensitiveChoice(["ALL", "FOREGROUND", "BACKGROUND"]), help=u"""Filter based on job execution mode""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -6515,7 +6515,7 @@ def list_recalled_info(ctx, from_json, all_pages, page_size, namespace_name, lim
@cli_util.option('--categories', help=u"""A comma-separated list of categories used for filtering""")
@cli_util.option('--resource-types', help=u"""A comma-separated list of resource types used for filtering. Only resources of the types specified will be returned. Examples include SOURCE, PARSER, LOOKUP, etc.""")
@cli_util.option('--resource-ids', help=u"""A comma-separated list of resource unique identifiers used for filtering. Only resources with matching unique identifiers will be returned.""")
-@cli_util.option('--compartment-id', help=u"""The compartment id""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment id""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["resourceType", "categoryName", "resourceId"]), help=u"""The attribute used to sort the returned category resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -6581,7 +6581,7 @@ def list_resource_categories(ctx, from_json, all_pages, page_size, namespace_nam
@rule_group.command(name=cli_util.override('log_analytics.list_rules.command_name', 'list'), help=u"""Returns a list of ingest time rules and scheduled tasks in a compartment. You may limit the number of items returned, provide sorting options, and filter the results. \n[Command Reference](listRules)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return rules whose displayName matches in whole or in part the specified value. The match is case-insensitive.""")
@cli_util.option('--kind', type=custom_types.CliCaseInsensitiveChoice(["INGEST_TIME", "SAVED_SEARCH", "ALL"]), help=u"""The rule kind used for filtering. Only rules of the specified kind will be returned.""")
@cli_util.option('--target-service', help=u"""The target service to use for filtering.""")
@@ -6655,7 +6655,7 @@ def list_rules(ctx, from_json, all_pages, page_size, namespace_name, compartment
@scheduled_task_group.command(name=cli_util.override('log_analytics.list_scheduled_tasks.command_name', 'list'), help=u"""Lists scheduled tasks. \n[Command Reference](listScheduledTasks)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--task-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SAVED_SEARCH", "ACCELERATION", "PURGE"]), help=u"""Required parameter to specify schedule task type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -6735,7 +6735,7 @@ def list_scheduled_tasks(ctx, from_json, all_pages, page_size, namespace_name, t
@log_analytics_association_group.command(name=cli_util.override('log_analytics.list_source_associations.command_name', 'list-source-associations'), help=u"""Returns the list of entity associations in the input compartment for the specified source. \n[Command Reference](listSourceAssociations)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--source-name', required=True, help=u"""The souce name used for filtering associations.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--entity-id', help=u"""The entity OCID.""")
@cli_util.option('--life-cycle-state', type=custom_types.CliCaseInsensitiveChoice(["ALL", "ACCEPTED", "IN_PROGRESS", "SUCCEEDED", "FAILED"]), help=u"""The life cycle state used for filtering. Only associations with the specified life cycle state will be returned.""")
@cli_util.option('--is-show-total', type=click.BOOL, help=u"""A flag indicating whether or not to return the total number of items returned.""")
@@ -7126,7 +7126,7 @@ def list_source_patterns(ctx, from_json, all_pages, page_size, namespace_name, s
@log_analytics_source_group.command(name=cli_util.override('log_analytics.list_sources.command_name', 'list-sources'), help=u"""Returns a list of sources, containing detailed information about them. You may limit the number of results, provide sorting order, and filter by information such as display name, description and entity type. \n[Command Reference](listSources)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--entity-type', help=u"""A filter to return only sources associated with entities of the specified type. The match is case-insensitive.""")
@cli_util.option('--source-display-text', help=u"""The source display text used for filtering. Only sources with the specified name or description will be returned.""")
@cli_util.option('--is-system', type=custom_types.CliCaseInsensitiveChoice(["ALL", "CUSTOM", "BUILT_IN"]), help=u"""The system value used for filtering. Only items with the specified system value will be returned. Valid values are built in, custom (for user defined items), or all (for all items, regardless of system value).""")
@@ -7213,7 +7213,7 @@ def list_sources(ctx, from_json, all_pages, page_size, namespace_name, compartme
@storage_group.command(name=cli_util.override('log_analytics.list_storage_work_request_errors.command_name', 'list-storage-work-request-errors'), help=u"""This API returns the list of work request errors if any. \n[Command Reference](listStorageWorkRequestErrors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', required=True, help=u"""Work Request Identifier [OCID] for the asynchronous request.""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -7281,7 +7281,7 @@ def list_storage_work_request_errors(ctx, from_json, all_pages, page_size, compa
@storage_group.command(name=cli_util.override('log_analytics.list_storage_work_requests.command_name', 'list-storage-work-requests'), help=u"""This API lists storage work requests. Use query parameters to narrow down or sort the result list. \n[Command Reference](listStorageWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -7292,7 +7292,7 @@ def list_storage_work_request_errors(ctx, from_json, all_pages, page_size, compa
@cli_util.option('--time-started', type=custom_types.CLI_DATETIME, help=u"""The is the query parameter of when the processing of work request was started""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-finished', type=custom_types.CLI_DATETIME, help=u"""The is the query parameter of when the processing of work request was finished""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--policy-name', help=u"""This is the query parameter of purge policy name""")
-@cli_util.option('--policy-id', help=u"""This is the query parameter of purge policy ID""")
+@cli_util.option('--policy-id', type=custom_types.CLI_OCID, help=u"""This is the query parameter of purge policy ID""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -7463,7 +7463,7 @@ def list_supported_timezones(ctx, from_json, all_pages, page_size, namespace_nam
@log_analytics_template_group.command(name=cli_util.override('log_analytics.list_templates.command_name', 'list-templates'), help=u"""Returns a list of templates, containing detailed information about them. You may limit the number of results, provide sorting order, and filter by information such as template name, type, display name and description. \n[Command Reference](listTemplates)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--type', help=u"""The template type used for filtering. Only templates of the specified type will be returned.""")
@cli_util.option('--name', help=u"""The template name used for filtering.""")
@cli_util.option('--template-display-text', help=u"""The template display text used for filtering. Only templates with the specified name or description will be returned.""")
@@ -7733,7 +7733,7 @@ def list_uploads(ctx, from_json, all_pages, page_size, namespace_name, name, nam
@log_analytics_warning_group.command(name=cli_util.override('log_analytics.list_warnings.command_name', 'list-warnings'), help=u"""Returns a list of collection warnings, containing detailed information about them. You may limit the number of results, provide sorting order, and filter by information such as start time, end time, warning type, warning state, source name, source pattern and entity name. \n[Command Reference](listWarnings)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--warning-state', type=custom_types.CliCaseInsensitiveChoice(["ALL", "SUPPRESSED", "UNSUPPRESSED"]), help=u"""The warning state used for filtering. A value of SUPPRESSED will return only suppressed warnings, a value of UNSUPPRESSED will return only unsuppressed warnings, and a value of ALL will return all warnings regardless of their suppression state. Default is UNSUPPRESSED.""")
@cli_util.option('--source-name', help=u"""The source name.""")
@cli_util.option('--source-pattern', help=u"""The source pattern used for filtering. Only warnings associated with a source with the specified pattern will be returned.""")
@@ -7940,7 +7940,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, namespace_name,
@work_request_group.command(name=cli_util.override('log_analytics.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
@@ -8185,7 +8185,7 @@ def pause_scheduled_task(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@storage_group.command(name=cli_util.override('log_analytics.purge_storage_data.command_name', 'purge-storage-data'), help=u"""This API submits a work request to purge data. Only data from log groups that the user has permission to delete will be purged. To purge all data, the user must have permission to all log groups. \n[Command Reference](purgeStorageData)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""This is the compartment OCID under which the data will be purged and required permission will be checked""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""This is the compartment OCID under which the data will be purged and required permission will be checked""")
@cli_util.option('--time-data-ended', required=True, type=custom_types.CLI_DATETIME, help=u"""This is the end of the purge time interval""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""If true, purge child compartments data""")
@cli_util.option('--purge-query-string', help=u"""This is the solr query used to filter data, '*' means all""")
@@ -8290,7 +8290,7 @@ def put_query_work_request_background(ctx, from_json, namespace_name, work_reque
@query_details_group.command(name=cli_util.override('log_analytics.query.command_name', 'query'), help=u"""Performs a log analytics search, if shouldRunAsync is false returns the query results once they become available subject to 60 second timeout. If a query is subject to exceed that time then it should be run asynchronously. Asynchronous query submissions return the queryWorkRequestId to use for execution tracking, query submission lifecycle actions and to poll for query results. \n[Command Reference](query)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--query-string', required=True, help=u"""Query to perform. Must conform to logging analytic querylanguage syntax. Syntax errors will be returned if present.""")
@cli_util.option('--sub-system', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOG"]), help=u"""Default subsystem to qualify fields with in the queryString if not specified.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to search all child compartments of the compartment Id specified in the compartmentId query parameter.""")
@@ -8408,7 +8408,7 @@ def query(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_second
@storage_group.command(name=cli_util.override('log_analytics.recall_archived_data.command_name', 'recall-archived-data'), help=u"""This API submits a work request to recall archived data based on time interval and data type. \n[Command Reference](recallArchivedData)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""This is the compartment OCID for permission checking""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""This is the compartment OCID for permission checking""")
@cli_util.option('--time-data-ended', required=True, type=custom_types.CLI_DATETIME, help=u"""This is the end of the time interval""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-data-started', required=True, type=custom_types.CLI_DATETIME, help=u"""This is the start of the time interval""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--data-type', type=custom_types.CliCaseInsensitiveChoice(["LOG", "LOOKUP"]), help=u"""This is the type of the log data to be recalled""")
@@ -8508,7 +8508,7 @@ def recall_archived_data(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@cli_util.option('--char-encoding', help=u"""The character encoding of the uploaded file.""")
@cli_util.option('--is-hidden', type=click.BOOL, help=u"""A flag indicating whether or not the new lookup should be hidden.""")
@cli_util.option('--expect', help=u"""A value of `100-continue` requests preliminary verification of the request method, path, and headers before the request body is sent. If no error results from such verification, the server will send a 100 (Continue) interim response to indicate readiness for the request body. The only allowed value for this parameter is \"100-Continue\" (case-insensitive).""")
-@cli_util.option('--compartment-id', help=u"""The compartment id""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment id""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -8549,7 +8549,7 @@ def register_lookup(ctx, from_json, namespace_name, type, register_lookup_conten
@storage_group.command(name=cli_util.override('log_analytics.release_recalled_data.command_name', 'release-recalled-data'), help=u"""This API submits a work request to release recalled data based on time interval and data type. \n[Command Reference](releaseRecalledData)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""This is the compartment OCID for permission checking""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""This is the compartment OCID for permission checking""")
@cli_util.option('--time-data-ended', required=True, type=custom_types.CLI_DATETIME, help=u"""This is the end of the time interval""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-data-started', required=True, type=custom_types.CLI_DATETIME, help=u"""This is the start of the time interval""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--data-type', type=custom_types.CliCaseInsensitiveChoice(["LOG", "LOOKUP"]), help=u"""This is the type of the recalled data to be released""")
@@ -8875,7 +8875,7 @@ def set_unprocessed_data_bucket(ctx, from_json, namespace_name, bucket_name, is_
@query_details_group.command(name=cli_util.override('log_analytics.suggest.command_name', 'suggest'), help=u"""Returns a context specific list of either commands, fields, or values to append to the end of the specified query string if applicable. \n[Command Reference](suggest)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--query-string', required=True, help=u"""Query seeking suggestions for.""")
@cli_util.option('--sub-system', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOG"]), help=u"""Default subsystem to qualify fields with in the queryString if not specified.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""Flag to search all child compartments of the compartment Id specified in the compartmentId query parameter.""")
@@ -8911,7 +8911,7 @@ def suggest(ctx, from_json, namespace_name, compartment_id, query_string, sub_sy
@log_analytics_warning_group.command(name=cli_util.override('log_analytics.suppress_warning.command_name', 'suppress-warning'), help=u"""Supresses a list of warnings. Any unsuppressed warnings in the input list would be suppressed. Warnings in the input list which are already suppressed will not be modified. \n[Command Reference](suppressWarning)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--warning-references', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of LogAnalyticsWarning references. Used as input to APIs which operate on a list. For example, the suppress warning API accepts a list of warning references and will suppress all warnings in the input list.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'warning-references': {'module': 'log_analytics', 'class': 'list[string]'}})
@cli_util.help_option
@@ -9091,7 +9091,7 @@ def test_parser(ctx, from_json, namespace_name, content, description, display_na
@log_analytics_warning_group.command(name=cli_util.override('log_analytics.unsuppress_warning.command_name', 'unsuppress-warning'), help=u"""Unsupresses a list of warnings. Any suppressed warnings in the input list would be unsuppressed. Warnings in the input list which are already unsuppressed will not be modified. \n[Command Reference](unsuppressWarning)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--warning-references', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of LogAnalyticsWarning references. Used as input to APIs which operate on a list. For example, the suppress warning API accepts a list of warning references and will suppress all warnings in the input list.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'warning-references': {'module': 'log_analytics', 'class': 'list[string]'}})
@cli_util.help_option
@@ -9125,7 +9125,7 @@ def unsuppress_warning(ctx, from_json, namespace_name, compartment_id, warning_r
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--ingest-time-rule-id', required=True, help=u"""Unique ocid of the ingest time rule.""")
@cli_util.option('--id', required=True, help=u"""The log analytics entity OCID. This ID is a reference used by log analytics features and it represents a resource that is provisioned and managed by the customer on their premises or on the cloud.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--display-name', required=True, help=u"""The ingest time rule display name.""")
@cli_util.option('--description', help=u"""Description for this resource.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -9234,7 +9234,7 @@ def update_ingest_time_rule(ctx, from_json, force, wait_for_state, max_wait_seco
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
@cli_util.option('--ingest-time-rule-id', required=True, help=u"""Unique ocid of the ingest time rule.""")
@cli_util.option('--id', required=True, help=u"""The log analytics entity OCID. This ID is a reference used by log analytics features and it represents a resource that is provisioned and managed by the customer on their premises or on the cloud.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID] .""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID] .""")
@cli_util.option('--display-name', required=True, help=u"""The ingest time rule display name.""")
@cli_util.option('--conditions-field-name', required=True, help=u"""The field name to be evaluated.""")
@cli_util.option('--conditions-field-operator', required=True, type=custom_types.CliCaseInsensitiveChoice(["EQUAL"]), help=u"""The operator to be used for evaluating the field.""")
@@ -9655,7 +9655,7 @@ def update_log_analytics_log_group(ctx, from_json, force, namespace_name, log_an
@cli_util.option('--log-set-ext-regex', help=u"""The regex to be applied against given logSetKey. Regex has to be in string escaped format.""")
@cli_util.option('--overrides', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Use this to override some property values which are defined at bucket level to the scope of object. Supported propeties for override are: logSourceName, charEncoding, entityId. Supported matchType for override are \"contains\".""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--object-name-filters', type=custom_types.CLI_COMPLEX_TYPE, help=u"""When the filters are provided, only the objects matching the filters are picked up for processing. The matchType supported is exact match and accommodates wildcard \"*\". For more information on filters, see [Event Filters].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--stream-id', help=u"""A Stream OCID is required for Object Collection rules of type LIVE or HISTORIC_LIVE, which will be used by Logging Analytics while creating Event Rule and consume the event notifications created by the Object Storage.""")
+@cli_util.option('--stream-id', type=custom_types.CLI_OCID, help=u"""A Stream OCID is required for Object Collection rules of type LIVE or HISTORIC_LIVE, which will be used by Logging Analytics while creating Event Rule and consume the event notifications created by the Object Storage.""")
@cli_util.option('--stream-cursor-type', type=custom_types.CliCaseInsensitiveChoice(["DEFAULT", "TRIM_HORIZON", "LATEST", "AT_TIME"]), help=u"""Cursor type used to fetch messages from stream. When the streamCursorType is set to DEFAULT, the existing cursor position will be used if already set by any previous objection collection rule(s) using the same stream. Otherwise, the behaviour is to consume from the oldest available message in the stream. When the streamCursorType is set to TRIM_HORIZON, the behaviour is to start consuming from the oldest available message in the stream. When the streamCursorType is set to LATEST, the behavior is to start consuming messages that were published after the creation of this rule. When the streamCursorType is set to AT_TIME, the behavior is to start consuming from a given time. For more information on cursor types, see [Stream Consumer Groups].""")
@cli_util.option('--stream-cursor-time', type=custom_types.CLI_DATETIME, help=u"""The time from which to consume the objects, if streamCursorType is AT_TIME.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -10397,7 +10397,7 @@ def upload_otlp_logs(ctx, from_json, namespace_name, opc_meta_loggrpid, upload_o
@log_analytics_association_group.command(name=cli_util.override('log_analytics.upsert_associations.command_name', 'upsert-associations'), help=u"""Creates or updates associations between sources and entities. All entities should belong to the specified input compartment. \n[Command Reference](upsertAssociations)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', help=u"""The compartment ID""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment ID""")
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The information required to create or update an association.
This option is a JSON list with items of type UpsertLogAnalyticsAssociation. For documentation on UpsertLogAnalyticsAssociation please see our API reference: https://docs.cloud.oracle.com/api/#/en/loganalytics/20200601/datatypes/UpsertLogAnalyticsAssociation.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -10935,7 +10935,7 @@ def upsert_source(ctx, from_json, namespace_name, label_conditions, data_filter_
@log_analytics_association_group.command(name=cli_util.override('log_analytics.validate_association_parameters.command_name', 'validate-association-parameters'), help=u"""Checks if the passed in entities could be associated with the specified sources. The validation is performed to ensure that the entities have the relevant property values that are used in the corresponding source patterns. \n[Command Reference](validateAssociationParameters)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Logging Analytics namespace used for the request.""")
-@cli_util.option('--compartment-id', help=u"""The compartment ID""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment ID""")
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The information required to create or update an association.
This option is a JSON list with items of type UpsertLogAnalyticsAssociation. For documentation on UpsertLogAnalyticsAssociation please see our API reference: https://docs.cloud.oracle.com/api/#/en/loganalytics/20200601/datatypes/UpsertLogAnalyticsAssociation.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/logging/src/oci_cli_logging_management/generated/loggingmanagement_cli.py b/services/logging/src/oci_cli_logging_management/generated/loggingmanagement_cli.py
index 41a44eb3..b753d4df 100644
--- a/services/logging/src/oci_cli_logging_management/generated/loggingmanagement_cli.py
+++ b/services/logging/src/oci_cli_logging_management/generated/loggingmanagement_cli.py
@@ -85,7 +85,7 @@ def log_saved_search_group():
@log_group_group.command(name=cli_util.override('logging.change_log_group_compartment.command_name', 'change-compartment'), help=u"""Moves a log group into a different compartment within the same tenancy. When provided, the If-Match is checked against the resource ETag values. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changeLogGroupCompartment)""")
@cli_util.option('--log-group-id', required=True, help=u"""OCID of a log group to work with.""")
-@cli_util.option('--compartment-id', help=u"""The compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELLING", "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.""")
@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.""")
@@ -216,7 +216,7 @@ def change_log_log_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@log_saved_search_group.command(name=cli_util.override('logging.change_log_saved_search_compartment.command_name', 'change-compartment'), help=u"""Moves a saved search 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](changeLogSavedSearchCompartment)""")
@cli_util.option('--log-saved-search-id', required=True, help=u"""OCID of the logSavedSearch.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -247,7 +247,7 @@ def change_log_saved_search_compartment(ctx, from_json, log_saved_search_id, com
@unified_agent_configuration_group.command(name=cli_util.override('logging.change_unified_agent_configuration_compartment.command_name', 'change-compartment'), help=u"""Moves the unified agent configuration into a different compartment within the same tenancy. When provided, the If-Match is checked against the ETag values of the resource. For information about moving resources between compartments, see [Moving Resources Between Compartments]. \n[Command Reference](changeUnifiedAgentConfigurationCompartment)""")
@cli_util.option('--unified-agent-configuration-id', required=True, help=u"""The OCID of the Unified Agent configuration.""")
-@cli_util.option('--compartment-id', help=u"""The OCID the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELLING", "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.""")
@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.""")
@@ -391,7 +391,7 @@ def create_log(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@log_group_group.command(name=cli_util.override('logging.create_log_group.command_name', 'create'), help=u"""Create a new log group with a unique display name. This call fails if the log group is already created with the same displayName in the compartment. \n[Command Reference](createLogGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the resource belongs to.""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly display name. This must be unique within the enclosing resource, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""Description for this resource.""")
@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].
@@ -460,7 +460,7 @@ def create_log_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@log_saved_search_group.command(name=cli_util.override('logging.create_log_saved_search.command_name', 'create'), help=u"""Creates a new LogSavedSearch. \n[Command Reference](createLogSavedSearch)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the resource belongs to.""")
@cli_util.option('--name', required=True, help=u"""The user-friendly display name. This must be unique within the enclosing resource, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--query-parameterconflict', required=True, help=u"""The search query that is saved.""")
@cli_util.option('--description', help=u"""Description for this resource.""")
@@ -530,7 +530,7 @@ def create_log_saved_search(ctx, from_json, wait_for_state, max_wait_seconds, wa
@cli_util.option('--display-name', required=True, help=u"""The user-friendly display name. This must be unique within the enclosing resource, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""Whether or not this resource is currently enabled.""")
@cli_util.option('--service-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the resource belongs to.""")
@cli_util.option('--description', required=True, help=u"""Description for this resource.""")
@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].
@@ -604,7 +604,7 @@ def create_unified_agent_configuration(ctx, from_json, wait_for_state, max_wait_
@unified_agent_configuration_group.command(name=cli_util.override('logging.create_unified_agent_configuration_unified_agent_logging_configuration.command_name', 'create-unified-agent-configuration-unified-agent-logging-configuration'), help=u"""Create unified agent configuration registration. \n[Command Reference](createUnifiedAgentConfiguration)""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly display name. This must be unique within the enclosing resource, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""Whether or not this resource is currently enabled.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the resource belongs to.""")
@cli_util.option('--description', required=True, help=u"""Description for this resource.""")
@cli_util.option('--service-configuration-sources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Logging source object.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--service-configuration-destination', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -690,7 +690,7 @@ def create_unified_agent_configuration_unified_agent_logging_configuration(ctx,
@unified_agent_configuration_group.command(name=cli_util.override('logging.create_unified_agent_configuration_unified_agent_monitoring_configuration_details.command_name', 'create-unified-agent-configuration-unified-agent-monitoring-configuration-details'), help=u"""Create unified agent configuration registration. \n[Command Reference](createUnifiedAgentConfiguration)""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly display name. This must be unique within the enclosing resource, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""Whether or not this resource is currently enabled.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that the resource belongs to.""")
@cli_util.option('--description', required=True, help=u"""Description for this resource.""")
@cli_util.option('--service-configuration-application-configurations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Unified Agent monitoring application configuration details.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -1174,7 +1174,7 @@ def get_work_request(ctx, from_json, work_request_id):
@log_group_group.command(name=cli_util.override('logging.list_log_groups.command_name', 'list'), help=u"""Lists all log groups for the specified compartment or tenancy. \n[Command Reference](listLogGroups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Specifies whether or not nested compartments should be traversed. Defaults to false.""")
@cli_util.option('--display-name', help=u"""Resource name.""")
@cli_util.option('--page', help=u"""For list pagination. The value of the `opc-next-page` or `opc-previous-page` response header from the previous \"List\" call. For important details about how pagination works, see [List Pagination].""")
@@ -1234,7 +1234,7 @@ def list_log_groups(ctx, from_json, all_pages, page_size, compartment_id, is_com
@log_saved_search_group.command(name=cli_util.override('logging.list_log_saved_searches.command_name', 'list'), help=u"""Lists LogSavedSearches for this compartment. \n[Command Reference](listLogSavedSearches)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
@cli_util.option('--log-saved-search-id', help=u"""OCID of the LogSavedSearch.""")
@cli_util.option('--name', help=u"""Resource name.""")
@cli_util.option('--page', help=u"""For list pagination. The value of the `opc-next-page` or `opc-previous-page` response header from the previous \"List\" call. For important details about how pagination works, see [List Pagination].""")
@@ -1384,10 +1384,10 @@ def list_services(ctx, from_json, all_pages, ):
@unified_agent_configuration_group.command(name=cli_util.override('logging.list_unified_agent_configurations.command_name', 'list'), help=u"""Lists all unified agent configurations in the specified compartment. \n[Command Reference](listUnifiedAgentConfigurations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
@cli_util.option('--log-id', help=u"""Custom log OCID to list resources with the log as destination.""")
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Specifies whether or not nested compartments should be traversed. Defaults to false.""")
-@cli_util.option('--group-id', help=u"""The OCID of a group or a dynamic group.""")
+@cli_util.option('--group-id', type=custom_types.CLI_OCID, help=u"""The OCID of a group or a dynamic group.""")
@cli_util.option('--display-name', help=u"""Resource name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "INACTIVE", "DELETING", "FAILED"]), help=u"""Lifecycle state of the log object""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@@ -1555,7 +1555,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('logging.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID to list resources in. See compartmentIdInSubtree for nested compartments traversal.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELLING", "CANCELED"]), help=u"""Filter results by work request status.""")
@cli_util.option('--id', help=u"""Filter results by [OCID]. Must be an OCID of the correct type for the resource type.""")
@cli_util.option('--page', help=u"""For list pagination. The value of the `opc-next-page` or `opc-previous-page` response header from the previous \"List\" call. For important details about how pagination works, see [List Pagination].""")
diff --git a/services/lustre_file_storage/src/oci_cli_lustre_file_storage/generated/lustrefilestorage_cli.py b/services/lustre_file_storage/src/oci_cli_lustre_file_storage/generated/lustrefilestorage_cli.py
index 5868fa07..8a04933e 100644
--- a/services/lustre_file_storage/src/oci_cli_lustre_file_storage/generated/lustrefilestorage_cli.py
+++ b/services/lustre_file_storage/src/oci_cli_lustre_file_storage/generated/lustrefilestorage_cli.py
@@ -105,7 +105,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@lustre_file_system_group.command(name=cli_util.override('lfs.change_lustre_file_system_compartment.command_name', 'change-compartment'), help=u"""Moves a Lustre file system 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](changeLustreFileSystemCompartment)""")
@cli_util.option('--lustre-file-system-id', required=True, help=u"""The [OCID] of the Lustre file system.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Lustre file system to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Lustre file system to.""")
@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.""")
@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.""")
@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.""")
@@ -166,7 +166,7 @@ def change_lustre_file_system_compartment(ctx, from_json, wait_for_state, max_wa
@object_storage_link_group.command(name=cli_util.override('lfs.change_object_storage_link_compartment.command_name', 'change-compartment'), help=u"""Moves an Object Storage link 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](changeObjectStorageLinkCompartment)""")
@cli_util.option('--object-storage-link-id', required=True, help=u"""The [OCID] of the Object Storage link.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Object Storage link to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Object Storage link to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -222,13 +222,13 @@ def change_object_storage_link_compartment(ctx, from_json, wait_for_state, max_w
@lustre_file_system_group.command(name=cli_util.override('lfs.create_lustre_file_system.command_name', 'create'), help=u"""Creates a Lustre file system. \n[Command Reference](createLustreFileSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the Lustre file system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the Lustre file system.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain the file system is in. May be unset as a blank or NULL value.
Example: `Uocm:PHX-AD-1`""")
@cli_util.option('--file-system-name', required=True, help=u"""The Lustre file system name. This is used in mount commands and other aspects of the client command line interface. The file system name is limited to 8 characters. Allowed characters are lower and upper case English letters, numbers, and '_'. If you have multiple Lustre file systems mounted on the same clients, this name can help distinguish them.""")
@cli_util.option('--capacity-in-gbs', required=True, type=click.INT, help=u"""Capacity of the Lustre file system in GB. You can increase capacity only in multiples of 5 TB.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the Lustre file system is in.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the Lustre file system is in.""")
@cli_util.option('--performance-tier', required=True, type=custom_types.CliCaseInsensitiveChoice(["MBPS_PER_TB_125", "MBPS_PER_TB_250", "MBPS_PER_TB_500", "MBPS_PER_TB_1000"]), help=u"""The Lustre file system performance tier. A value of `MBPS_PER_TB_125` represents 125 megabytes per second per terabyte.""")
@cli_util.option('--root-squash-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.
@@ -243,7 +243,7 @@ def change_object_storage_link_compartment(ctx, from_json, wait_for_state, max_w
Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of Network Security Group [OCIDs] associated with this lustre file system. A maximum of 5 is allowed. Setting this to an empty array after the list is created removes the lustre file system from all NSGs. For more information about NSGs, see [Security Rules].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kms-key-id', help=u"""The [OCID] of the KMS key used to encrypt the encryption keys associated with this file system.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the cluster placement group in which the Lustre file system exists.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster placement group in which the Lustre file system exists.""")
@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.""")
@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.""")
@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.""")
@@ -323,7 +323,7 @@ def create_lustre_file_system(ctx, from_json, wait_for_state, max_wait_seconds,
@object_storage_link_group.command(name=cli_util.override('lfs.create_object_storage_link.command_name', 'create'), help=u"""Creates an Object Storage link. \n[Command Reference](createObjectStorageLink)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the Object Storage link.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the Object Storage link.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain that the Lustre file system is in. May be unset as a blank or NULL value.
Example: `Uocm:PHX-AD-1`""")
@@ -614,7 +614,7 @@ def get_work_request(ctx, from_json, work_request_id):
@lustre_file_system_collection_group.command(name=cli_util.override('lfs.list_lustre_file_systems.command_name', 'list-lustre-file-systems'), help=u"""Gets a list of Lustre file systems. \n[Command Reference](listLustreFileSystems)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -683,7 +683,7 @@ def list_lustre_file_systems(ctx, from_json, all_pages, page_size, compartment_i
@object_storage_link_collection_group.command(name=cli_util.override('lfs.list_object_storage_links.command_name', 'list-object-storage-links'), help=u"""Gets a list of Object Storage links. \n[Command Reference](listObjectStorageLinks)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--availability-domain', help=u"""The name of the availability domain.
Example: `Uocm:PHX-AD-1`""")
@@ -932,7 +932,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('lfs.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/managed_kafka/src/oci_cli_kafka_cluster/generated/kafkacluster_cli.py b/services/managed_kafka/src/oci_cli_kafka_cluster/generated/kafkacluster_cli.py
index acc05ad6..4458b5d0 100644
--- a/services/managed_kafka/src/oci_cli_kafka_cluster/generated/kafkacluster_cli.py
+++ b/services/managed_kafka/src/oci_cli_kafka_cluster/generated/kafkacluster_cli.py
@@ -105,7 +105,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@kafka_cluster_group.command(name=cli_util.override('kafka.change_kafka_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a KafkaCluster 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](changeKafkaClusterCompartment)""")
@cli_util.option('--kafka-cluster-id', required=True, help=u"""The [OCID] of the KafkaCluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the KafkaCluster to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the KafkaCluster to.""")
@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.""")
@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.""")
@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.""")
@@ -166,7 +166,7 @@ def change_kafka_cluster_compartment(ctx, from_json, wait_for_state, max_wait_se
@kafka_cluster_config_group.command(name=cli_util.override('kafka.change_kafka_cluster_config_compartment.command_name', 'change-compartment'), help=u"""Moves a KafkaClusterConfig 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](changeKafkaClusterConfigCompartment)""")
@cli_util.option('--kafka-cluster-config-id', required=True, help=u"""The [OCID] of the KafkaClusterConfig.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the KafkaClusterConfig to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the KafkaClusterConfig to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -196,7 +196,7 @@ def change_kafka_cluster_config_compartment(ctx, from_json, kafka_cluster_config
@kafka_cluster_group.command(name=cli_util.override('kafka.create_kafka_cluster.command_name', 'create'), help=u"""Creates a KafkaCluster. \n[Command Reference](createKafkaCluster)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the KafkaCluster in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the KafkaCluster in.""")
@cli_util.option('--access-subnets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Subnets where broker/coordinator VNICs will be created.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--kafka-version', required=True, help=u"""Version of Kafka to use to spin up the cluster""")
@cli_util.option('--cluster-type', required=True, help=u"""Type of the cluster to spin up. DEVELOPMENT - setting that allows to sacrifice HA and spin up cluster on single node PRODUCTION - Minimum allowed broker count is 3""")
@@ -283,7 +283,7 @@ def create_kafka_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@kafka_cluster_config_group.command(name=cli_util.override('kafka.create_kafka_cluster_config.command_name', 'create'), help=u"""Creates a KafkaClusterConfig. \n[Command Reference](createKafkaClusterConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the KafkaClusterConfig in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the KafkaClusterConfig in.""")
@cli_util.option('--latest-config', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@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].
@@ -557,8 +557,8 @@ def disable_superuser(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@kafka_cluster_group.command(name=cli_util.override('kafka.enable_superuser.command_name', 'enable-superuser'), help=u"""Adds a SASL superuser to the Kafka cluster. A generated password will be updated to the specified vault. \n[Command Reference](enableSuperuser)""")
@cli_util.option('--kafka-cluster-id', required=True, help=u"""The [OCID] of the KafkaCluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the superuser secret.""")
-@cli_util.option('--secret-id', required=True, help=u"""The [OCID] of the secret that will be populated with the generated superuser password.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the superuser secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the secret that will be populated with the generated superuser password.""")
@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.""")
@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.""")
@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.""")
@@ -769,7 +769,7 @@ def list_kafka_cluster_config_versions(ctx, from_json, all_pages, page_size, kaf
@kafka_cluster_config_group.command(name=cli_util.override('kafka.list_kafka_cluster_configs.command_name', 'list'), help=u"""Gets a list of KafkaClusterConfigs. \n[Command Reference](listKafkaClusterConfigs)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the KafkaClusterConfig.""")
@@ -831,7 +831,7 @@ def list_kafka_cluster_configs(ctx, from_json, all_pages, page_size, compartment
@kafka_cluster_group.command(name=cli_util.override('kafka.list_kafka_clusters.command_name', 'list'), help=u"""Gets a list of KafkaClusters. \n[Command Reference](listKafkaClusters)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the KafkaCluster.""")
@@ -1063,7 +1063,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('kafka.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/management_agent/src/oci_cli_management_agent/generated/managementagent_cli.py b/services/management_agent/src/oci_cli_management_agent/generated/managementagent_cli.py
index fd5e7222..27e4e943 100644
--- a/services/management_agent/src/oci_cli_management_agent/generated/managementagent_cli.py
+++ b/services/management_agent/src/oci_cli_management_agent/generated/managementagent_cli.py
@@ -85,7 +85,7 @@ def management_agent_image_group():
@cli_util.option('--management-agent-id', required=True, help=u"""Unique Management Agent identifier""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["KUBERNETES_CLUSTER", "PROMETHEUS_EMITTER"]), help=u"""The type of the DataSource.""")
@cli_util.option('--name', required=True, help=u"""Unique name of the DataSource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment owning this DataSource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment owning this DataSource.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATED", "ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -149,7 +149,7 @@ def create_data_source(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@management_agent_group.command(name=cli_util.override('management_agent.create_data_source_create_prometheus_emitter_data_source_details.command_name', 'create-data-source-create-prometheus-emitter-data-source-details'), help=u"""Datasource creation request to given Management Agent. \n[Command Reference](createDataSource)""")
@cli_util.option('--management-agent-id', required=True, help=u"""Unique Management Agent identifier""")
@cli_util.option('--name', required=True, help=u"""Unique name of the DataSource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment owning this DataSource.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment owning this DataSource.""")
@cli_util.option('--url', required=True, help=u"""The url through which the Prometheus Exporter publishes its metrics. (http only)""")
@cli_util.option('--namespace', required=True, help=u"""The OCI monitoring namespace to which scraped metrics should be uploaded.""")
@cli_util.option('--allow-metrics', help=u"""Comma separated metric name list. The complete set of desired scraped metrics. Use this property to limit the set of metrics uploaded if required.""")
@@ -251,7 +251,7 @@ def create_data_source_create_prometheus_emitter_data_source_details(ctx, from_j
@management_agent_install_key_group.command(name=cli_util.override('management_agent.create_management_agent_install_key.command_name', 'create'), help=u"""User creates a new install key as part of this API. \n[Command Reference](createManagementAgentInstallKey)""")
@cli_util.option('--display-name', required=True, help=u"""Management Agent install Key Name""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--allowed-key-install-count', type=click.INT, help=u"""Total number of install for this keys""")
@cli_util.option('--time-expires', type=custom_types.CLI_DATETIME, help=u"""date after which key would expire after creation""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--is-unlimited', type=click.BOOL, help=u"""If set to true, the install key has no expiration date or usage limit. Defaults to false""")
@@ -715,7 +715,7 @@ def deploy_plugins(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@management_agent_group.command(name=cli_util.override('management_agent.get_auto_upgradable_config.command_name', 'get-auto-upgradable-config'), help=u"""Get the AutoUpgradable configuration for all agents in a tenancy. The supplied compartmentId must be a tenancy root. \n[Command Reference](getAutoUpgradableConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -875,7 +875,7 @@ def get_named_credential(ctx, from_json, named_credential_id):
@named_credential_group.command(name=cli_util.override('management_agent.get_named_credentials_metadatum.command_name', 'get-named-cred-metadata'), help=u"""Return the Metadata definition for Named Credentials supported by Management Agent. \n[Command Reference](getNamedCredentialsMetadatum)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--management-agent-id', help=u"""Filter the named credential metadata which is compatible with the given Management Agent identifier.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1042,7 +1042,7 @@ def list_data_sources(ctx, from_json, all_pages, page_size, management_agent_id,
@management_agent_image_group.command(name=cli_util.override('management_agent.list_management_agent_images.command_name', 'list'), help=u"""Get supported agent image information \n[Command Reference](listManagementAgentImages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
@@ -1105,7 +1105,7 @@ def list_management_agent_images(ctx, from_json, all_pages, page_size, compartme
@management_agent_install_key_group.command(name=cli_util.override('management_agent.list_management_agent_install_keys.command_name', 'list'), help=u"""Returns a list of Management Agent installed Keys. \n[Command Reference](listManagementAgentInstallKeys)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""if set to true then it fetches resources for all compartments where user has access to else only on the compartment specified.""")
@cli_util.option('--access-level', help=u"""Value of this is always \"ACCESSIBLE\" and any other value is not supported.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "TERMINATED", "DELETING", "DELETED", "FAILED"]), help=u"""Filter to return only Management Agents in the particular lifecycle state.""")
@@ -1153,7 +1153,7 @@ def list_management_agent_install_keys(ctx, from_json, all_pages, compartment_id
@management_agent_plugin_group.command(name=cli_util.override('management_agent.list_management_agent_plugins.command_name', 'list'), help=u"""Returns a list of managementAgentPlugins. \n[Command Reference](listManagementAgentPlugins)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--display-name', help=u"""Filter to return only Management Agent Plugins having the particular display name.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -1219,7 +1219,7 @@ def list_management_agent_plugins(ctx, from_json, all_pages, page_size, compartm
@management_agent_group.command(name=cli_util.override('management_agent.list_management_agents.command_name', 'list'), help=u"""Returns a list of Management Agents. If no explicit page size limit is specified, it will default to 1000 when compartmentIdInSubtree is true and 5000 otherwise. The response is limited to maximum 1000 records when compartmentIdInSubtree is true. \n[Command Reference](listManagementAgents)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--plugin-name', multiple=True, help=u"""Filter to return only Management Agents having the particular Plugin installed. A special pluginName of 'None' can be provided and this will return only Management Agents having no plugin installed.""")
@cli_util.option('--version-parameterconflict', multiple=True, help=u"""Filter to return only Management Agents having the particular agent version.""")
@cli_util.option('--display-name', help=u"""Filter to return only Management Agents having the particular display name.""")
@@ -1495,7 +1495,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('management_agent.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--agent-id', help=u"""The ManagementAgentID of the agent from which the Management Agents to be filtered.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1561,7 +1561,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, age
@management_agent_group.command(name=cli_util.override('management_agent.set_auto_upgradable_config.command_name', 'set-auto-upgradable-config'), help=u"""Sets the AutoUpgradable configuration for all agents in a tenancy. The supplied compartmentId must be a tenancy root. \n[Command Reference](setAutoUpgradableConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Tenancy identifier i.e, Root compartment identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Tenancy identifier i.e, Root compartment identifier""")
@cli_util.option('--is-agent-auto-upgradable', required=True, type=click.BOOL, help=u"""true if the agents can be upgraded automatically; false if they must be upgraded manually.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1586,7 +1586,7 @@ def set_auto_upgradable_config(ctx, from_json, compartment_id, is_agent_auto_upg
@management_agent_group.command(name=cli_util.override('management_agent.summarize_management_agent_counts.command_name', 'summarize-management-agent-counts'), help=u"""Gets count of the inventory of agents for a given compartment id, group by, and isPluginDeployed parameters. Supported groupBy parameters: availabilityStatus, platformType, version \n[Command Reference](summarizeManagementAgentCounts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--group-by', required=True, type=custom_types.CliCaseInsensitiveChoice(["availabilityStatus", "platformType", "version"]), multiple=True, help=u"""The field by which to group Management Agents. Currently, only one groupBy dimension is supported at a time.""")
@cli_util.option('--has-plugins', type=click.BOOL, help=u"""When set to true then agents that have at least one plugin deployed will be returned. When set to false only agents that have no plugins deployed will be returned.""")
@cli_util.option('--install-type', type=custom_types.CliCaseInsensitiveChoice(["AGENT", "GATEWAY"]), help=u"""A filter to return either agents or gateway types depending upon install type selected by user. By default both install type will be returned.""")
@@ -1619,7 +1619,7 @@ def summarize_management_agent_counts(ctx, from_json, compartment_id, group_by,
@management_agent_group.command(name=cli_util.override('management_agent.summarize_management_agent_plugin_counts.command_name', 'summarize-management-agent-plugin-counts'), help=u"""Gets count of the inventory of management agent plugins for a given compartment id and group by parameter. Supported groupBy parameter: pluginName \n[Command Reference](summarizeManagementAgentPluginCounts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to which a request will be scoped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to which a request will be scoped.""")
@cli_util.option('--group-by', required=True, type=custom_types.CliCaseInsensitiveChoice(["pluginName"]), help=u"""The field by which to group Management Agent Plugins""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""if set to true then it fetches resources for all compartments where user has access to else only on the compartment specified.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
diff --git a/services/management_dashboard/src/oci_cli_dashx_apis/generated/dashxapis_cli.py b/services/management_dashboard/src/oci_cli_dashx_apis/generated/dashxapis_cli.py
index 66a1f912..ea20fea8 100644
--- a/services/management_dashboard/src/oci_cli_dashx_apis/generated/dashxapis_cli.py
+++ b/services/management_dashboard/src/oci_cli_dashx_apis/generated/dashxapis_cli.py
@@ -47,7 +47,7 @@ def management_dashboard_group():
@management_dashboard_group.command(name=cli_util.override('management_dashboard.change_management_dashboards_compartment.command_name', 'change-compartment'), help=u"""Moves the dashboard from the existing compartment to a new compartment. \n[Command Reference](changeManagementDashboardsCompartment)""")
@cli_util.option('--management-dashboard-id', required=True, help=u"""A unique dashboard identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the dashboard is being moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the dashboard is being moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -104,7 +104,7 @@ def change_management_dashboards_compartment(ctx, from_json, wait_for_state, max
@management_saved_search_group.command(name=cli_util.override('management_dashboard.change_management_saved_searches_compartment.command_name', 'change-compartment'), help=u"""Moves the saved search from the existing compartment to a new compartment. \n[Command Reference](changeManagementSavedSearchesCompartment)""")
@cli_util.option('--management-saved-search-id', required=True, help=u"""A unique saved search identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the saved search is being moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the saved search is being moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -166,7 +166,7 @@ def change_management_saved_searches_compartment(ctx, from_json, wait_for_state,
@cli_util.option('--tiles', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of dashboard tiles.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', required=True, help=u"""Display name of the dashboard.""")
@cli_util.option('--description', required=True, help=u"""Description of the dashboard.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment in which the dashboard resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment in which the dashboard resides.""")
@cli_util.option('--is-oob-dashboard', required=True, type=click.BOOL, help=u"""Determines whether the dashboard is an Out-of-the-Box (OOB) dashboard. Note that OOB dashboards are only provided by Oracle and cannot be modified.""")
@cli_util.option('--is-show-in-home', required=True, type=click.BOOL, help=u"""Determines whether the dashboard will be displayed in Dashboard Home.""")
@cli_util.option('--metadata-version', required=True, help=u"""The version of the metadata defined in the API. This is maintained and enforced by dashboard server. Currently it is 2.0.""")
@@ -269,7 +269,7 @@ def create_management_dashboard(ctx, from_json, wait_for_state, max_wait_seconds
@cli_util.option('--provider-id', required=True, help=u"""ID of the service (for example log-analytics) that owns the saved search. Each service has a unique ID.""")
@cli_util.option('--provider-version', required=True, help=u"""The version of the metadata of the provider. This is useful for provider to version its features and metadata. Any newly created saved search (or dashboard) should use providerVersion 3.0.0.""")
@cli_util.option('--provider-name', required=True, help=u"""The user friendly name of the service (for example, Logging Analytics) that owns the saved search.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment in which the saved search resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment in which the saved search resides.""")
@cli_util.option('--is-oob-saved-search', required=True, type=click.BOOL, help=u"""Determines whether the saved search is an Out-of-the-Box (OOB) saved search. Note that OOB saved searches are only provided by Oracle and cannot be modified.""")
@cli_util.option('--description', required=True, help=u"""Description of the saved search.""")
@cli_util.option('--nls', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""JSON that contains internationalization options.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -650,7 +650,7 @@ def import_dashboard(ctx, from_json, dashboards, freeform_tags, defined_tags, if
@management_dashboard_group.command(name=cli_util.override('management_dashboard.list_management_dashboards.command_name', 'list'), help=u"""Gets the list of dashboards in a compartment with pagination. Returned properties are the summary. \n[Command Reference](listManagementDashboards)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page on which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -707,7 +707,7 @@ def list_management_dashboards(ctx, from_json, all_pages, page_size, compartment
@management_saved_search_group.command(name=cli_util.override('management_dashboard.list_management_saved_searches.command_name', 'list'), help=u"""Gets the list of saved searches in a compartment with pagination. Returned properties are the summary. \n[Command Reference](listManagementSavedSearches)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page on which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -764,7 +764,7 @@ def list_management_saved_searches(ctx, from_json, all_pages, page_size, compart
@management_dashboard_group.command(name=cli_util.override('management_dashboard.list_oob_management_dashboards.command_name', 'list-oob'), help=u"""Gets the list of out-of-the-box dashboards with pagination. Returned properties are the summary. \n[Command Reference](listOobManagementDashboards)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page on which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -821,7 +821,7 @@ def list_oob_management_dashboards(ctx, from_json, all_pages, page_size, compart
@management_saved_search_group.command(name=cli_util.override('management_dashboard.list_oob_management_saved_searches.command_name', 'list-oob'), help=u"""Gets the list of out-of-the-box saved searches in a compartment with pagination. Returned properties are the summary. \n[Command Reference](listOobManagementSavedSearches)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page on which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -887,7 +887,7 @@ def list_oob_management_saved_searches(ctx, from_json, all_pages, page_size, com
This option is a JSON list with items of type ManagementDashboardTileDetails. For documentation on ManagementDashboardTileDetails please see our API reference: https://docs.cloud.oracle.com/api/#/en/dashxapis/20200901/datatypes/ManagementDashboardTileDetails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Display name of the dashboard.""")
@cli_util.option('--description', help=u"""Description of the dashboard.""")
-@cli_util.option('--compartment-id', help=u"""OCID of the compartment in which the dashboard resides.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""OCID of the compartment in which the dashboard resides.""")
@cli_util.option('--is-oob-dashboard', type=click.BOOL, help=u"""Determines whether the dashboard is an Out-of-the-Box (OOB) dashboard. Note that OOB dashboards are only provided by Oracle and cannot be modified.""")
@cli_util.option('--is-show-in-home', type=click.BOOL, help=u"""Determines whether the dashboard will be displayed in Dashboard Home.""")
@cli_util.option('--metadata-version', help=u"""The version of the metadata defined in the API. This is maintained and enforced by dashboard server. Currently it is 2.0.""")
@@ -1033,7 +1033,7 @@ def update_management_dashboard(ctx, from_json, force, wait_for_state, max_wait_
@cli_util.option('--provider-id', help=u"""ID of the service (for example log-analytics) that owns the saved search. Each service has a unique ID.""")
@cli_util.option('--provider-version', help=u"""The version of the metadata of the provider. This is useful for provider to version its features and metadata. Any newly created saved search (or dashboard) should use providerVersion 3.0.0.""")
@cli_util.option('--provider-name', help=u"""The user friendly name of the service (for example, Logging Analytics) that owns the saved search.""")
-@cli_util.option('--compartment-id', help=u"""OCID of the compartment in which the saved search resides.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""OCID of the compartment in which the saved search resides.""")
@cli_util.option('--is-oob-saved-search', type=click.BOOL, help=u"""Determines whether the saved search is an Out-of-the-Box (OOB) saved search. Note that OOB saved searches are only provided by Oracle and cannot be modified.""")
@cli_util.option('--description', help=u"""Description of the saved search.""")
@cli_util.option('--nls', type=custom_types.CLI_COMPLEX_TYPE, help=u"""JSON that contains internationalization options.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/marketplace/src/oci_cli_account/generated/account_cli.py b/services/marketplace/src/oci_cli_account/generated/account_cli.py
index 39edefd4..b5da7c2e 100644
--- a/services/marketplace/src/oci_cli_account/generated/account_cli.py
+++ b/services/marketplace/src/oci_cli_account/generated/account_cli.py
@@ -40,8 +40,8 @@ def launch_eligibility_group():
@launch_eligibility_group.command(name=cli_util.override('account.get_launch_eligibility.command_name', 'get'), help=u"""Returns Tenant eligibility and other information for launching a PIC image \n[Command Reference](getLaunchEligibility)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
-@cli_util.option('--image-id', required=True, help=u"""Image ID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--image-id', required=True, type=custom_types.CLI_OCID, help=u"""Image ID""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -61,7 +61,7 @@ def get_launch_eligibility(ctx, from_json, compartment_id, image_id):
@third_party_paid_listing_eligibility_group.command(name=cli_util.override('account.get_third_party_paid_listing_eligibility.command_name', 'get'), help=u"""Returns eligibility details of the tenancy to see and launch third party paid listings \n[Command Reference](getThirdPartyPaidListingEligibility)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
diff --git a/services/marketplace/src/oci_cli_marketplace/generated/marketplace_cli.py b/services/marketplace/src/oci_cli_marketplace/generated/marketplace_cli.py
index 68020137..2bed696b 100644
--- a/services/marketplace/src/oci_cli_marketplace/generated/marketplace_cli.py
+++ b/services/marketplace/src/oci_cli_marketplace/generated/marketplace_cli.py
@@ -165,7 +165,7 @@ def listing_group():
@publication_group.command(name=cli_util.override('marketplace.change_publication_compartment.command_name', 'change-compartment'), help=u"""Moves the specified publication from one compartment to another. \n[Command Reference](changePublicationCompartment)""")
@cli_util.option('--publication-id', required=True, help=u"""The unique identifier for the publication.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to move the publication.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to move the publication.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -197,7 +197,7 @@ def change_publication_compartment(ctx, from_json, publication_id, compartment_i
@accepted_agreement_group.command(name=cli_util.override('marketplace.create_accepted_agreement.command_name', 'create'), help=u"""Accepts a terms of use agreement for a specific package version of a listing. You must accept all terms of use for a package before you can deploy the package. \n[Command Reference](createAcceptedAgreement)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment where the agreement will be accepted.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment where the agreement will be accepted.""")
@cli_util.option('--listing-id', required=True, help=u"""The unique identifier for the listing associated with the agreement.""")
@cli_util.option('--package-version', required=True, help=u"""The package version associated with the agreement.""")
@cli_util.option('--agreement-id', required=True, help=u"""The agreement to accept.""")
@@ -240,8 +240,8 @@ def create_accepted_agreement(ctx, from_json, compartment_id, listing_id, packag
@create_marketplace_external_attested_metadata_details_group.command(name=cli_util.override('marketplace.create_marketplace_external_attested_metadata.command_name', 'create-marketplace-external-attested-metadata'), help=u"""Generates attested marketplace metadata \n[Command Reference](createMarketplaceExternalAttestedMetadata)""")
-@cli_util.option('--instance-id', required=True, help=u"""unique id that identifies the associated instance""")
-@cli_util.option('--compartment-id', required=True, help=u"""compartment that associated instance is in""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""unique id that identifies the associated instance""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""compartment that associated instance is in""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -269,7 +269,7 @@ def create_marketplace_external_attested_metadata(ctx, from_json, instance_id, c
@cli_util.option('--name', required=True, help=u"""The name of the publication, which is also used in the listing.""")
@cli_util.option('--short-description', required=True, help=u"""A short description of the publication to use in the listing.""")
@cli_util.option('--support-contacts', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Contact information for getting support from the publisher for the listing.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the publication.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the publication.""")
@cli_util.option('--package-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-agreement-acknowledged', required=True, type=click.BOOL, help=u"""Whether the publisher acknowledged that they have the right and authority to share the contents of the publication and that they accepted the Oracle terms of use agreements required to create a publication.""")
@cli_util.option('--long-description', help=u"""A long description of the publication to use in the listing.""")
@@ -342,7 +342,7 @@ def create_publication(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@cli_util.option('--name', required=True, help=u"""The name of the publication, which is also used in the listing.""")
@cli_util.option('--short-description', required=True, help=u"""A short description of the publication to use in the listing.""")
@cli_util.option('--support-contacts', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Contact information for getting support from the publisher for the listing.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the publication.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the publication.""")
@cli_util.option('--is-agreement-acknowledged', required=True, type=click.BOOL, help=u"""Whether the publisher acknowledged that they have the right and authority to share the contents of the publication and that they accepted the Oracle terms of use agreements required to create a publication.""")
@cli_util.option('--package-details-package-version', required=True, help=u"""The package version.""")
@cli_util.option('--package-details-operating-system', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -517,7 +517,7 @@ def delete_publication(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@listing_group.command(name=cli_util.override('marketplace.export_listing.command_name', 'export'), help=u"""Exports container images or helm chart from marketplace to customer's registry. \n[Command Reference](exportListing)""")
@cli_util.option('--listing-id', required=True, help=u"""The unique identifier for the listing.""")
@cli_util.option('--package-version', required=True, help=u"""The version of the package. Package versions are unique within a listing.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to export container image or helm chart.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to export container image or helm chart.""")
@cli_util.option('--container-repository-path', required=True, help=u"""The repository path (/Content/General/Concepts/identifiers.htm) of the container reposistory where the container image or helm chart should be exported.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -605,7 +605,7 @@ def get_accepted_agreement(ctx, from_json, accepted_agreement_id):
@cli_util.option('--listing-id', required=True, help=u"""The unique identifier for the listing.""")
@cli_util.option('--package-version', required=True, help=u"""The version of the package. Package versions are unique within a listing.""")
@cli_util.option('--agreement-id', required=True, help=u"""The unique identifier for the agreement.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -644,7 +644,7 @@ def get_agreement(ctx, from_json, listing_id, package_version, agreement_id, com
To get the image ID to launch an instance, issue a [GetAppCatalogListingResourceVersion] API call. Lastly, to launch the instance, use the image ID of the listing resource version to issue a [LaunchInstance] API call. \n[Command Reference](getListing)""")
@cli_util.option('--listing-id', required=True, help=u"""The unique identifier for the listing.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -676,7 +676,7 @@ def get_listing(ctx, from_json, listing_id, compartment_id):
To get the image ID to launch an instance, issue a [GetAppCatalogListingResourceVersion] API call. Lastly, to launch the instance, use the image ID of the listing resource version to issue a [LaunchInstance] API call. \n[Command Reference](getPackage)""")
@cli_util.option('--listing-id', required=True, help=u"""The unique identifier for the listing.""")
@cli_util.option('--package-version', required=True, help=u"""The version of the package. Package versions are unique within a listing.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -775,7 +775,7 @@ def get_work_request(ctx, from_json, work_request_id):
@accepted_agreement_group.command(name=cli_util.override('marketplace.list_accepted_agreements.command_name', 'list'), help=u"""Lists the terms of use agreements that have been accepted in the specified compartment. You can filter results by specifying query parameters. \n[Command Reference](listAcceptedAgreements)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--display-name', help=u"""The display name of the resource.""")
@cli_util.option('--listing-id', help=u"""The unique identifier for the listing.""")
@cli_util.option('--package-version', help=u"""The version of the package. Package versions are unique within a listing.""")
@@ -845,7 +845,7 @@ def list_accepted_agreements(ctx, from_json, all_pages, page_size, compartment_i
@cli_util.option('--package-version', required=True, help=u"""The version of the package. Package versions are unique within a listing.""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -904,7 +904,7 @@ def list_agreements(ctx, from_json, all_pages, page_size, listing_id, package_ve
@category_summary_group.command(name=cli_util.override('marketplace.list_categories.command_name', 'list-categories'), help=u"""Gets the list of all the categories for listings published to Oracle Cloud Infrastructure Marketplace. Categories apply to the software product provided by the listing. \n[Command Reference](listCategories)""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -957,7 +957,7 @@ def list_categories(ctx, from_json, all_pages, page_size, limit, page, compartme
To get the image ID to launch an instance, issue a [GetAppCatalogListingResourceVersion] API call. Lastly, to launch the instance, use the image ID of the listing resource version to issue a [LaunchInstance] API call. \n[Command Reference](listListings)""")
@cli_util.option('--name', multiple=True, help=u"""The name of the listing.""")
@cli_util.option('--listing-id', help=u"""The unique identifier for the listing.""")
-@cli_util.option('--image-id', help=u"""The image identifier of the listing.""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""The image identifier of the listing.""")
@cli_util.option('--publisher-id', help=u"""Limit results to just this publisher.""")
@cli_util.option('--package-type', help=u"""A filter to return only packages that match the given package type exactly.""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@@ -969,7 +969,7 @@ def list_categories(ctx, from_json, all_pages, page_size, limit, page, compartme
@cli_util.option('--is-featured', type=click.BOOL, help=u"""Indicates whether to show only featured listings. If this is set to `false` or is omitted, then all listings will be returned.""")
@cli_util.option('--listing-types', type=custom_types.CliCaseInsensitiveChoice(["COMMUNITY", "PARTNER", "PRIVATE"]), multiple=True, help=u"""The type of the listing.""")
@cli_util.option('--operating-systems', multiple=True, help=u"""The operating system of the listing.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({'name': {'module': 'marketplace', 'class': 'list[string]'}, 'category': {'module': 'marketplace', 'class': 'list[string]'}, 'operating-systems': {'module': 'marketplace', 'class': 'list[string]'}})
@@ -1042,7 +1042,7 @@ def list_listings(ctx, from_json, all_pages, page_size, name, listing_id, image_
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either `ASC` or `DESC`.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["keyId"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for keyId is descending.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1104,7 +1104,7 @@ def list_marketplace_metadata_public_keys(ctx, from_json, all_pages, page_size,
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMERELEASED"]), help=u"""The field to use to sort listed results. You can only specify one field to sort by. `TIMERELEASED` displays results in descending order by default. You can change your preference by specifying a different sort order.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either `ASC` or `DESC`.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1226,7 +1226,7 @@ def list_publication_packages(ctx, from_json, all_pages, page_size, publication_
@publication_summary_group.command(name=cli_util.override('marketplace.list_publications.command_name', 'list-publications'), help=u"""Lists the publications in the specified compartment. \n[Command Reference](listPublications)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--listing-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["COMMUNITY", "PARTNER", "PRIVATE"]), help=u"""The type of the listing.""")
@cli_util.option('--name', multiple=True, help=u"""The name of the publication.""")
@cli_util.option('--publication-id', help=u"""The unique identifier for the publication.""")
@@ -1296,7 +1296,7 @@ def list_publications(ctx, from_json, all_pages, page_size, compartment_id, list
@cli_util.option('--publisher-id', help=u"""Limit results to just this publisher.""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1343,7 +1343,7 @@ def list_publishers(ctx, from_json, all_pages, page_size, publisher_id, limit, p
@report_type_collection_group.command(name=cli_util.override('marketplace.list_report_types.command_name', 'list-report-types'), help=u"""Lists available types of reports for the compartment. \n[Command Reference](listReportTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1375,7 +1375,7 @@ def list_report_types(ctx, from_json, all_pages, compartment_id, page):
@report_collection_group.command(name=cli_util.override('marketplace.list_reports.command_name', 'list-reports'), help=u"""Lists reports in the compartment that match the specified report type and date. \n[Command Reference](listReports)""")
@cli_util.option('--report-type', required=True, help=u"""The type of the report.""")
@cli_util.option('--date', required=True, type=custom_types.CLI_DATETIME, help=u"""Date, expressed in [RFC 3339] timestamp format. The service only interprets the year, month, and day parts in the input value, and ignores the hour, minute, and second parts.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1410,7 +1410,7 @@ def list_reports(ctx, from_json, all_pages, report_type, date, compartment_id, p
@tax_summary_group.command(name=cli_util.override('marketplace.list_taxes.command_name', 'list-taxes'), help=u"""Returns list of all tax implications that current tenant may be liable to once they launch the listing. \n[Command Reference](listTaxes)""")
@cli_util.option('--listing-id', required=True, help=u"""The unique identifier for the listing.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1549,7 +1549,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('marketplace.list_work_requests.command_name', 'list'), help=u"""List all work requests in a compartment \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--work-request-id', help=u"""The OCID of the work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), help=u"""A filter to return only resources whose status matches the given OperationStatus.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
diff --git a/services/marketplace_publisher/src/oci_cli_marketplace_publisher/generated/marketplacepublisher_cli.py b/services/marketplace_publisher/src/oci_cli_marketplace_publisher/generated/marketplacepublisher_cli.py
index 5112670c..947217e5 100644
--- a/services/marketplace_publisher/src/oci_cli_marketplace_publisher/generated/marketplacepublisher_cli.py
+++ b/services/marketplace_publisher/src/oci_cli_marketplace_publisher/generated/marketplacepublisher_cli.py
@@ -465,7 +465,7 @@ def cascading_delete_listing_revision(ctx, from_json, wait_for_state, max_wait_s
@artifact_group.command(name=cli_util.override('marketplace_publisher.change_artifact_compartment.command_name', 'change-compartment'), help=u"""Moves the specified artifact to the specified compartment within the same tenancy. \n[Command Reference](changeArtifactCompartment)""")
@cli_util.option('--artifact-id', required=True, help=u"""artifact OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier of the compartment for the artifact.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier of the compartment for the artifact.""")
@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.""")
@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.""")
@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.""")
@@ -526,7 +526,7 @@ def change_artifact_compartment(ctx, from_json, wait_for_state, max_wait_seconds
@listing_group.command(name=cli_util.override('marketplace_publisher.change_listing_compartment.command_name', 'change-compartment'), help=u"""Moves a listing from one compartment to another \n[Command Reference](changeListingCompartment)""")
@cli_util.option('--listing-id', required=True, help=u"""listing OCID""")
-@cli_util.option('--compartment-id', help=u"""The id of the compartment which the listing should be moved.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The id of the compartment which the listing should be moved.""")
@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.""")
@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.""")
@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.""")
@@ -640,7 +640,7 @@ def change_listing_revision_to_new_status(ctx, from_json, wait_for_state, max_wa
@term_group.command(name=cli_util.override('marketplace_publisher.change_term_compartment.command_name', 'change-compartment'), help=u"""Moves a term from one compartment to another \n[Command Reference](changeTermCompartment)""")
@cli_util.option('--term-id', required=True, help=u"""term OCID""")
-@cli_util.option('--compartment-id', help=u"""The id of the compartment which the term should be moved.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The id of the compartment which the term should be moved.""")
@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.""")
@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.""")
@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.""")
@@ -765,7 +765,7 @@ def clone_listing_revision(ctx, from_json, wait_for_state, max_wait_seconds, wai
You must also provide the container or helm chart registry details for the corresponding images. Oracle container registry details (Registry/Concepts/registryoverview.htm).
After you send your request, the new object's `status` will temporarily be IN_PROGRESS and `lifecycleState` will be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE and the status has changed to \u2018AVAILABLE\u2019 for the new Artifact. \n[Command Reference](createArtifact)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--artifact-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["CONTAINER_IMAGE", "HELM_CHART", "MACHINE_IMAGE", "STACK"]), help=u"""Artifact Type for the artifact.""")
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -840,7 +840,7 @@ def create_artifact(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
You must also provide the container or helm chart registry details for the corresponding images. Oracle container registry details (Registry/Concepts/registryoverview.htm).
After you send your request, the new object's `status` will temporarily be IN_PROGRESS and `lifecycleState` will be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE and the status has changed to \u2018AVAILABLE\u2019 for the new Artifact. \n[Command Reference](createArtifact)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--helm-chart', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -921,7 +921,7 @@ def create_artifact_create_kubernetes_image_artifact_details(ctx, from_json, wai
You must also provide the container or helm chart registry details for the corresponding images. Oracle container registry details (Registry/Concepts/registryoverview.htm).
After you send your request, the new object's `status` will temporarily be IN_PROGRESS and `lifecycleState` will be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE and the status has changed to \u2018AVAILABLE\u2019 for the new Artifact. \n[Command Reference](createArtifact)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--stack', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -998,7 +998,7 @@ def create_artifact_create_stack_artifact_details(ctx, from_json, wait_for_state
You must also provide the container or helm chart registry details for the corresponding images. Oracle container registry details (Registry/Concepts/registryoverview.htm).
After you send your request, the new object's `status` will temporarily be IN_PROGRESS and `lifecycleState` will be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE and the status has changed to \u2018AVAILABLE\u2019 for the new Artifact. \n[Command Reference](createArtifact)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--container-image', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1075,7 +1075,7 @@ def create_artifact_create_container_image_artifact_details(ctx, from_json, wait
You must also provide the container or helm chart registry details for the corresponding images. Oracle container registry details (Registry/Concepts/registryoverview.htm).
After you send your request, the new object's `status` will temporarily be IN_PROGRESS and `lifecycleState` will be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE and the status has changed to \u2018AVAILABLE\u2019 for the new Artifact. \n[Command Reference](createArtifact)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--machine-image', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1150,7 +1150,7 @@ def create_artifact_create_machine_image_artifact_details(ctx, from_json, wait_f
You must also specify a *packageType* for the listing. Allowed values are CONTAINER_IMAGE and HELM_CHART
After you send your request, the new object's `lifecycleState` will be CREATING. Before using the object, first make sure its `lifecycleState` has changed to ACTIVE. \n[Command Reference](createListing)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--name', required=True, help=u"""The name for the listing.""")
@cli_util.option('--listing-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["OCI_APPLICATION", "LEAD_GENERATION", "SERVICE"]), help=u"""The listing type for the listing.""")
@cli_util.option('--package-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["CONTAINER_IMAGE", "HELM_CHART", "MACHINE_IMAGE", "STACK", "NONE"]), help=u"""The package type for the listing.""")
@@ -2382,7 +2382,7 @@ def create_listing_revision_package(ctx, from_json, wait_for_state, max_wait_sec
@term_group.command(name=cli_util.override('marketplace_publisher.create_term.command_name', 'create'), help=u"""Creates a new Term. \n[Command Reference](createTerm)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the publisher's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the publisher's compartment.""")
@cli_util.option('--name', required=True, help=u"""The name of the term.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3022,7 +3022,7 @@ def get_artifact(ctx, from_json, artifact_id):
@category_group.command(name=cli_util.override('marketplace_publisher.get_category.command_name', 'get'), help=u"""Gets the specified category's information. \n[Command Reference](getCategory)""")
@cli_util.option('--category-code', required=True, help=u"""Category Code""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -3511,7 +3511,7 @@ def get_work_request(ctx, from_json, work_request_id):
@artifact_collection_group.command(name=cli_util.override('marketplace_publisher.list_artifacts.command_name', 'list-artifacts'), help=u"""Lists the artifacts in your compartment. You must specify your compartment's OCID as the value for the compartment ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listArtifacts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only artifacts with their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["IN_PROGRESS", "AVAILABLE", "UNAVAILABLE"]), help=u"""A filter to return only artifacts with specific status.""")
@@ -3574,7 +3574,7 @@ def list_artifacts(ctx, from_json, all_pages, page_size, compartment_id, lifecyc
@available_service_collection_group.command(name=cli_util.override('marketplace_publisher.list_available_services.command_name', 'list-available-services'), help=u"""List all published service listing revisions \n[Command Reference](listAvailableServices)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -3631,7 +3631,7 @@ def list_available_services(ctx, from_json, all_pages, page_size, compartment_id
@category_collection_group.command(name=cli_util.override('marketplace_publisher.list_categories.command_name', 'list-categories'), help=u"""Lists the categories in your compartment. You must specify your compartment's OCID as the value for the compartment ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listCategories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--product-code', help=u"""product code to filter""")
@@ -3691,7 +3691,7 @@ def list_categories(ctx, from_json, all_pages, page_size, compartment_id, limit,
@customer_instance_report_record_collection_group.command(name=cli_util.override('marketplace_publisher.list_customer_instance_report_records.command_name', 'list-customer-instance-report-records'), help=u"""List customer instance report records \n[Command Reference](listCustomerInstanceReportRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--date-range', required=True, type=custom_types.CliCaseInsensitiveChoice(["THIS_WEEK", "LAST_WEEK", "THIS_MONTH", "LAST_MONTH", "LAST_THREE_MONTHS"]), help=u"""The date range of the report""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -3752,7 +3752,7 @@ def list_customer_instance_report_records(ctx, from_json, all_pages, page_size,
@disbursement_report_record_collection_group.command(name=cli_util.override('marketplace_publisher.list_disbursement_report_records.command_name', 'list-disbursement-report-records'), help=u"""List disbursement report records \n[Command Reference](listDisbursementReportRecords)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--date-range', required=True, type=custom_types.CliCaseInsensitiveChoice(["LAST_MONTH", "LAST_THREE_MONTHS"]), help=u"""The date range of the report""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -3813,7 +3813,7 @@ def list_disbursement_report_records(ctx, from_json, all_pages, page_size, compa
@lead_collection_group.command(name=cli_util.override('marketplace_publisher.list_leads.command_name', 'list-leads'), help=u"""Lists the leads in your compartment that belong to a listing. You must specify your listing's OCID as the value for the listing ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listLeads)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list leads.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list leads.""")
@cli_util.option('--listing-id', help=u"""Listing OCID to query resource against.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -3873,7 +3873,7 @@ def list_leads(ctx, from_json, all_pages, page_size, compartment_id, listing_id,
@cli_util.option('--listing-revision-id', required=True, help=u"""OCID of the listing revision.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "DELETED"]), help=u"""A filter to return only attachments their lifecycleState matches the given lifecycleState.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -3934,7 +3934,7 @@ def list_listing_revision_attachments(ctx, from_json, all_pages, page_size, list
@listing_revision_note_collection_group.command(name=cli_util.override('marketplace_publisher.list_listing_revision_notes.command_name', 'list-listing-revision-notes'), help=u"""Gets the list of notes for a listing revision. \n[Command Reference](listListingRevisionNotes)""")
@cli_util.option('--listing-revision-id', required=True, help=u"""OCID of the listing revision.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -3991,7 +3991,7 @@ def list_listing_revision_notes(ctx, from_json, all_pages, page_size, listing_re
@listing_revision_package_collection_group.command(name=cli_util.override('marketplace_publisher.list_listing_revision_packages.command_name', 'list-listing-revision-packages'), help=u"""Gets the list of packages for a listing revision. \n[Command Reference](listListingRevisionPackages)""")
@cli_util.option('--listing-revision-id', required=True, help=u"""OCID of the listing revision.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only packages their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -4058,7 +4058,7 @@ def list_listing_revision_packages(ctx, from_json, all_pages, page_size, listing
@cli_util.option('--listing-id', required=True, help=u"""listing OCID""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only listing revisions their lifecycleState matches the given lifecycleState.""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--listing-revision-status', type=custom_types.CliCaseInsensitiveChoice(["NEW", "PENDING_REVIEW", "REVIEW_IN_PROGRESS", "REJECTED", "APPROVED", "PUBLISH_IN_PROGRESS", "PUBLISH_FAILED", "PUBLISHED", "PUBLISH_AS_PRIVATE_FAILED", "PUBLISHED_AS_PRIVATE", "PUBLISH_AS_PRIVATE_IN_PROGRESS", "UNPUBLISH_IN_PROGRESS", "UNPUBLISHED"]), help=u"""A filter to return only listing revisions their status matches the given listing revision status.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -4121,7 +4121,7 @@ def list_listing_revisions(ctx, from_json, all_pages, page_size, listing_id, dis
@listing_collection_group.command(name=cli_util.override('marketplace_publisher.list_listings.command_name', 'list-listings'), help=u"""Lists the listings in your compartment. You must specify your compartment's OCID as the value for the compartment ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listListings)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only listings their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--listing-type', type=custom_types.CliCaseInsensitiveChoice(["OCI_APPLICATION", "LEAD_GENERATION", "SERVICE"]), help=u"""A filter to return listings based on their type""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@@ -4184,7 +4184,7 @@ def list_listings(ctx, from_json, all_pages, page_size, compartment_id, lifecycl
@market_collection_group.command(name=cli_util.override('marketplace_publisher.list_markets.command_name', 'list-markets'), help=u"""Lists the markets in your compartment. You must specify your compartment's OCID as the value for the compartment ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listMarkets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4244,7 +4244,7 @@ def list_markets(ctx, from_json, all_pages, page_size, compartment_id, limit, pa
@product_collection_group.command(name=cli_util.override('marketplace_publisher.list_products.command_name', 'list-products'), help=u"""Lists the products in your compartment. You must specify your compartment's OCID as the value for the compartment ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listProducts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4304,7 +4304,7 @@ def list_products(ctx, from_json, all_pages, page_size, compartment_id, limit, p
@publisher_collection_group.command(name=cli_util.override('marketplace_publisher.list_publishers.command_name', 'list-publishers'), help=u"""Returns a list of publishers. \n[Command Reference](listPublishers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4361,7 +4361,7 @@ def list_publishers(ctx, from_json, all_pages, page_size, compartment_id, limit,
@support_doc_collection_group.command(name=cli_util.override('marketplace_publisher.list_support_docs.command_name', 'list-support-docs'), help=u"""Lists the supportDocs in your compartment. You must specify your compartment's OCID as the value for the compartment ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listSupportDocs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4421,7 +4421,7 @@ def list_support_docs(ctx, from_json, all_pages, page_size, compartment_id, limi
@supported_currency_collection_group.command(name=cli_util.override('marketplace_publisher.list_supported_currencies.command_name', 'list-supported-currencies'), help=u"""Lists the currencies supported by the Marketplace Publisher Service. You must specify your compartment's OCID as the value for the compartment ID. For information about OCIDs, see Resource Identifiers (Content/General/Concepts/identifiers.htm). \n[Command Reference](listSupportedCurrencies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4475,7 +4475,7 @@ def list_supported_currencies(ctx, from_json, all_pages, page_size, compartment_
@supported_shape_collection_group.command(name=cli_util.override('marketplace_publisher.list_supported_shapes.command_name', 'list-supported-shapes'), help=u"""Lists the shapes available to select from. \n[Command Reference](listSupportedShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4533,7 +4533,7 @@ def list_supported_shapes(ctx, from_json, all_pages, page_size, compartment_id,
@term_version_collection_group.command(name=cli_util.override('marketplace_publisher.list_term_versions.command_name', 'list-term-versions'), help=u"""Returns a list of the publisher term versions. \n[Command Reference](listTermVersions)""")
@cli_util.option('--term-id', required=True, help=u"""term OCID""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4592,7 +4592,7 @@ def list_term_versions(ctx, from_json, all_pages, page_size, term_id, compartmen
@term_collection_group.command(name=cli_util.override('marketplace_publisher.list_terms.command_name', 'list-terms'), help=u"""Returns a list of the publisher terms. \n[Command Reference](listTerms)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -4763,7 +4763,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('marketplace_publisher.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@@ -5177,7 +5177,7 @@ def un_publish_listing_revision_package(ctx, from_json, wait_for_state, max_wait
@artifact_group.command(name=cli_util.override('marketplace_publisher.update_artifact.command_name', 'update'), help=u"""Updates the specified artifact identified by the id. \n[Command Reference](updateArtifact)""")
@cli_util.option('--artifact-id', required=True, help=u"""artifact OCID""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--artifact-type', type=custom_types.CliCaseInsensitiveChoice(["CONTAINER_IMAGE", "HELM_CHART", "MACHINE_IMAGE", "STACK"]), help=u"""Artifact Type for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5261,7 +5261,7 @@ def update_artifact(ctx, from_json, force, wait_for_state, max_wait_seconds, wai
@artifact_group.command(name=cli_util.override('marketplace_publisher.update_artifact_update_kubernetes_image_artifact_details.command_name', 'update-artifact-update-kubernetes-image-artifact-details'), help=u"""Updates the specified artifact identified by the id. \n[Command Reference](updateArtifact)""")
@cli_util.option('--artifact-id', required=True, help=u"""artifact OCID""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5351,7 +5351,7 @@ def update_artifact_update_kubernetes_image_artifact_details(ctx, from_json, for
@artifact_group.command(name=cli_util.override('marketplace_publisher.update_artifact_update_stack_artifact_details.command_name', 'update-artifact-update-stack-artifact-details'), help=u"""Updates the specified artifact identified by the id. \n[Command Reference](updateArtifact)""")
@cli_util.option('--artifact-id', required=True, help=u"""artifact OCID""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5437,7 +5437,7 @@ def update_artifact_update_stack_artifact_details(ctx, from_json, force, wait_fo
@artifact_group.command(name=cli_util.override('marketplace_publisher.update_artifact_update_container_image_artifact_details.command_name', 'update-artifact-update-container-image-artifact-details'), help=u"""Updates the specified artifact identified by the id. \n[Command Reference](updateArtifact)""")
@cli_util.option('--artifact-id', required=True, help=u"""artifact OCID""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5523,7 +5523,7 @@ def update_artifact_update_container_image_artifact_details(ctx, from_json, forc
@artifact_group.command(name=cli_util.override('marketplace_publisher.update_artifact_update_machine_image_artifact_details.command_name', 'update-artifact-update-machine-image-artifact-details'), help=u"""Updates the specified artifact identified by the id. \n[Command Reference](updateArtifact)""")
@cli_util.option('--artifact-id', required=True, help=u"""artifact OCID""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--display-name', help=u"""The display name for the artifact.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/media_services/src/oci_cli_media_services/generated/mediaservices_cli.py b/services/media_services/src/oci_cli_media_services/generated/mediaservices_cli.py
index 96e77590..afb69c94 100644
--- a/services/media_services/src/oci_cli_media_services/generated/mediaservices_cli.py
+++ b/services/media_services/src/oci_cli_media_services/generated/mediaservices_cli.py
@@ -119,7 +119,7 @@ def media_workflow_configuration_collection_group():
@media_asset_group.command(name=cli_util.override('media_services.add_media_asset_lock.command_name', 'add'), help=u"""Add a lock to an MediaAsset. \n[Command Reference](addMediaAssetLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-asset-id', required=True, help=u"""Unique MediaAsset identifier""")
@cli_util.option('--related-resource-id', help=u"""The ID of the Target that is locking this Target. Indicates that deleting this Target will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -190,7 +190,7 @@ def add_media_asset_lock(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@media_workflow_configuration_group.command(name=cli_util.override('media_services.add_media_workflow_configuration_lock.command_name', 'add'), help=u"""Add a lock to a MediaWorkflowConfiguration. \n[Command Reference](addMediaWorkflowConfigurationLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-workflow-configuration-id', required=True, help=u"""Unique MediaWorkflowConfiguration identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the Target that is locking this Target. Indicates that deleting this Target will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -261,7 +261,7 @@ def add_media_workflow_configuration_lock(ctx, from_json, wait_for_state, max_wa
@media_workflow_job_group.command(name=cli_util.override('media_services.add_media_workflow_job_lock.command_name', 'add'), help=u"""Add a lock to a MediaWorkflowJob. \n[Command Reference](addMediaWorkflowJobLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-workflow-job-id', required=True, help=u"""Unique MediaWorkflowJob identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the Target that is locking this Target. Indicates that deleting this Target will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -332,7 +332,7 @@ def add_media_workflow_job_lock(ctx, from_json, wait_for_state, max_wait_seconds
@media_workflow_group.command(name=cli_util.override('media_services.add_media_workflow_lock.command_name', 'add'), help=u"""Add a lock to a MediaWorkflow. \n[Command Reference](addMediaWorkflowLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-workflow-id', required=True, help=u"""Unique MediaWorkflow identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the Target that is locking this Target. Indicates that deleting this Target will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -403,7 +403,7 @@ def add_media_workflow_lock(ctx, from_json, wait_for_state, max_wait_seconds, wa
@stream_cdn_config_group.command(name=cli_util.override('media_services.add_stream_cdn_config_lock.command_name', 'add'), help=u"""Add a lock to a StreamCdnConfig. \n[Command Reference](addStreamCdnConfigLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--stream-cdn-config-id', required=True, help=u"""Unique StreamCdnConfig identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the Target that is locking this Target. Indicates that deleting this Target will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -474,7 +474,7 @@ def add_stream_cdn_config_lock(ctx, from_json, wait_for_state, max_wait_seconds,
@stream_distribution_channel_group.command(name=cli_util.override('media_services.add_stream_distribution_channel_lock.command_name', 'add'), help=u"""Add a lock to a StreamDistributionChannel. \n[Command Reference](addStreamDistributionChannelLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--stream-distribution-channel-id', required=True, help=u"""Unique Stream Distribution Channel path identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the Target that is locking this Target. Indicates that deleting this Target will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -545,7 +545,7 @@ def add_stream_distribution_channel_lock(ctx, from_json, wait_for_state, max_wai
@stream_packaging_config_group.command(name=cli_util.override('media_services.add_stream_packaging_config_lock.command_name', 'add'), help=u"""Add a lock to a StreamPackagingConfig. \n[Command Reference](addStreamPackagingConfigLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--stream-packaging-config-id', required=True, help=u"""Unique Stream Packaging Configuration path identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the Target that is locking this Target. Indicates that deleting this Target will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -616,7 +616,7 @@ def add_stream_packaging_config_lock(ctx, from_json, wait_for_state, max_wait_se
@media_asset_group.command(name=cli_util.override('media_services.change_media_asset_compartment.command_name', 'change-compartment'), help=u"""Moves a MediaAsset resource from one compartment identifier to another. \n[Command Reference](changeMediaAssetCompartment)""")
@cli_util.option('--media-asset-id', required=True, help=u"""Unique MediaAsset identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -650,7 +650,7 @@ def change_media_asset_compartment(ctx, from_json, media_asset_id, compartment_i
@media_workflow_group.command(name=cli_util.override('media_services.change_media_workflow_compartment.command_name', 'change-compartment'), help=u"""Moves a MediaWorkflow resource from one compartment identifier to another. \n[Command Reference](changeMediaWorkflowCompartment)""")
@cli_util.option('--media-workflow-id', required=True, help=u"""Unique MediaWorkflow identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -684,7 +684,7 @@ def change_media_workflow_compartment(ctx, from_json, media_workflow_id, compart
@media_workflow_configuration_group.command(name=cli_util.override('media_services.change_media_workflow_configuration_compartment.command_name', 'change-compartment'), help=u"""Moves a MediaWorkflowConfiguration resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMediaWorkflowConfigurationCompartment)""")
@cli_util.option('--media-workflow-configuration-id', required=True, help=u"""Unique MediaWorkflowConfiguration identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -718,7 +718,7 @@ def change_media_workflow_configuration_compartment(ctx, from_json, media_workfl
@media_workflow_job_group.command(name=cli_util.override('media_services.change_media_workflow_job_compartment.command_name', 'change-compartment'), help=u"""Moves a MediaWorkflowJob resource from one compartment identifier to another. \n[Command Reference](changeMediaWorkflowJobCompartment)""")
@cli_util.option('--media-workflow-job-id', required=True, help=u"""Unique MediaWorkflowJob identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -752,7 +752,7 @@ def change_media_workflow_job_compartment(ctx, from_json, media_workflow_job_id,
@stream_distribution_channel_group.command(name=cli_util.override('media_services.change_stream_distribution_channel_compartment.command_name', 'change-compartment'), help=u"""Moves a Stream Distribution Channel resource from one compartment identifier to another. \n[Command Reference](changeStreamDistributionChannelCompartment)""")
@cli_util.option('--stream-distribution-channel-id', required=True, help=u"""Unique Stream Distribution Channel path identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--is-lock-override', type=click.BOOL, help=u"""Whether to override locks (if any exist).""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -785,7 +785,7 @@ def change_stream_distribution_channel_compartment(ctx, from_json, stream_distri
@media_asset_group.command(name=cli_util.override('media_services.create_media_asset.command_name', 'create'), help=u"""Creates a new MediaAsset. \n[Command Reference](createMediaAsset)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["AUDIO", "VIDEO", "PLAYLIST", "IMAGE", "CAPTION_FILE", "UNKNOWN"]), help=u"""The type of the media asset.""")
@cli_util.option('--source-media-workflow-id', help=u"""The ID of the MediaWorkflow used to produce this asset.""")
@cli_util.option('--media-workflow-job-id', help=u"""The ID of the MediaWorkflowJob used to produce this asset.""")
@@ -911,7 +911,7 @@ def create_media_asset(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@media_workflow_group.command(name=cli_util.override('media_services.create_media_workflow.command_name', 'create'), help=u"""Creates a new MediaWorkflow. \n[Command Reference](createMediaWorkflow)""")
@cli_util.option('--display-name', required=True, help=u"""Name for the MediaWorkflow. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--tasks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The processing to be done in this workflow. Each key of the MediaWorkflowTasks in this array must be unique within the array. The order of tasks given here will be preserved.
This option is a JSON list with items of type MediaWorkflowTask. For documentation on MediaWorkflowTask please see our API reference: https://docs.cloud.oracle.com/api/#/en/mediaservices/20211101/datatypes/MediaWorkflowTask.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -991,7 +991,7 @@ def create_media_workflow(ctx, from_json, wait_for_state, max_wait_seconds, wait
@media_workflow_configuration_group.command(name=cli_util.override('media_services.create_media_workflow_configuration.command_name', 'create'), help=u"""Creates a new MediaWorkflowConfiguration. \n[Command Reference](createMediaWorkflowConfiguration)""")
@cli_util.option('--display-name', required=True, help=u"""MediaWorkflowConfiguration identifier. Avoid entering confidential information.""")
@cli_util.option('--parameters', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Reuseable parameter values encoded as a JSON; the top and second level JSON elements are objects. Each key of the top level object refers to a task key that is unqiue to the workflow, each of the second level objects' keys refer to the name of a parameter that is unique to the task. taskKey -> parameterName -> parameterValue""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
@@ -1057,7 +1057,7 @@ def create_media_workflow_configuration(ctx, from_json, wait_for_state, max_wait
@media_workflow_job_group.command(name=cli_util.override('media_services.create_media_workflow_job.command_name', 'create'), help=u"""Run the MediaWorkflow according to the given mediaWorkflow definition and configuration. \n[Command Reference](createMediaWorkflowJob)""")
@cli_util.option('--workflow-identifier-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ID", "NAME"]), help=u"""Discriminate identification of a workflow by name versus a workflow by ID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""ID of the compartment in which the job should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the compartment in which the job should be created.""")
@cli_util.option('--media-workflow-configuration-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Configurations to be applied to this run of the workflow.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Name of the Media Workflow Job. Does not have to be unique. Avoid entering confidential information.""")
@cli_util.option('--parameters', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Parameters that override parameters specified in MediaWorkflowTaskDeclarations, the MediaWorkflow, the MediaWorkflow's MediaWorkflowConfigurations and the MediaWorkflowConfigurations of this MediaWorkflowJob. The parameters are given as JSON. The top level and 2nd level elements must be JSON objects (vs arrays, scalars, etc). The top level keys refer to a task's key and the 2nd level keys refer to a parameter's name.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1133,7 +1133,7 @@ def create_media_workflow_job(ctx, from_json, wait_for_state, max_wait_seconds,
@media_workflow_job_group.command(name=cli_util.override('media_services.create_media_workflow_job_create_media_workflow_job_by_name_details.command_name', 'create-media-workflow-job-create-media-workflow-job-by-name-details'), help=u"""Run the MediaWorkflow according to the given mediaWorkflow definition and configuration. \n[Command Reference](createMediaWorkflowJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""ID of the compartment in which the job should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the compartment in which the job should be created.""")
@cli_util.option('--media-workflow-configuration-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Configurations to be applied to this run of the workflow.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Name of the Media Workflow Job. Does not have to be unique. Avoid entering confidential information.""")
@cli_util.option('--parameters', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Parameters that override parameters specified in MediaWorkflowTaskDeclarations, the MediaWorkflow, the MediaWorkflow's MediaWorkflowConfigurations and the MediaWorkflowConfigurations of this MediaWorkflowJob. The parameters are given as JSON. The top level and 2nd level elements must be JSON objects (vs arrays, scalars, etc). The top level keys refer to a task's key and the 2nd level keys refer to a parameter's name.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1214,7 +1214,7 @@ def create_media_workflow_job_create_media_workflow_job_by_name_details(ctx, fro
@media_workflow_job_group.command(name=cli_util.override('media_services.create_media_workflow_job_create_media_workflow_job_by_id_details.command_name', 'create-media-workflow-job-create-media-workflow-job-by-id-details'), help=u"""Run the MediaWorkflow according to the given mediaWorkflow definition and configuration. \n[Command Reference](createMediaWorkflowJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""ID of the compartment in which the job should be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""ID of the compartment in which the job should be created.""")
@cli_util.option('--media-workflow-configuration-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Configurations to be applied to this run of the workflow.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Name of the Media Workflow Job. Does not have to be unique. Avoid entering confidential information.""")
@cli_util.option('--parameters', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Parameters that override parameters specified in MediaWorkflowTaskDeclarations, the MediaWorkflow, the MediaWorkflow's MediaWorkflowConfigurations and the MediaWorkflowConfigurations of this MediaWorkflowJob. The parameters are given as JSON. The top level and 2nd level elements must be JSON objects (vs arrays, scalars, etc). The top level keys refer to a task's key and the 2nd level keys refer to a parameter's name.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1555,7 +1555,7 @@ def create_stream_cdn_config_edge_stream_cdn_config(ctx, from_json, wait_for_sta
@stream_distribution_channel_group.command(name=cli_util.override('media_services.create_stream_distribution_channel.command_name', 'create'), help=u"""Creates a new Stream Distribution Channel. \n[Command Reference](createStreamDistributionChannel)""")
@cli_util.option('--display-name', required=True, help=u"""Stream Distribution Channel display name. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--locks', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Locks associated with this resource.
@@ -2563,7 +2563,7 @@ def ingest_stream_distribution_channel(ctx, from_json, stream_distribution_chann
@stream_distribution_channel_group.command(name=cli_util.override('media_services.ingest_stream_distribution_channel_asset_metadata_entry_details.command_name', 'ingest-stream-distribution-channel-asset-metadata-entry-details'), help=u"""Ingests an Asset into a Distribution Channel. \n[Command Reference](ingestStreamDistributionChannel)""")
@cli_util.option('--stream-distribution-channel-id', required=True, help=u"""Unique Stream Distribution Channel path identifier.""")
@cli_util.option('--media-asset-id', required=True, help=u"""The Media Asset ID to ingest into the Distribution Channel.""")
-@cli_util.option('--compartment-id', help=u"""The compartment ID where the Ingest Workflow Job will be run.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartment ID where the Ingest Workflow Job will be run.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -2658,7 +2658,7 @@ def list_media_asset_distribution_channel_attachments(ctx, from_json, all_pages,
@media_asset_group.command(name=cli_util.override('media_services.list_media_assets.command_name', 'list'), help=u"""Returns a list of MediaAssetSummary. \n[Command Reference](listMediaAssets)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -2744,7 +2744,7 @@ def list_media_assets(ctx, from_json, all_pages, page_size, compartment_id, disp
@media_workflow_configuration_collection_group.command(name=cli_util.override('media_services.list_media_workflow_configurations.command_name', 'list-media-workflow-configurations'), help=u"""Returns a list of MediaWorkflowConfigurations. \n[Command Reference](listMediaWorkflowConfigurations)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "NEEDS_ATTENTION", "DELETED"]), help=u"""A filter to return only the resources with lifecycleState matching the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique MediaWorkflowConfiguration identifier.""")
@@ -2806,7 +2806,7 @@ def list_media_workflow_configurations(ctx, from_json, all_pages, page_size, com
@media_workflow_job_group.command(name=cli_util.override('media_services.list_media_workflow_jobs.command_name', 'list'), help=u"""Lists the MediaWorkflowJobs. \n[Command Reference](listMediaWorkflowJobs)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""unique MediaWorkflowJob identifier""")
@cli_util.option('--media-workflow-id', help=u"""Unique MediaWorkflow identifier.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name given.""")
@@ -2871,7 +2871,7 @@ def list_media_workflow_jobs(ctx, from_json, all_pages, page_size, compartment_i
@media_workflow_task_declaration_collection_group.command(name=cli_util.override('media_services.list_media_workflow_task_declarations.command_name', 'list-media-workflow-task-declarations'), help=u"""Returns a list of MediaWorkflowTaskDeclarations. \n[Command Reference](listMediaWorkflowTaskDeclarations)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return only the resources with their system defined, unique name matching the given name.""")
@cli_util.option('--version-parameterconflict', type=click.INT, help=u"""A filter to select MediaWorkflowTaskDeclaration by version.""")
@cli_util.option('--is-current', type=click.BOOL, help=u"""A filter to only select the newest version for each MediaWorkflowTaskDeclaration name.""")
@@ -2933,7 +2933,7 @@ def list_media_workflow_task_declarations(ctx, from_json, all_pages, page_size,
@media_workflow_group.command(name=cli_util.override('media_services.list_media_workflows.command_name', 'list'), help=u"""Lists the MediaWorkflows. \n[Command Reference](listMediaWorkflows)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Unique MediaWorkflow identifier.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "NEEDS_ATTENTION", "DELETED"]), help=u"""A filter to return only the resources with lifecycleState matching the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name given.""")
@@ -3058,7 +3058,7 @@ def list_stream_cdn_configs(ctx, from_json, all_pages, page_size, distribution_c
@stream_distribution_channel_group.command(name=cli_util.override('media_services.list_stream_distribution_channels.command_name', 'list'), help=u"""Lists the Stream Distribution Channels. \n[Command Reference](listStreamDistributionChannels)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""Unique Stream Distribution Channel identifier.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "NEEDS_ATTENTION", "DELETED"]), help=u"""A filter to return only the resources with lifecycleState matching the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resources that match the entire display name given.""")
@@ -3183,7 +3183,7 @@ def list_stream_packaging_configs(ctx, from_json, all_pages, page_size, distribu
@media_workflow_group.command(name=cli_util.override('media_services.list_system_media_workflows.command_name', 'list-system'), help=u"""Lists the SystemMediaWorkflows that can be used to run a job by name or as a template to create a MediaWorkflow. \n[Command Reference](listSystemMediaWorkflows)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return only the resources with their system defined, unique name matching the given name.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -3237,7 +3237,7 @@ def list_system_media_workflows(ctx, from_json, all_pages, page_size, compartmen
@media_asset_group.command(name=cli_util.override('media_services.remove_media_asset_lock.command_name', 'remove'), help=u"""Remove a lock to an MediaAsset. \n[Command Reference](removeMediaAssetLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-asset-id', required=True, help=u"""Unique MediaAsset identifier""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3308,7 +3308,7 @@ def remove_media_asset_lock(ctx, from_json, wait_for_state, max_wait_seconds, wa
@media_workflow_configuration_group.command(name=cli_util.override('media_services.remove_media_workflow_configuration_lock.command_name', 'remove'), help=u"""Remove a lock from a MediaWorkflowConfiguration. \n[Command Reference](removeMediaWorkflowConfigurationLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-workflow-configuration-id', required=True, help=u"""Unique MediaWorkflowConfiguration identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3379,7 +3379,7 @@ def remove_media_workflow_configuration_lock(ctx, from_json, wait_for_state, max
@media_workflow_job_group.command(name=cli_util.override('media_services.remove_media_workflow_job_lock.command_name', 'remove'), help=u"""Remove a lock from a MediaWorkflowJob. \n[Command Reference](removeMediaWorkflowJobLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-workflow-job-id', required=True, help=u"""Unique MediaWorkflowJob identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3450,7 +3450,7 @@ def remove_media_workflow_job_lock(ctx, from_json, wait_for_state, max_wait_seco
@media_workflow_group.command(name=cli_util.override('media_services.remove_media_workflow_lock.command_name', 'remove'), help=u"""Remove a lock from a MediaWorkflow. \n[Command Reference](removeMediaWorkflowLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--media-workflow-id', required=True, help=u"""Unique MediaWorkflow identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3521,7 +3521,7 @@ def remove_media_workflow_lock(ctx, from_json, wait_for_state, max_wait_seconds,
@stream_cdn_config_group.command(name=cli_util.override('media_services.remove_stream_cdn_config_lock.command_name', 'remove'), help=u"""Remove a lock from a StreamCdnConfig. \n[Command Reference](removeStreamCdnConfigLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--stream-cdn-config-id', required=True, help=u"""Unique StreamCdnConfig identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3592,7 +3592,7 @@ def remove_stream_cdn_config_lock(ctx, from_json, wait_for_state, max_wait_secon
@stream_distribution_channel_group.command(name=cli_util.override('media_services.remove_stream_distribution_channel_lock.command_name', 'remove'), help=u"""Remove a lock to a StreamDistributionChannel. \n[Command Reference](removeStreamDistributionChannelLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--stream-distribution-channel-id', required=True, help=u"""Unique Stream Distribution Channel path identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
@@ -3663,7 +3663,7 @@ def remove_stream_distribution_channel_lock(ctx, from_json, wait_for_state, max_
@stream_packaging_config_group.command(name=cli_util.override('media_services.remove_stream_packaging_config_lock.command_name', 'remove'), help=u"""Remove a lock from a StreamPackagingConfig. \n[Command Reference](removeStreamPackagingConfigLock)""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FULL", "DELETE"]), help=u"""Type of the lock.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID of the lock.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID of the lock.""")
@cli_util.option('--stream-packaging-config-id', required=True, help=u"""Unique Stream Packaging Configuration path identifier.""")
@cli_util.option('--related-resource-id', help=u"""The ID of the resource that is locking this resource. Indicates that deleting this resource will remove the lock.""")
@cli_util.option('--message', help=u"""A message added by the creator of the lock. This is typically used to give an indication of why the resource is locked.""")
diff --git a/services/mngdmac/src/oci_cli_mac_device/generated/macdevice_cli.py b/services/mngdmac/src/oci_cli_mac_device/generated/macdevice_cli.py
index 7831318b..ecc4b582 100644
--- a/services/mngdmac/src/oci_cli_mac_device/generated/macdevice_cli.py
+++ b/services/mngdmac/src/oci_cli_mac_device/generated/macdevice_cli.py
@@ -68,7 +68,7 @@ def get_mac_device(ctx, from_json, mac_device_id, mac_order_id):
@mac_device_collection_group.command(name=cli_util.override('mac_device.list_mac_devices.command_name', 'list-mac-devices'), help=u"""Gets a list of MacDevices assigned to this order. \n[Command Reference](listMacDevices)""")
@cli_util.option('--mac-order-id', required=True, help=u"""The [OCID] of the MacOrder.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""The UUID of the MacDevice.""")
@cli_util.option('--serial-number', help=u"""The serial number of the MacDevice.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
diff --git a/services/mngdmac/src/oci_cli_mac_order/generated/macorder_cli.py b/services/mngdmac/src/oci_cli_mac_order/generated/macorder_cli.py
index 20e9cf32..120fb8f3 100644
--- a/services/mngdmac/src/oci_cli_mac_order/generated/macorder_cli.py
+++ b/services/mngdmac/src/oci_cli_mac_order/generated/macorder_cli.py
@@ -151,7 +151,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@mac_order_group.command(name=cli_util.override('mac_order.change_mac_order_compartment.command_name', 'change-compartment'), help=u"""Moves a MacOrder 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](changeMacOrderCompartment)""")
@cli_util.option('--mac-order-id', required=True, help=u"""The [OCID] of the MacOrder.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the MacOrder to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the MacOrder to.""")
@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.""")
@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.""")
@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.""")
@@ -211,7 +211,7 @@ def change_mac_order_compartment(ctx, from_json, wait_for_state, max_wait_second
@mac_order_group.command(name=cli_util.override('mac_order.create_mac_order.command_name', 'create'), help=u"""Creates a MacOrder. \n[Command Reference](createMacOrder)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment to which the resource belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment to which the resource belongs to.""")
@cli_util.option('--order-description', required=True, help=u"""A user-friendly description. To provide some insight about the resource. Avoid entering confidential information.""")
@cli_util.option('--order-size', required=True, type=click.INT, help=u"""Number of macs requested in this MacOrder.""")
@cli_util.option('--shape', required=True, help=u"""The requested shape of the MacDevices in the MacOrder.""")
@@ -326,7 +326,7 @@ def get_work_request(ctx, from_json, work_request_id):
@mac_order_collection_group.command(name=cli_util.override('mac_order.list_mac_orders.command_name', 'list-mac-orders'), help=u"""Gets a list of MacOrders. \n[Command Reference](listMacOrders)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the MacOrder.""")
@@ -502,7 +502,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('mac_order.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/monitoring/src/oci_cli_monitoring/generated/monitoring_cli.py b/services/monitoring/src/oci_cli_monitoring/generated/monitoring_cli.py
index eadc1799..436d3b6b 100644
--- a/services/monitoring/src/oci_cli_monitoring/generated/monitoring_cli.py
+++ b/services/monitoring/src/oci_cli_monitoring/generated/monitoring_cli.py
@@ -107,8 +107,8 @@ def alarm_suppression_group():
@alarm_group.command(name=cli_util.override('monitoring.change_alarm_compartment.command_name', 'change-compartment'), help=u"""Moves an alarm into a different compartment within the same tenancy. For more information, see [Moving an Alarm]. \n[Command Reference](changeAlarmCompartment)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the alarm to.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the alarm to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -145,7 +145,7 @@ def change_alarm_compartment(ctx, from_json, alarm_id, compartment_id, if_match)
This value determines the title of each alarm notification.
Example: `High CPU Utilization`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the alarm.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the alarm.""")
@cli_util.option('--metric-compartment-id', required=True, help=u"""The [OCID] of the compartment containing the metric being evaluated by the alarm.""")
@cli_util.option('--namespace', required=True, help=u"""The source service or application emitting the metric that is evaluated by the alarm.
@@ -628,7 +628,7 @@ def create_alarm_suppression_alarm_suppression_compartment_target(ctx, from_json
@alarm_group.command(name=cli_util.override('monitoring.delete_alarm.command_name', 'delete'), help=u"""Deletes the specified alarm. For more information, see [Deleting an Alarm]. For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](deleteAlarm)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -762,7 +762,7 @@ def delete_alarm_suppression(ctx, from_json, wait_for_state, max_wait_seconds, w
@alarm_group.command(name=cli_util.override('monitoring.get_alarm.command_name', 'get'), help=u"""Gets the specified alarm. For more information, see [Getting an Alarm]. For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](getAlarm)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -786,7 +786,7 @@ def get_alarm(ctx, from_json, alarm_id):
@alarm_history_collection_group.command(name=cli_util.override('monitoring.get_alarm_history.command_name', 'get-alarm-history'), help=u"""Get the history of the specified alarm. For more information, see [Getting History of an Alarm]. For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](getAlarmHistory)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
@cli_util.option('--alarm-historytype', type=custom_types.CliCaseInsensitiveChoice(["STATE_HISTORY", "STATE_TRANSITION_HISTORY", "RULE_HISTORY", "RULE_TRANSITION_HISTORY"]), help=u"""The type of history entries to retrieve. State history (STATE_HISTORY), state transition history (STATE_TRANSITION_HISTORY), rule history (RULE_HISTORY) or rule transition history (RULE_TRANSITION_HISTORY). If not specified, entries of all types are retrieved.
Example: `STATE_HISTORY`""")
@@ -863,11 +863,11 @@ def get_alarm_suppression(ctx, from_json, alarm_suppression_id):
For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](listAlarmSuppressions)""")
-@cli_util.option('--alarm-id', help=u"""The [OCID] of the alarm that is the target of the alarm suppression.""")
+@cli_util.option('--alarm-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the alarm that is the target of the alarm suppression.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly. Use this filter to list an alarm suppression by name. Alternatively, when you know the alarm suppression OCID, use the GetAlarmSuppression operation.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""A filter to return only resources that match the given lifecycle state exactly. When not specified, only resources in the ACTIVE lifecycle state are listed.""")
@cli_util.option('--level', type=custom_types.CliCaseInsensitiveChoice(["ALARM", "DIMENSION"]), help=u"""The level of this alarm suppression. `ALARM` indicates a suppression of the entire alarm, regardless of dimension. `DIMENSION` indicates a suppression configured for specified dimensions.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment for searching. Use the tenancy OCID to search in the root compartment.
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for searching. Use the tenancy OCID to search in the root compartment.
If targetType is not specified, searches all suppressions defined under the compartment. If targetType is `COMPARTMENT`, searches suppressions in the specified compartment only.
@@ -955,7 +955,7 @@ def list_alarm_suppressions(ctx, from_json, all_pages, page_size, alarm_id, disp
@alarm_group.command(name=cli_util.override('monitoring.list_alarms.command_name', 'list'), help=u"""Lists the alarms for the specified compartment. For more information, see [Listing Alarms]. For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](listAlarms)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
Example: `ocid1.compartment.oc1..exampleuniqueID`""")
@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].""")
@@ -1032,7 +1032,7 @@ def list_alarms(ctx, from_json, all_pages, page_size, compartment_id, page, limi
For more information, see [Listing Alarm Statuses]. For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](listAlarmsStatus)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
Example: `ocid1.compartment.oc1..exampleuniqueID`""")
@cli_util.option('--compartment-id-in-subtree', type=click.BOOL, help=u"""When true, returns resources from all compartments and subcompartments. The parameter can only be set to true when compartmentId is the tenancy OCID (the tenancy is the root compartment). A true value requires the user to have tenancy-level permissions. If this requirement is not met, then the call is rejected. When false, returns resources from only the compartment specified in compartmentId. Default is false.""")
@@ -1124,7 +1124,7 @@ def list_alarms_status(ctx, from_json, all_pages, page_size, compartment_id, com
@metric_group.command(name=cli_util.override('monitoring.list_metrics.command_name', 'list'), help=u"""Returns metric definitions that match the criteria specified in the request. Compartment OCID required. For more information, see [Listing Metric Definitions]. For information about metrics, see [Metrics Overview]. For important limits information, see [Limits on Monitoring].
Transactions Per Second (TPS) per-tenancy limit for this operation: 10. \n[Command Reference](listMetrics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
Example: `ocid1.compartment.oc1..exampleuniqueID`""")
@cli_util.option('--name', help=u"""The metric name to use when searching for metric definitions.
@@ -1275,7 +1275,7 @@ def post_metric_data(ctx, from_json, metric_data, batch_atomicity, content_encod
@suppression_group.command(name=cli_util.override('monitoring.remove_alarm_suppression.command_name', 'remove'), help=u"""Removes any existing suppression for the specified alarm. For more information, see [Removing Suppression from an Alarm]. For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](removeAlarmSuppression)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1306,7 +1306,7 @@ def remove_alarm_suppression(ctx, from_json, alarm_id, if_match):
For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](retrieveDimensionStates)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
@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].""")
@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].
@@ -1354,7 +1354,7 @@ def retrieve_dimension_states(ctx, from_json, alarm_id, page, limit, dimension_f
For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](summarizeAlarmSuppressionHistory)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
@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].""")
@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].
@@ -1414,7 +1414,7 @@ def summarize_alarm_suppression_history(ctx, from_json, alarm_id, page, limit, d
@metric_data_group.command(name=cli_util.override('monitoring.summarize_metrics_data.command_name', 'summarize-metrics-data'), help=u"""Returns aggregated data that match the criteria specified in the request. Compartment OCID required. For more information, see [Querying Metric Data] and [Creating a Query]. For important limits information, see [Limits on Monitoring].
Transactions Per Second (TPS) per-tenancy limit for this operation: 10. \n[Command Reference](summarizeMetricsData)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the resources monitored by the metric that you are searching for. Use tenancyId to search in the root compartment.
Example: `ocid1.compartment.oc1..exampleuniqueID`""")
@cli_util.option('--namespace', required=True, help=u"""The source service or application to use when searching for metric data points to aggregate.
@@ -1482,13 +1482,13 @@ def summarize_metrics_data(ctx, from_json, compartment_id, namespace, query_para
@alarm_group.command(name=cli_util.override('monitoring.update_alarm.command_name', 'update'), help=u"""Updates the specified alarm. For more information, see [Updating an Alarm]. For important limits information, see [Limits on Monitoring].
This call is subject to a Monitoring limit that applies to the total number of requests across all alarm operations. Monitoring might throttle this call to reject an otherwise valid request when the total rate of alarm operations exceeds 10 requests, or transactions, per second (TPS) for a given tenancy. \n[Command Reference](updateAlarm)""")
-@cli_util.option('--alarm-id', required=True, help=u"""The [OCID] of an alarm.""")
+@cli_util.option('--alarm-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of an alarm.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the alarm. It does not have to be unique, and it's changeable. Avoid entering confidential information.
This value determines the title of each alarm notification.
Example: `High CPU Utilization`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment containing the alarm.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the alarm.""")
@cli_util.option('--metric-compartment-id', help=u"""The [OCID] of the compartment containing the metric being evaluated by the alarm.""")
@cli_util.option('--metric-compartment-id-in-subtree', type=click.BOOL, help=u"""When true, the alarm evaluates metrics from all compartments and subcompartments. The parameter can only be set to true when metricCompartmentId is the tenancy OCID (the tenancy is the root compartment). A true value requires the user to have tenancy-level permissions. If this requirement is not met, then the call is rejected. When false, the alarm evaluates metrics from only the compartment specified in metricCompartmentId. Default is false.
diff --git a/services/multicloud/src/oci_cli_metadata/generated/metadata_cli.py b/services/multicloud/src/oci_cli_metadata/generated/metadata_cli.py
index 40131fed..e19e49d3 100644
--- a/services/multicloud/src/oci_cli_metadata/generated/metadata_cli.py
+++ b/services/multicloud/src/oci_cli_metadata/generated/metadata_cli.py
@@ -47,14 +47,14 @@ def external_locations_metadatum_collection_group():
@external_locations_metadatum_collection_group.command(name=cli_util.override('metadata.list_external_location_details_metadata.command_name', 'list-external-location-details-metadata'), help=u"""List externalLocationDetail metadata from OCI to Cloud Service Provider for regions, Availability Zones, and Cluster Placement Group ID. \n[Command Reference](listExternalLocationDetailsMetadata)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@cli_util.option('--subscription-service-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), help=u"""The subscription service name of the Cloud Service Provider.""")
@cli_util.option('--entity-type', type=custom_types.CliCaseInsensitiveChoice(["dbsystem"]), help=u"""The resource type query (i.e. dbsystem, instance etc.)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the Multicloud base compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud base compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
@cli_util.option('--linked-compartment-id', help=u"""The [OCID] of the compartment linked to the resource.""")
@cli_util.option('--external-location', help=u"""The Cloud Service Provider region.""")
@cli_util.option('--logical-zone', help=u"""OCI Logical AD to filter the response.""")
-@cli_util.option('--cluster-placement-group-id', help=u"""The [OCID] of the Cluster Placement Group.""")
+@cli_util.option('--cluster-placement-group-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Cluster Placement Group.""")
@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].""")
@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].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -124,8 +124,8 @@ def list_external_location_details_metadata(ctx, from_json, all_pages, page_size
@external_location_mapping_metadatum_summary_collection_group.command(name=cli_util.override('metadata.list_external_location_mapping_metadata.command_name', 'list-external-location-mapping-metadata'), help=u"""List externalLocation metadata from OCI to the Cloud Service Provider for regions, Physical Availability Zones. \n[Command Reference](listExternalLocationMappingMetadata)""")
@cli_util.option('--subscription-service-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), multiple=True, help=u"""The subscription type of the Cloud Service Provider.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Multicloud base compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud base compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@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].""")
@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].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -185,8 +185,8 @@ def list_external_location_mapping_metadata(ctx, from_json, all_pages, page_size
@external_location_summaries_metadatum_summary_collection_group.command(name=cli_util.override('metadata.list_external_location_summaries_metadata.command_name', 'list-external-location-summaries-metadata'), help=u"""List externalLocationSummary metadata from OCI Region to the Cloud Service Provider region across all regions. \n[Command Reference](listExternalLocationSummariesMetadata)""")
@cli_util.option('--subscription-service-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), help=u"""The subscription service name of the Cloud Service Provider.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the Multicloud base compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud base compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@cli_util.option('--entity-type', type=custom_types.CliCaseInsensitiveChoice(["dbsystem"]), help=u"""The resource type query (i.e. dbsystem, instance etc.)""")
@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].""")
@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].""")
diff --git a/services/multicloud/src/oci_cli_multi_clouds_metadata/generated/multicloudsmetadata_cli.py b/services/multicloud/src/oci_cli_multi_clouds_metadata/generated/multicloudsmetadata_cli.py
index 6b5ede0a..f3822ed5 100644
--- a/services/multicloud/src/oci_cli_multi_clouds_metadata/generated/multicloudsmetadata_cli.py
+++ b/services/multicloud/src/oci_cli_multi_clouds_metadata/generated/multicloudsmetadata_cli.py
@@ -40,8 +40,8 @@ def multi_cloud_metadata_group():
@multi_cloud_metadata_group.command(name=cli_util.override('multi_clouds_metadata.get_multi_cloud_metadata.command_name', 'get'), help=u"""Gets information about the Multicloud base compartment for a given tenancy Id. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud). \n[Command Reference](getMultiCloudMetadata)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the OCI subscription.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the OCI subscription.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -64,7 +64,7 @@ def get_multi_cloud_metadata(ctx, from_json, compartment_id, subscription_id):
@multi_cloud_metadata_collection_group.command(name=cli_util.override('multi_clouds_metadata.list_multi_cloud_metadata.command_name', 'list-multi-cloud-metadata'), help=u"""Gets a list of multicloud metadata with pairs of Multicloud base compartment and subscription across Cloud Service Providers from a tenancy Id. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud). \n[Command Reference](listMultiCloudMetadata)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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].""")
@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].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
diff --git a/services/multicloud/src/oci_cli_multicloud_resources/generated/multicloudresources_cli.py b/services/multicloud/src/oci_cli_multicloud_resources/generated/multicloudresources_cli.py
index 15497187..679d3672 100644
--- a/services/multicloud/src/oci_cli_multicloud_resources/generated/multicloudresources_cli.py
+++ b/services/multicloud/src/oci_cli_multicloud_resources/generated/multicloudresources_cli.py
@@ -34,9 +34,9 @@ def multicloud_resource_collection_group():
@multicloud_resource_collection_group.command(name=cli_util.override('multicloud_resources.list_multicloud_resources.command_name', 'list-multicloud-resources'), help=u"""Gets a list of multicloud resources with multicloud base compartment and subscription across Cloud Service Providers. \n[Command Reference](listMulticloudResources)""")
@cli_util.option('--subscription-service-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), help=u"""The subscription service name of the Cloud Service Provider.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@cli_util.option('--resource-anchor-id', help=u"""The [OCID] of the ResourceAnchor.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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].""")
@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].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
diff --git a/services/multicloud/src/oci_cli_multicloudsubscriptions/generated/multicloudsubscriptions_cli.py b/services/multicloud/src/oci_cli_multicloudsubscriptions/generated/multicloudsubscriptions_cli.py
index a461a2e6..212b6731 100644
--- a/services/multicloud/src/oci_cli_multicloudsubscriptions/generated/multicloudsubscriptions_cli.py
+++ b/services/multicloud/src/oci_cli_multicloudsubscriptions/generated/multicloudsubscriptions_cli.py
@@ -33,7 +33,7 @@ def multicloud_subscription_collection_group():
@multicloud_subscription_collection_group.command(name=cli_util.override('multicloudsubscriptions.list_multicloud_subscriptions.command_name', 'list-multicloud-subscriptions'), help=u"""Gets a list of Multicloud Resources. \n[Command Reference](listMulticloudSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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].""")
@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].""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
diff --git a/services/multicloud/src/oci_cli_omhub_network_anchor/generated/omhubnetworkanchor_cli.py b/services/multicloud/src/oci_cli_omhub_network_anchor/generated/omhubnetworkanchor_cli.py
index 37a7186b..b10194fa 100644
--- a/services/multicloud/src/oci_cli_omhub_network_anchor/generated/omhubnetworkanchor_cli.py
+++ b/services/multicloud/src/oci_cli_omhub_network_anchor/generated/omhubnetworkanchor_cli.py
@@ -44,7 +44,7 @@ def network_anchor_collection_group():
@network_anchor_group.command(name=cli_util.override('omhub_network_anchor.get_network_anchor.command_name', 'get'), help=u"""Gets information about a NetworkAnchor. \n[Command Reference](getNetworkAnchor)""")
@cli_util.option('--network-anchor-id', required=True, help=u"""The [OCID] of the NetworkAnchor.""")
@cli_util.option('--subscription-service-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), help=u"""The subscription service name of the Cloud Service Provider.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@cli_util.option('--external-location', help=u"""The Cloud Service Provider region.""")
@cli_util.option('--should-fetch-vcn-name', type=click.BOOL, help=u"""Whether to fetch and include the vcn display name, which may introduce additional latency.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -74,8 +74,8 @@ def get_network_anchor(ctx, from_json, network_anchor_id, subscription_service_n
@network_anchor_collection_group.command(name=cli_util.override('omhub_network_anchor.list_network_anchors.command_name', 'list-network-anchors'), help=u"""Gets a list of NetworkAnchors. \n[Command Reference](listNetworkAnchors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the Multicloud base compartment or sub-compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud base compartment or sub-compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@cli_util.option('--subscription-service-name', type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), help=u"""The subscription service name of the Cloud Service Provider.""")
@cli_util.option('--network-anchor-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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
diff --git a/services/multicloud/src/oci_cli_omhub_resource_anchor/generated/omhubresourceanchor_cli.py b/services/multicloud/src/oci_cli_omhub_resource_anchor/generated/omhubresourceanchor_cli.py
index d7c54aa7..a397628a 100644
--- a/services/multicloud/src/oci_cli_omhub_resource_anchor/generated/omhubresourceanchor_cli.py
+++ b/services/multicloud/src/oci_cli_omhub_resource_anchor/generated/omhubresourceanchor_cli.py
@@ -44,7 +44,7 @@ def resource_anchor_group():
@resource_anchor_group.command(name=cli_util.override('omhub_resource_anchor.get_resource_anchor.command_name', 'get'), help=u"""Gets information about a ResourceAnchor. \n[Command Reference](getResourceAnchor)""")
@cli_util.option('--resource-anchor-id', required=True, help=u"""The [OCID] of the ResourceAnchor.""")
@cli_util.option('--subscription-service-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), help=u"""The subscription service name of the Cloud Service Provider.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@cli_util.option('--should-fetch-compartment-name', type=click.BOOL, help=u"""Whether to fetch and include the compartment name, setting this field to yes may introduce additional latency.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -71,7 +71,7 @@ def get_resource_anchor(ctx, from_json, resource_anchor_id, subscription_service
@resource_anchor_collection_group.command(name=cli_util.override('omhub_resource_anchor.list_resource_anchors.command_name', 'list-resource-anchors'), help=u"""Gets a list of ResourceAnchors. \n[Command Reference](listResourceAnchors)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the Multicloud base compartment or sub-compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud base compartment or sub-compartment in which to list resources. A Multicloud base compartment is an OCI compartment that maps to a subscription in a Cloud Service Provider (such as Azure, AWS, or Google Cloud).""")
@cli_util.option('--linked-compartment-id', help=u"""The [OCID] of the compartment linked to the resource.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@@ -83,7 +83,7 @@ def get_resource_anchor(ctx, from_json, resource_anchor_id, subscription_service
@cli_util.option('--is-compartment-id-in-subtree', type=click.BOOL, help=u"""Check the sub-compartments of a given compartmentId""")
@cli_util.option('--should-fetch-compartment-name', type=click.BOOL, help=u"""Whether to fetch and include the compartment name, setting this field to yes may introduce additional latency.""")
@cli_util.option('--subscription-service-name', type=custom_types.CliCaseInsensitiveChoice(["ORACLEDBATAZURE", "ORACLEDBATGOOGLE", "ORACLEDBATAWS"]), help=u"""The subscription service name of the Cloud Service Provider.""")
-@cli_util.option('--subscription-id', help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Multicloud subscription in which to list resources.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/mysql/src/oci_cli_channels/generated/channels_cli.py b/services/mysql/src/oci_cli_channels/generated/channels_cli.py
index 9f8d47d8..30b1b430 100644
--- a/services/mysql/src/oci_cli_channels/generated/channels_cli.py
+++ b/services/mysql/src/oci_cli_channels/generated/channels_cli.py
@@ -35,7 +35,7 @@ def channel_group():
@channel_group.command(name=cli_util.override('channels.create_channel.command_name', 'create'), help=u"""Creates a Channel to establish replication from a source to a target. \n[Command Reference](createChannel)""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the Channel. It does not have to be unique.""")
@cli_util.option('--is-enabled', type=click.BOOL, help=u"""Whether the Channel should be enabled upon creation. If set to true, the Channel will be asynchronously started as a result of the create Channel operation.""")
@cli_util.option('--description', help=u"""User provided information about the Channel.""")
@@ -119,7 +119,7 @@ def create_channel(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@cli_util.option('--source-username', required=True, help=u"""The name of the replication user on the source MySQL instance. The username has a maximum length of 96 characters. For more information, please see the [MySQL documentation]""")
@cli_util.option('--source-password', required=True, help=u"""The password for the replication user. The password must be between 8 and 32 characters long, and must contain at least 1 numeric character, 1 lowercase character, 1 uppercase character, and 1 special (nonalphanumeric) character.""")
@cli_util.option('--source-ssl-mode', required=True, help=u"""The SSL mode of the Channel.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the Channel. It does not have to be unique.""")
@cli_util.option('--is-enabled', type=click.BOOL, help=u"""Whether the Channel should be enabled upon creation. If set to true, the Channel will be asynchronously started as a result of the create Channel operation.""")
@cli_util.option('--description', help=u"""User provided information about the Channel.""")
@@ -218,7 +218,7 @@ def create_channel_create_channel_source_from_mysql_details(ctx, from_json, wait
@channel_group.command(name=cli_util.override('channels.create_channel_create_channel_target_from_db_system_details.command_name', 'create-channel-create-channel-target-from-db-system-details'), help=u"""Creates a Channel to establish replication from a source to a target. \n[Command Reference](createChannel)""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-db-system-id', required=True, help=u"""The OCID of the target DB System.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the Channel. It does not have to be unique.""")
@cli_util.option('--is-enabled', type=click.BOOL, help=u"""Whether the Channel should be enabled upon creation. If set to true, the Channel will be asynchronously started as a result of the create Channel operation.""")
@cli_util.option('--description', help=u"""User provided information about the Channel.""")
@@ -405,8 +405,8 @@ def get_channel(ctx, from_json, channel_id, if_none_match):
@channel_group.command(name=cli_util.override('channels.list_channels.command_name', 'list'), help=u"""Lists all the Channels that match the specified filters. \n[Command Reference](listChannels)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
-@cli_util.option('--db-system-id', help=u"""The DB System [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--channel-id', help=u"""The OCID of the Channel.""")
@cli_util.option('--display-name', help=u"""A filter to return only the resource matching the given display name exactly.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "NEEDS_ATTENTION", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""The LifecycleState of the Channel.""")
diff --git a/services/mysql/src/oci_cli_db_backups/generated/dbbackups_cli.py b/services/mysql/src/oci_cli_db_backups/generated/dbbackups_cli.py
index 7f321fe8..39533c0c 100644
--- a/services/mysql/src/oci_cli_db_backups/generated/dbbackups_cli.py
+++ b/services/mysql/src/oci_cli_db_backups/generated/dbbackups_cli.py
@@ -35,7 +35,7 @@ def backup_group():
@backup_group.command(name=cli_util.override('db_backups.cancel_backup_deletion.command_name', 'cancel-backup-deletion'), help=u"""Cancels the scheduled deletion of a backup and moves it to ACTIVE state. \n[Command Reference](cancelBackupDeletion)""")
-@cli_util.option('--backup-id', required=True, help=u"""The OCID of the Backup""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the Backup""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -92,8 +92,8 @@ def cancel_backup_deletion(ctx, from_json, wait_for_state, max_wait_seconds, wai
@backup_group.command(name=cli_util.override('db_backups.change_backup_compartment.command_name', 'change-compartment'), help=u"""Moves a DB System Backup into a different compartment. When provided, If-Match is checked against ETag values of the Backup. \n[Command Reference](changeBackupCompartment)""")
-@cli_util.option('--backup-id', required=True, help=u"""The OCID of the Backup""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the target compartment.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the Backup""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the target compartment.""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -155,7 +155,7 @@ def change_backup_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@backup_group.command(name=cli_util.override('db_backups.copy_backup.command_name', 'copy'), help=u"""Creates a copy of a DB system backup available in the specified source region. \n[Command Reference](copyBackup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment the DB system backup is to be copied to.
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment the DB system backup is to be copied to.
**Note:** The compartment must be the same as the compartment of the DB system backup in the source region.""")
@cli_util.option('--source-backup-id', required=True, help=u"""The OCID of DB system backup to be copied.""")
@@ -237,7 +237,7 @@ def copy_backup(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@backup_group.command(name=cli_util.override('db_backups.create_backup.command_name', 'create'), help=u"""Create a backup of a DB System. \n[Command Reference](createBackup)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The OCID of the DB System the Backup is associated with.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the DB System the Backup is associated with.""")
@cli_util.option('--display-name', help=u"""A user-supplied display name for the backup.""")
@cli_util.option('--description', help=u"""A user-supplied description for the backup.""")
@cli_util.option('--soft-delete', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Retains the backup to be deleted due to the retention policy in DELETE SCHEDULED state for 7 days before permanently deleting it.""")
@@ -320,7 +320,7 @@ def create_backup(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@backup_group.command(name=cli_util.override('db_backups.delete_backup.command_name', 'delete'), help=u"""Delete a Backup. \n[Command Reference](deleteBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The OCID of the Backup""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the Backup""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -448,7 +448,7 @@ def export_backup(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@backup_group.command(name=cli_util.override('db_backups.get_backup.command_name', 'get'), help=u"""Get information about the specified Backup \n[Command Reference](getBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The OCID of the Backup""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the Backup""")
@cli_util.option('--if-none-match', help=u"""For conditional requests. In the GET call for a resource, set the `If-None-Match` header to the value of the ETag from a previous GET (or POST or PUT) response for that resource. The server will return with either a 304 Not Modified response if the resource has not changed, or a 200 OK response with the updated representation.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -473,10 +473,10 @@ def get_backup(ctx, from_json, backup_id, if_none_match):
@backup_group.command(name=cli_util.override('db_backups.list_backups.command_name', 'list'), help=u"""Get a list of DB System backups. \n[Command Reference](listBackups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
-@cli_util.option('--backup-id', help=u"""Backup OCID""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
+@cli_util.option('--backup-id', type=custom_types.CLI_OCID, help=u"""Backup OCID""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED", "DELETE_SCHEDULED"]), help=u"""Backup Lifecycle State""")
-@cli_util.option('--db-system-id', help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--display-name', help=u"""A filter to return only the resource matching the given display name exactly.""")
@cli_util.option('--soft-delete', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Backup Soft Delete""")
@cli_util.option('--backup-preparation-status', type=custom_types.CliCaseInsensitiveChoice(["PREPARED", "NOT_PREPARED"]), help=u"""Indicates whether the backup has been prepared successfully.""")
@@ -551,7 +551,7 @@ def list_backups(ctx, from_json, all_pages, page_size, compartment_id, backup_id
@backup_group.command(name=cli_util.override('db_backups.update_backup.command_name', 'update'), help=u"""Update the metadata of a Backup. Metadata such as the displayName or description \n[Command Reference](updateBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The OCID of the Backup""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the Backup""")
@cli_util.option('--display-name', help=u"""A user-supplied display name for the backup.""")
@cli_util.option('--description', help=u"""A user-supplied description for the backup.""")
@cli_util.option('--soft-delete', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Retains the backup to be deleted due to the retention policy in DELETE SCHEDULED state for 7 days before permanently deleting it.""")
@@ -635,7 +635,7 @@ def update_backup(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_
@backup_group.command(name=cli_util.override('db_backups.validate_backup.command_name', 'validate'), help=u"""Request to validate the backup by checking the data consistency. \n[Command Reference](validateBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""The OCID of the Backup""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the Backup""")
@cli_util.option('--is-prepared-backup-required', required=True, type=click.BOOL, help=u"""Specifies whether the backup needs to be prepared for fast restore or not. Set to true to prepare the backup, set to false (default) if not required. Note: The prepared backup will replace the original backup and will not generate a new backup copy. The cost associated with the backup may vary, as the prepared backup will consistently be a full backup, it may also change the storage size of the original backup.""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
diff --git a/services/mysql/src/oci_cli_db_system/generated/dbsystem_cli.py b/services/mysql/src/oci_cli_db_system/generated/dbsystem_cli.py
index 4b646613..198051cb 100644
--- a/services/mysql/src/oci_cli_db_system/generated/dbsystem_cli.py
+++ b/services/mysql/src/oci_cli_db_system/generated/dbsystem_cli.py
@@ -47,7 +47,7 @@ def db_system_group():
@heat_wave_cluster_group.command(name=cli_util.override('db_system.add_heat_wave_cluster.command_name', 'add'), help=u"""Adds a HeatWave cluster to the DB System. \n[Command Reference](addHeatWaveCluster)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--shape-name', required=True, help=u"""The shape determines resources to allocate to the HeatWave nodes - CPU cores, memory.""")
@cli_util.option('--cluster-size', required=True, type=click.INT, help=u"""The number of analytics-processing nodes provisioned for the HeatWave cluster.""")
@cli_util.option('--is-lakehouse-enabled', type=click.BOOL, help=u"""Enable/disable Lakehouse for the HeatWave cluster.""")
@@ -116,9 +116,9 @@ def add_heat_wave_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wait
@db_system_group.command(name=cli_util.override('db_system.create_db_system.command_name', 'create'), help=u"""Creates and launches a DB System. \n[Command Reference](createDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--shape-name', required=True, help=u"""The name of the shape. The shape determines the resources allocated - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the [ListShapes] operation.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet the DB System is associated with.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet the DB System is associated with.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB System. It does not have to be unique.""")
@cli_util.option('--description', help=u"""User-provided data about the DB System.""")
@cli_util.option('--rest', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -323,9 +323,9 @@ def create_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@db_system_group.command(name=cli_util.override('db_system.create_db_system_create_db_system_source_from_backup_details.command_name', 'create-db-system-create-db-system-source-from-backup-details'), help=u"""Creates and launches a DB System. \n[Command Reference](createDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--shape-name', required=True, help=u"""The name of the shape. The shape determines the resources allocated - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the [ListShapes] operation.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet the DB System is associated with.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet the DB System is associated with.""")
@cli_util.option('--source-backup-id', required=True, help=u"""The OCID of the backup to be used as the source for the new DB System.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB System. It does not have to be unique.""")
@cli_util.option('--description', help=u"""User-provided data about the DB System.""")
@@ -531,9 +531,9 @@ def create_db_system_create_db_system_source_from_backup_details(ctx, from_json,
@db_system_group.command(name=cli_util.override('db_system.create_db_system_create_db_system_source_from_none_details.command_name', 'create-db-system-create-db-system-source-from-none-details'), help=u"""Creates and launches a DB System. \n[Command Reference](createDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--shape-name', required=True, help=u"""The name of the shape. The shape determines the resources allocated - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the [ListShapes] operation.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet the DB System is associated with.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet the DB System is associated with.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB System. It does not have to be unique.""")
@cli_util.option('--description', help=u"""User-provided data about the DB System.""")
@cli_util.option('--rest', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -737,9 +737,9 @@ def create_db_system_create_db_system_source_from_none_details(ctx, from_json, w
@db_system_group.command(name=cli_util.override('db_system.create_db_system_create_db_system_source_import_from_url_details.command_name', 'create-db-system-create-db-system-source-import-from-url-details'), help=u"""Creates and launches a DB System. \n[Command Reference](createDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--shape-name', required=True, help=u"""The name of the shape. The shape determines the resources allocated - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the [ListShapes] operation.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet the DB System is associated with.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet the DB System is associated with.""")
@cli_util.option('--source-source-url', required=True, help=u"""The Pre-Authenticated Request (PAR) of a bucket/prefix or PAR of a @.manifest.json object from the Object Storage. Check [Using Pre-Authenticated Requests] for information related to PAR creation. Please create PAR with \"Permit object reads\" access type and \"Enable Object Listing\" permission when using a bucket/prefix PAR. Please create PAR with \"Permit object reads\" access type when using a @.manifest.json object PAR.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB System. It does not have to be unique.""")
@cli_util.option('--description', help=u"""User-provided data about the DB System.""")
@@ -945,9 +945,9 @@ def create_db_system_create_db_system_source_import_from_url_details(ctx, from_j
@db_system_group.command(name=cli_util.override('db_system.create_db_system_create_db_system_source_from_pitr_details.command_name', 'create-db-system-create-db-system-source-from-pitr-details'), help=u"""Creates and launches a DB System. \n[Command Reference](createDbSystem)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--shape-name', required=True, help=u"""The name of the shape. The shape determines the resources allocated - CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. To get a list of shapes, use the [ListShapes] operation.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the subnet the DB System is associated with.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the subnet the DB System is associated with.""")
@cli_util.option('--source-db-system-id', required=True, help=u"""The OCID of the DB System from which a backup shall be selected to be restored when creating the new DB System. Use this together with recovery point to perform a point in time recovery operation.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB System. It does not have to be unique.""")
@cli_util.option('--description', help=u"""User-provided data about the DB System.""")
@@ -1157,7 +1157,7 @@ def create_db_system_create_db_system_source_from_pitr_details(ctx, from_json, w
@db_system_group.command(name=cli_util.override('db_system.delete_db_system.command_name', 'delete'), help=u"""Delete a DB System, including terminating, detaching, removing, finalizing and otherwise deleting all related resources. \n[Command Reference](deleteDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -1215,7 +1215,7 @@ def delete_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@heat_wave_cluster_group.command(name=cli_util.override('db_system.delete_heat_wave_cluster.command_name', 'delete'), help=u"""Deletes the HeatWave cluster including terminating, detaching, removing, finalizing and otherwise deleting all related resources. \n[Command Reference](deleteHeatWaveCluster)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -1273,7 +1273,7 @@ def delete_heat_wave_cluster(ctx, from_json, wait_for_state, max_wait_seconds, w
@heat_wave_cluster_memory_estimate_group.command(name=cli_util.override('db_system.generate_heat_wave_cluster_memory_estimate.command_name', 'generate'), help=u"""Sends a request to estimate the memory footprints of user tables when loaded to HeatWave cluster memory. \n[Command Reference](generateHeatWaveClusterMemoryEstimate)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@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.""")
@@ -1327,7 +1327,7 @@ def generate_heat_wave_cluster_memory_estimate(ctx, from_json, wait_for_state, m
@db_system_group.command(name=cli_util.override('db_system.get_db_system.command_name', 'get'), help=u"""Get information about the specified DB System. \n[Command Reference](getDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-none-match', help=u"""For conditional requests. In the GET call for a resource, set the `If-None-Match` header to the value of the ETag from a previous GET (or POST or PUT) response for that resource. The server will return with either a 304 Not Modified response if the resource has not changed, or a 200 OK response with the updated representation.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1352,7 +1352,7 @@ def get_db_system(ctx, from_json, db_system_id, if_none_match):
@heat_wave_cluster_group.command(name=cli_util.override('db_system.get_heat_wave_cluster.command_name', 'get'), help=u"""Gets information about the HeatWave cluster. \n[Command Reference](getHeatWaveCluster)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-none-match', help=u"""For conditional requests. In the GET call for a resource, set the `If-None-Match` header to the value of the ETag from a previous GET (or POST or PUT) response for that resource. The server will return with either a 304 Not Modified response if the resource has not changed, or a 200 OK response with the updated representation.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1377,7 +1377,7 @@ def get_heat_wave_cluster(ctx, from_json, db_system_id, if_none_match):
@heat_wave_cluster_memory_estimate_group.command(name=cli_util.override('db_system.get_heat_wave_cluster_memory_estimate.command_name', 'get'), help=u"""Gets the most recent HeatWave cluster memory estimate that can be used to determine a suitable HeatWave cluster size. \n[Command Reference](getHeatWaveClusterMemoryEstimate)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1399,9 +1399,9 @@ def get_heat_wave_cluster_memory_estimate(ctx, from_json, db_system_id):
@db_system_group.command(name=cli_util.override('db_system.list_db_systems.command_name', 'list'), help=u"""Get a list of DB Systems in the specified compartment. The default sort order is by timeUpdated, descending. \n[Command Reference](listDbSystems)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--is-heat-wave-cluster-attached', type=click.BOOL, help=u"""If true, return only DB Systems with a HeatWave cluster attached, if false return only DB Systems with no HeatWave cluster attached. If not present, return all DB Systems.""")
-@cli_util.option('--db-system-id', help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--display-name', help=u"""A filter to return only the resource matching the given display name exactly.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""DbSystem Lifecycle State""")
@cli_util.option('--configuration-id', help=u"""The requested Configuration instance.""")
@@ -1474,7 +1474,7 @@ def list_db_systems(ctx, from_json, all_pages, page_size, compartment_id, is_hea
@db_system_group.command(name=cli_util.override('db_system.restart_db_system.command_name', 'restart'), help=u"""Restarts the specified DB System. \n[Command Reference](restartDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--shutdown-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["IMMEDIATE", "FAST", "SLOW"]), help=u"""The InnoDB shutdown mode to use, following the option \"[innodb_fast_shutdown]\".""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -1537,7 +1537,7 @@ def restart_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@heat_wave_cluster_group.command(name=cli_util.override('db_system.restart_heat_wave_cluster.command_name', 'restart'), help=u"""Restarts the HeatWave cluster. \n[Command Reference](restartHeatWaveCluster)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1594,7 +1594,7 @@ def restart_heat_wave_cluster(ctx, from_json, wait_for_state, max_wait_seconds,
@db_system_group.command(name=cli_util.override('db_system.start_db_system.command_name', 'start'), help=u"""Start the specified DB System. \n[Command Reference](startDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1651,7 +1651,7 @@ def start_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@heat_wave_cluster_group.command(name=cli_util.override('db_system.start_heat_wave_cluster.command_name', 'start'), help=u"""Starts the HeatWave cluster. \n[Command Reference](startHeatWaveCluster)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1710,7 +1710,7 @@ def start_heat_wave_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wa
@db_system_group.command(name=cli_util.override('db_system.stop_db_system.command_name', 'stop'), help=u"""Stops the specified DB System.
A stopped DB System is not billed. \n[Command Reference](stopDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--shutdown-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["IMMEDIATE", "FAST", "SLOW"]), help=u"""The InnoDB shutdown mode to use, following the option \"[innodb_fast_shutdown]\".""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -1773,7 +1773,7 @@ def stop_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@heat_wave_cluster_group.command(name=cli_util.override('db_system.stop_heat_wave_cluster.command_name', 'stop'), help=u"""Stops the HeatWave cluster. \n[Command Reference](stopHeatWaveCluster)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `If-Match` header 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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -1832,10 +1832,10 @@ def stop_heat_wave_cluster(ctx, from_json, wait_for_state, max_wait_seconds, wai
@db_system_group.command(name=cli_util.override('db_system.update_db_system.command_name', 'update'), help=u"""Update the configuration of a DB System.
Updating different fields in the DB System will have different results on the uptime of the DB System. For example, changing the displayName of a DB System will take effect immediately, but changing the shape of a DB System is an asynchronous operation that involves provisioning new Compute resources, pausing the DB System and migrating storage before making the DB System available again. \n[Command Reference](updateDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the DB System. It does not have to be unique.""")
@cli_util.option('--description', help=u"""User-provided data about the DB System.""")
-@cli_util.option('--subnet-id', help=u"""The OCID of the subnet the DB System is associated with.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The OCID of the subnet the DB System is associated with.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Network Security Group OCIDs used for the VNIC attachment.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--security-attributes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Security Attributes for this resource. Each key is predefined and scoped to a namespace. For more information, see [ZPR Artifacts]. Example: `{\"Oracle-ZPR\": {\"MaxEgressCount\": {\"value\": \"42\", \"mode\": \"audit\"}}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--database-mode', help=u"""The database mode indicating the types of statements that will be allowed to run in the DB system. This mode will apply only to statements run by user connections. Replicated write statements will continue to be allowed regardless of the DatabaseMode. - READ_WRITE: allow running read and write statements on the DB system; - READ_ONLY: only allow running read statements on the DB system.""")
@@ -2052,7 +2052,7 @@ def update_db_system(ctx, from_json, force, wait_for_state, max_wait_seconds, wa
@heat_wave_cluster_group.command(name=cli_util.override('db_system.update_heat_wave_cluster.command_name', 'update'), help=u"""Updates the HeatWave cluster. \n[Command Reference](updateHeatWaveCluster)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--shape-name', help=u"""A change to the shape of the nodes in the HeatWave cluster will result in the entire cluster being torn down and re-created with Compute instances of the new Shape. This may result in significant downtime for the analytics capability while the HeatWave cluster is re-provisioned.""")
@cli_util.option('--cluster-size', type=click.INT, help=u"""A change to the number of nodes in the HeatWave cluster will result in the entire cluster being torn down and re-created with the new cluster of nodes. This may result in a significant downtime for the analytics capability while the HeatWave cluster is re-provisioned.""")
@cli_util.option('--is-lakehouse-enabled', type=click.BOOL, help=u"""Enable/disable Lakehouse for the HeatWave cluster.""")
diff --git a/services/mysql/src/oci_cli_mysqlaas/generated/mysqlaas_cli.py b/services/mysql/src/oci_cli_mysqlaas/generated/mysqlaas_cli.py
index 1364ee6b..21dff4c1 100644
--- a/services/mysql/src/oci_cli_mysqlaas/generated/mysqlaas_cli.py
+++ b/services/mysql/src/oci_cli_mysqlaas/generated/mysqlaas_cli.py
@@ -47,7 +47,7 @@ def version_group():
@configuration_group.command(name=cli_util.override('mysqlaas.create_configuration.command_name', 'create'), help=u"""Creates a new Configuration. \n[Command Reference](createConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--shape-name', required=True, help=u"""The name of the associated Shape.""")
@cli_util.option('--description', help=u"""User-provided data about the Configuration.""")
@cli_util.option('--display-name', help=u"""The display name of the Configuration.""")
@@ -225,7 +225,7 @@ def get_configuration(ctx, from_json, configuration_id, if_none_match):
This may include DEFAULT configurations per Shape and CUSTOM configurations.
The default sort order is a multi-part sort by: - shapeName, ascending - DEFAULT-before-CUSTOM - displayName ascending \n[Command Reference](listConfigurations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--configuration-id', help=u"""The requested Configuration instance.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""Configuration Lifecycle State""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["DEFAULT", "CUSTOM"]), multiple=True, help=u"""The requested Configuration types.""")
@@ -294,7 +294,7 @@ def list_configurations(ctx, from_json, all_pages, page_size, compartment_id, co
@shape_group.command(name=cli_util.override('mysqlaas.list_shapes.command_name', 'list'), help=u"""Gets a list of the shapes you can use to create a new MySQL DB System. The shape determines the resources allocated to the DB System: CPU cores and memory for VM shapes; CPU cores, memory and storage for non-VM (or bare metal) shapes. \n[Command Reference](listShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--is-supported-for', type=custom_types.CliCaseInsensitiveChoice(["DBSYSTEM", "HEATWAVECLUSTER"]), multiple=True, help=u"""Return shapes that are supported by the service feature.""")
@cli_util.option('--availability-domain', help=u"""The name of the Availability Domain.""")
@cli_util.option('--name', help=u"""Name""")
@@ -325,7 +325,7 @@ def list_shapes(ctx, from_json, all_pages, compartment_id, is_supported_for, ava
@version_group.command(name=cli_util.override('mysqlaas.list_versions.command_name', 'list'), help=u"""Get a list of supported and available MySQL database major versions.
The list is sorted by version family. \n[Command Reference](listVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
diff --git a/services/mysql/src/oci_cli_replicas/generated/replicas_cli.py b/services/mysql/src/oci_cli_replicas/generated/replicas_cli.py
index 71f9e52a..dfb151b0 100644
--- a/services/mysql/src/oci_cli_replicas/generated/replicas_cli.py
+++ b/services/mysql/src/oci_cli_replicas/generated/replicas_cli.py
@@ -33,7 +33,7 @@ def replica_group():
@replica_group.command(name=cli_util.override('replicas.create_replica.command_name', 'create'), help=u"""Creates a DB System read replica. \n[Command Reference](createReplica)""")
-@cli_util.option('--db-system-id', required=True, help=u"""The OCID of the DB System the read replica is associated with.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the DB System the read replica is associated with.""")
@cli_util.option('--display-name', help=u"""The user-friendly name for the read replica. It does not have to be unique.""")
@cli_util.option('--description', help=u"""User provided description of the read replica.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -195,11 +195,11 @@ def get_replica(ctx, from_json, replica_id, if_none_match):
@replica_group.command(name=cli_util.override('replicas.list_replicas.command_name', 'list'), help=u"""Lists all the read replicas that match the specified filters. \n[Command Reference](listReplicas)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated list call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` or `opc-prev-page` response header from the previous list call. For information about pagination, see [List Pagination].""")
@cli_util.option('--display-name', help=u"""A filter to return only the resource matching the given display name exactly.""")
-@cli_util.option('--db-system-id', help=u"""The DB System [OCID].""")
+@cli_util.option('--db-system-id', type=custom_types.CLI_OCID, help=u"""The DB System [OCID].""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "NEEDS_ATTENTION", "FAILED"]), help=u"""The LifecycleState of the read replica.""")
@cli_util.option('--replica-id', help=u"""The read replica [OCID].""")
@cli_util.option('--configuration-id', help=u"""The requested Configuration instance.""")
diff --git a/services/mysql/src/oci_cli_work_requests/generated/workrequests_cli.py b/services/mysql/src/oci_cli_work_requests/generated/workrequests_cli.py
index 857706fc..a258260f 100644
--- a/services/mysql/src/oci_cli_work_requests/generated/workrequests_cli.py
+++ b/services/mysql/src/oci_cli_work_requests/generated/workrequests_cli.py
@@ -200,7 +200,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_requests.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a specified compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["ID", "OPERATION_TYPE", "STATUS", "TIME_ACCEPTED", "TIME_STARTED", "TIME_FINISHED"]), help=u"""The optional field to sort the results by.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use (ASC or DESC).""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated list call. For information about pagination, see [List Pagination].""")
diff --git a/services/network_firewall/src/oci_cli_network_firewall/generated/networkfirewall_cli.py b/services/network_firewall/src/oci_cli_network_firewall/generated/networkfirewall_cli.py
index dc1a5c16..40b50cf9 100644
--- a/services/network_firewall/src/oci_cli_network_firewall/generated/networkfirewall_cli.py
+++ b/services/network_firewall/src/oci_cli_network_firewall/generated/networkfirewall_cli.py
@@ -966,7 +966,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@network_firewall_group.command(name=cli_util.override('network_firewall.change_network_firewall_compartment.command_name', 'change-compartment'), help=u"""Moves a NetworkFirewall resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeNetworkFirewallCompartment)""")
@cli_util.option('--network-firewall-id', required=True, help=u"""The [OCID] of the Network Firewall resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the Network Firewalll resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the Network Firewalll resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "NEEDS_ATTENTION", "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.""")
@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.""")
@@ -1027,7 +1027,7 @@ def change_network_firewall_compartment(ctx, from_json, wait_for_state, max_wait
@network_firewall_policy_group.command(name=cli_util.override('network_firewall.change_network_firewall_policy_compartment.command_name', 'change-compartment'), help=u"""Moves a NetworkFirewallPolicy resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeNetworkFirewallPolicyCompartment)""")
@cli_util.option('--network-firewall-policy-id', required=True, help=u"""Unique Network Firewall Policy identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1059,7 +1059,7 @@ def change_network_firewall_policy_compartment(ctx, from_json, network_firewall_
@network_firewall_policy_group.command(name=cli_util.override('network_firewall.clone_network_firewall_policy.command_name', 'clone'), help=u"""Clones a NetworkFirewallPolicy resource from an existing Network Firewall Policy. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](cloneNetworkFirewallPolicy)""")
@cli_util.option('--network-firewall-policy-id', required=True, help=u"""Unique Network Firewall Policy identifier""")
@cli_util.option('--display-name', help=u"""A user-friendly optional name for the cloned firewall policy. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment containing the NetworkFirewall Policy.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the NetworkFirewall Policy.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -1638,8 +1638,8 @@ def create_nat_rule_create_nat_v4_rule_details(ctx, from_json, network_firewall_
@network_firewall_group.command(name=cli_util.override('network_firewall.create_network_firewall.command_name', 'create'), help=u"""Creates a new NetworkFirewall. \n[Command Reference](createNetworkFirewall)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the Network Firewall.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet associated with the Network Firewall.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the Network Firewall.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet associated with the Network Firewall.""")
@cli_util.option('--network-firewall-policy-id', required=True, help=u"""The [OCID] of the Network Firewall Policy.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the Network Firewall. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--availability-domain', help=u"""Availability Domain where Network Firewall instance is created. To get a list of availability domains for a tenancy, use [ListAvailabilityDomains] operation. Example: `kIdk:PHX-AD-1`""")
@@ -1727,7 +1727,7 @@ def create_network_firewall(ctx, from_json, wait_for_state, max_wait_seconds, wa
@network_firewall_policy_group.command(name=cli_util.override('network_firewall.create_network_firewall_policy.command_name', 'create'), help=u"""Creates a new Network Firewall Policy. \n[Command Reference](createNetworkFirewallPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the NetworkFirewall Policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the NetworkFirewall Policy.""")
@cli_util.option('--display-name', help=u"""A user-friendly optional name for the firewall policy. Avoid entering confidential information.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3404,7 +3404,7 @@ def list_nat_rules(ctx, from_json, all_pages, page_size, network_firewall_policy
@network_firewall_policy_group.command(name=cli_util.override('network_firewall.list_network_firewall_policies.command_name', 'list'), help=u"""Returns a list of Network Firewall Policies. \n[Command Reference](listNetworkFirewallPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""Unique Network Firewall Policy identifier""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -3467,7 +3467,7 @@ def list_network_firewall_policies(ctx, from_json, all_pages, page_size, compart
@network_firewall_group.command(name=cli_util.override('network_firewall.list_network_firewalls.command_name', 'list'), help=u"""Returns a list of NetworkFirewalls. \n[Command Reference](listNetworkFirewalls)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--network-firewall-policy-id', help=u"""A filter to return only resources that match the entire networkFirewallPolicyId given.""")
@cli_util.option('--id', help=u"""The [OCID] of the Network Firewall resource.""")
@@ -3958,7 +3958,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('network_firewall.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "NEEDS_ATTENTION", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/network_load_balancer/src/oci_cli_network_load_balancer/generated/networkloadbalancer_cli.py b/services/network_load_balancer/src/oci_cli_network_load_balancer/generated/networkloadbalancer_cli.py
index f81402d5..2e4b3f72 100644
--- a/services/network_load_balancer/src/oci_cli_network_load_balancer/generated/networkloadbalancer_cli.py
+++ b/services/network_load_balancer/src/oci_cli_network_load_balancer/generated/networkloadbalancer_cli.py
@@ -157,7 +157,7 @@ def network_load_balancer_health_group():
@network_load_balancer_group.command(name=cli_util.override('nlb.change_network_load_balancer_compartment.command_name', 'change-compartment'), help=u"""Moves a network load balancer 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](changeNetworkLoadBalancerCompartment)""")
@cli_util.option('--network-load-balancer-id', required=True, help=u"""The [OCID] of the network load balancer to update.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to which to move the network load balancer.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to which to move the network load balancer.""")
@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 current etag value of the resource.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -519,9 +519,9 @@ def create_listener(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@network_load_balancer_group.command(name=cli_util.override('nlb.create_network_load_balancer.command_name', 'create'), help=u"""Creates a network load balancer. \n[Command Reference](createNetworkLoadBalancer)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the network load balancer.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the network load balancer.""")
@cli_util.option('--display-name', required=True, help=u"""Network load balancer identifier, which can be renamed.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The subnet in which the network load balancer is spawned [OCIDs].""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The subnet in which the network load balancer is spawned [OCIDs].""")
@cli_util.option('--is-preserve-source-destination', type=click.BOOL, help=u"""This parameter can be enabled only if backends are compute OCIDs. When enabled, the skipSourceDestinationCheck parameter is automatically enabled on the load balancer VNIC, and packets are sent to the backend with the entire IP header intact.""")
@cli_util.option('--is-symmetric-hash-enabled', type=click.BOOL, help=u"""This can only be enabled when NLB is working in transparent mode with source destination header preservation enabled. This removes the additional dependency from NLB backends(like Firewalls) to perform SNAT.""")
@cli_util.option('--reserved-ips', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of reserved Ips.
@@ -1422,7 +1422,7 @@ def list_listeners(ctx, from_json, all_pages, page_size, network_load_balancer_i
@network_load_balancer_health_group.command(name=cli_util.override('nlb.list_network_load_balancer_healths.command_name', 'list'), help=u"""Lists the summary health statuses for all network load balancers in the specified compartment. \n[Command Reference](listNetworkLoadBalancerHealths)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' (ascending) or 'desc' (descending).""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "displayName"]), help=u"""The field to sort by. Only one sort order can be provided. The default order for timeCreated is descending. The default order for displayName is ascending. If no value is specified, then timeCreated is the default.""")
@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].""")
@@ -1476,7 +1476,7 @@ def list_network_load_balancer_healths(ctx, from_json, all_pages, page_size, com
@network_load_balancer_group.command(name=cli_util.override('nlb.list_network_load_balancers.command_name', 'list'), help=u"""Returns a list of network load balancers. \n[Command Reference](listNetworkLoadBalancers)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@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].""")
@@ -1637,7 +1637,7 @@ def list_network_load_balancers_protocols(ctx, from_json, all_pages, page_size,
@work_request_error_group.command(name=cli_util.override('nlb.list_work_request_errors.command_name', 'list'), help=u"""Return a (paginated) list of errors for a given work request. \n[Command Reference](listWorkRequestErrors)""")
@cli_util.option('--work-request-id', required=True, help=u"""The identifier of the asynchronous request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
@cli_util.option('--page', help=u"""The page token representing the page from which to start retrieving results. 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].""")
@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].""")
@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.""")
@@ -1692,7 +1692,7 @@ def list_work_request_errors(ctx, from_json, all_pages, page_size, work_request_
@work_request_log_entry_group.command(name=cli_util.override('nlb.list_work_request_logs.command_name', 'list-work-request-logs'), help=u"""Returns a (paginated) list of logs for a given work request. \n[Command Reference](listWorkRequestLogs)""")
@cli_util.option('--work-request-id', required=True, help=u"""The identifier of the asynchronous request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
@cli_util.option('--page', help=u"""The page token representing the page from which to start retrieving results. 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].""")
@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].""")
@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.""")
@@ -1746,7 +1746,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('nlb.list_work_requests.command_name', 'list'), help=u"""Lists all work requests. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the network load balancers to list.""")
@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].""")
@cli_util.option('--page', help=u"""The page token representing the page from which to start retrieving results. 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].""")
@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.""")
diff --git a/services/nosql/src/oci_cli_nosql/generated/nosql_cli.py b/services/nosql/src/oci_cli_nosql/generated/nosql_cli.py
index 1bd590c2..0f5ba2eb 100644
--- a/services/nosql/src/oci_cli_nosql/generated/nosql_cli.py
+++ b/services/nosql/src/oci_cli_nosql/generated/nosql_cli.py
@@ -138,7 +138,7 @@ def change_table_compartment(ctx, from_json, wait_for_state, max_wait_seconds, w
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--name', required=True, help=u"""Index name.""")
@cli_util.option('--keys', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A set of keys for a secondary index.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The OCID of the table's compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the table's compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
@cli_util.option('--is-if-not-exists', type=click.BOOL, help=u"""If true, the operation completes successfully even when the index exists. Otherwise, an attempt to create an index that already exists will return an error.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -205,7 +205,7 @@ def create_index(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@table_group.command(name=cli_util.override('nosql.create_replica.command_name', 'create-replica'), help=u"""Add a replica for this table. The table's schema must be frozen prior to this operation. \n[Command Reference](createReplica)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--region-parameterconflict', required=True, help=u"""Name of the remote region in standard OCI format, i.e. us-ashburn-1""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the table's compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the table's compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
@cli_util.option('--max-read-units', type=click.INT, help=u"""Maximum sustained read throughput limit for the new replica table. If not specified, the local table's read limit is used.""")
@cli_util.option('--max-write-units', type=click.INT, help=u"""Maximum sustained write throughput limit for the new replica table. If not specified, the local table's write limit is used.""")
@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.""")
@@ -277,7 +277,7 @@ def create_replica(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@table_group.command(name=cli_util.override('nosql.create_table.command_name', 'create'), help=u"""Create a new table. \n[Command Reference](createTable)""")
@cli_util.option('--name', required=True, help=u"""Table name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--ddl-statement', required=True, help=u"""Complete CREATE TABLE DDL statement.""")
@cli_util.option('--table-limits', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-auto-reclaimable', type=click.BOOL, help=u"""True if table can be reclaimed after an idle period.""")
@@ -351,7 +351,7 @@ def create_table(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@index_group.command(name=cli_util.override('nosql.delete_index.command_name', 'delete'), help=u"""Delete an index from the table identified by tableNameOrId. \n[Command Reference](deleteIndex)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--index-name', required=True, help=u"""The name of a table's index.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@cli_util.option('--is-if-exists', type=click.BOOL, help=u"""Set as true to select \"if exists\" behavior.""")
@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.""")
@cli_util.confirm_delete_option
@@ -418,7 +418,7 @@ def delete_index(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@table_group.command(name=cli_util.override('nosql.delete_replica.command_name', 'delete-replica'), help=u"""Delete the specified replica table in the remote region. \n[Command Reference](deleteReplica)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--region-parameterconflict', required=True, help=u"""A customer-facing region identifier""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -482,7 +482,7 @@ def delete_replica(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@row_group.command(name=cli_util.override('nosql.delete_row.command_name', 'delete'), help=u"""Delete a single row from the table, by primary key. \n[Command Reference](deleteRow)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--key', required=True, multiple=True, help=u"""An array of strings, each of the format \"column-name:value\", representing the primary key of the row.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@cli_util.option('--is-get-return-row', type=click.BOOL, help=u"""If true, and the operation fails due to an option setting (ifVersion et al), then the existing row will be returned.""")
@cli_util.option('--timeout-in-ms', type=click.INT, help=u"""Timeout setting for this operation.""")
@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.""")
@@ -518,7 +518,7 @@ def delete_row(ctx, from_json, table_name_or_id, key, compartment_id, is_get_ret
@table_group.command(name=cli_util.override('nosql.delete_table.command_name', 'delete'), help=u"""Delete a table by tableNameOrId. \n[Command Reference](deleteTable)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@cli_util.option('--is-if-exists', type=click.BOOL, help=u"""Set as true to select \"if exists\" behavior.""")
@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.""")
@cli_util.confirm_delete_option
@@ -635,7 +635,7 @@ def delete_work_request(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@configuration_group.command(name=cli_util.override('nosql.get_configuration.command_name', 'get'), help=u"""Retrieves the current service-level configuration. The service may of the standard MULTI_TENANCY type, or of the HOSTED environment type. In the latter case, information about the current state of the environment's global encryption key is included in the response. \n[Command Reference](getConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -656,7 +656,7 @@ def get_configuration(ctx, from_json, compartment_id):
@index_group.command(name=cli_util.override('nosql.get_index.command_name', 'get'), help=u"""Get information about a single index. \n[Command Reference](getIndex)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--index-name', required=True, help=u"""The name of a table's index.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -686,7 +686,7 @@ def get_index(ctx, from_json, table_name_or_id, index_name, compartment_id):
@row_group.command(name=cli_util.override('nosql.get_row.command_name', 'get'), help=u"""Get a single row from the table by primary key. \n[Command Reference](getRow)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--key', required=True, multiple=True, help=u"""An array of strings, each of the format \"column-name:value\", representing the primary key of the row.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@cli_util.option('--consistency', type=custom_types.CliCaseInsensitiveChoice(["EVENTUAL", "ABSOLUTE"]), help=u"""Consistency requirement for a read operation.""")
@cli_util.option('--timeout-in-ms', type=click.INT, help=u"""Timeout setting for this operation.""")
@json_skeleton_utils.get_cli_json_input_option({'key': {'module': 'nosql', 'class': 'list[string]'}})
@@ -718,7 +718,7 @@ def get_row(ctx, from_json, table_name_or_id, key, compartment_id, consistency,
@table_group.command(name=cli_util.override('nosql.get_table.command_name', 'get'), help=u"""Get table info by identifier. \n[Command Reference](getTable)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -765,7 +765,7 @@ def get_work_request(ctx, from_json, work_request_id):
@index_group.command(name=cli_util.override('nosql.list_indexes.command_name', 'list'), help=u"""Get a list of indexes on a table. \n[Command Reference](listIndexes)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@cli_util.option('--name', help=u"""A shell-globbing-style (*?[]) filter for names.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ALL", "CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "INACTIVE"]), help=u"""Filter list by the lifecycle state of the item.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -831,7 +831,7 @@ def list_indexes(ctx, from_json, all_pages, page_size, table_name_or_id, compart
@table_group.command(name=cli_util.override('nosql.list_table_usage.command_name', 'list-table-usage'), help=u"""Get table usage info. \n[Command Reference](listTableUsage)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
-@cli_util.option('--compartment-id', help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment. When a table is identified by name, the compartmentId is often needed to provide context for interpreting the name.""")
@cli_util.option('--time-start', type=custom_types.CLI_DATETIME, help=u"""The start time to use for the request. If no time range is set for this request, the most recent complete usage record is returned.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-end', type=custom_types.CLI_DATETIME, help=u"""The end time to use for the request.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -890,7 +890,7 @@ def list_table_usage(ctx, from_json, all_pages, page_size, table_name_or_id, com
@table_group.command(name=cli_util.override('nosql.list_tables.command_name', 'list'), help=u"""Get a list of tables in a compartment. \n[Command Reference](listTables)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@cli_util.option('--name', help=u"""A shell-globbing-style (*?[]) filter for names.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -1052,7 +1052,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('nosql.list_work_requests.command_name', 'list'), help=u"""List the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
@@ -1100,7 +1100,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, pag
@query_result_collection_group.command(name=cli_util.override('nosql.prepare_statement.command_name', 'prepare-statement'), help=u"""Prepare a SQL statement for use in a query with variable substitution. \n[Command Reference](prepareStatement)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@cli_util.option('--statement', required=True, help=u"""A NoSQL SQL statement.""")
@cli_util.option('--is-get-query-plan', type=click.BOOL, help=u"""Include a query execution plan in the result.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -1124,7 +1124,7 @@ def prepare_statement(ctx, from_json, compartment_id, statement, is_get_query_pl
@query_result_collection_group.command(name=cli_util.override('nosql.query.command_name', 'query'), help=u"""Execute a SQL query. \n[Command Reference](query)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment OCID, to provide context for a table name in the given statement.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment OCID, to provide context for a table name in the given statement.""")
@cli_util.option('--statement', required=True, help=u"""A NoSQL SQL query statement; or a Base64-encoded prepared statement.""")
@cli_util.option('--is-prepared', type=click.BOOL, help=u"""If true, the statement is a prepared statement.""")
@cli_util.option('--consistency', type=custom_types.CliCaseInsensitiveChoice(["EVENTUAL", "ABSOLUTE"]), help=u"""Consistency requirement for a read operation.""")
@@ -1175,7 +1175,7 @@ def query(ctx, from_json, compartment_id, statement, is_prepared, consistency, m
@query_result_collection_group.command(name=cli_util.override('nosql.summarize_statement.command_name', 'summarize-statement'), help=u"""Check the syntax and return a brief summary of a SQL statement. \n[Command Reference](summarizeStatement)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@cli_util.option('--statement', required=True, help=u"""A NoSQL SQL statement.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1196,7 +1196,7 @@ def summarize_statement(ctx, from_json, compartment_id, statement):
@configuration_group.command(name=cli_util.override('nosql.unassign_kms_key.command_name', 'unassign-kms-key'), help=u"""Removes the global encryption key, if such exists, from a Hosted Environment, reverting to Oracle-managed encryption. \n[Command Reference](unassignKmsKey)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@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.""")
@cli_util.option('--is-opc-dry-run', type=click.BOOL, help=u"""If true, indicates that the request is a dry run A dry run request does not modify the configuration item details and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -1251,7 +1251,7 @@ def unassign_kms_key(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@configuration_group.command(name=cli_util.override('nosql.update_configuration.command_name', 'update'), help=u"""Updates the service-level configuration. The discriminator value `UpdateConfigurationDetails.environment` must match the service's environment type. \n[Command Reference](updateConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@cli_util.option('--environment', required=True, type=custom_types.CliCaseInsensitiveChoice(["MULTI_TENANCY", "HOSTED"]), help=u"""The service environment type.""")
@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.""")
@cli_util.option('--is-opc-dry-run', type=click.BOOL, help=u"""If true, indicates that the request is a dry run A dry run request does not modify the configuration item details and is used only to perform validation on the submitted data.""")
@@ -1312,7 +1312,7 @@ def update_configuration(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@configuration_group.command(name=cli_util.override('nosql.update_configuration_update_multi_tenancy_configuration_details.command_name', 'update-configuration-update-multi-tenancy-configuration-details'), help=u"""Updates the service-level configuration. The discriminator value `UpdateConfigurationDetails.environment` must match the service's environment type. \n[Command Reference](updateConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@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.""")
@cli_util.option('--is-opc-dry-run', type=click.BOOL, help=u"""If true, indicates that the request is a dry run A dry run request does not modify the configuration item details and is used only to perform validation on the submitted data.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -1373,7 +1373,7 @@ def update_configuration_update_multi_tenancy_configuration_details(ctx, from_js
@configuration_group.command(name=cli_util.override('nosql.update_configuration_update_hosted_configuration_details.command_name', 'update-configuration-update-hosted-configuration-details'), help=u"""Updates the service-level configuration. The discriminator value `UpdateConfigurationDetails.environment` must match the service's environment type. \n[Command Reference](updateConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of a table's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of a table's compartment.""")
@cli_util.option('--kms-key', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--is-opc-dry-run', type=click.BOOL, help=u"""If true, indicates that the request is a dry run A dry run request does not modify the configuration item details and is used only to perform validation on the submitted data.""")
@@ -1443,7 +1443,7 @@ def update_configuration_update_hosted_configuration_details(ctx, from_json, for
@row_group.command(name=cli_util.override('nosql.update_row.command_name', 'update'), help=u"""Write a single row into the table. \n[Command Reference](updateRow)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
@cli_util.option('--value', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The map of values from a row.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The OCID of the table's compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the table's compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
@cli_util.option('--option', type=custom_types.CliCaseInsensitiveChoice(["IF_ABSENT", "IF_PRESENT"]), help=u"""Specifies a condition for the put operation.""")
@cli_util.option('--is-get-return-row', type=click.BOOL, help=u"""If true, and the put fails due to an option setting, then the existing row will be returned.""")
@cli_util.option('--timeout-in-ms', type=click.INT, help=u"""Timeout setting for the put.""")
@@ -1510,7 +1510,7 @@ def update_row(ctx, from_json, force, table_name_or_id, value, compartment_id, o
@table_group.command(name=cli_util.override('nosql.update_table.command_name', 'update'), help=u"""Alter the table identified by tableNameOrId, changing schema, limits, or tags \n[Command Reference](updateTable)""")
@cli_util.option('--table-name-or-id', required=True, help=u"""A table name within the compartment, or a table OCID.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the table's current compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the table's current compartment. Required if the tableNameOrId path parameter is a table name. Optional if tableNameOrId is an OCID. If tableNameOrId is an OCID, and compartmentId is supplied, the latter must match the identified table's compartmentId.""")
@cli_util.option('--ddl-statement', help=u"""Complete ALTER TABLE DDL statement.""")
@cli_util.option('--table-limits', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/object_storage/src/oci_cli_object_storage/generated/objectstorage_cli.py b/services/object_storage/src/oci_cli_object_storage/generated/objectstorage_cli.py
index 96120e7c..e39a101f 100644
--- a/services/object_storage/src/oci_cli_object_storage/generated/objectstorage_cli.py
+++ b/services/object_storage/src/oci_cli_object_storage/generated/objectstorage_cli.py
@@ -382,7 +382,7 @@ def copy_object(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@bucket_group.command(name=cli_util.override('os.create_bucket.command_name', 'create'), help=u"""Creates a bucket in the given namespace with a bucket name and optional user-defined metadata. Avoid entering confidential information in bucket names. \n[Command Reference](createBucket)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace used for the request.""")
@cli_util.option('--name', required=True, help=u"""The name of the bucket. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods. Bucket names must be unique within an Object Storage namespace. Avoid entering confidential information. example: Example: my-new-bucket1""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to create the bucket.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to create the bucket.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Arbitrary string, up to 4KB, of keys and values for user-defined metadata.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--public-access-type', type=custom_types.CliCaseInsensitiveChoice(["NoPublicAccess", "ObjectRead", "ObjectReadWithoutList"]), help=u"""The type of public access enabled on this bucket. A bucket is set to `NoPublicAccess` by default, which only allows an authenticated caller to access the bucket and its contents. When `ObjectRead` is enabled on the bucket, public access is allowed for the `GetObject`, `HeadObject`, and `ListObjects` operations. When `ObjectReadWithoutList` is enabled on the bucket, public access is allowed for the `GetObject` and `HeadObject` operations.""")
@cli_util.option('--storage-tier', type=custom_types.CliCaseInsensitiveChoice(["Standard", "Archive"]), help=u"""The type of storage tier of this bucket. A bucket is set to 'Standard' tier by default, which means the bucket will be put in the standard storage tier. When 'Archive' tier type is set explicitly, the bucket is put in the Archive Storage tier. The 'storageTier' property is immutable after bucket is created.""")
@@ -577,8 +577,8 @@ def create_preauthenticated_request(ctx, from_json, namespace_name, bucket_name,
@private_endpoint_group.command(name=cli_util.override('os.create_private_endpoint.command_name', 'create'), help=u"""Create a PrivateEndpoint. \n[Command Reference](createPrivateEndpoint)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace used for the request.""")
@cli_util.option('--name', required=True, help=u"""This name associated with the endpoint. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods. Example: my-new-private-endpoint1""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to create the Private Endpoint.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the customer's subnet where the private endpoint VNIC will reside.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to create the Private Endpoint.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the customer's subnet where the private endpoint VNIC will reside.""")
@cli_util.option('--prefix', required=True, help=u"""A prefix to use for the private endpoint. The customer VCN's DNS records are updated with this prefix. The prefix input from the customer will be the first sub-domain in the endpointFqdn. Example: If the prefix chosen is \"abc\", then the endpointFqdn will be 'abc.private.objectstorage..oraclecloud.com'""")
@cli_util.option('--access-targets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of targets that can be accessed by the private endpoint.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--additional-prefixes', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of additional prefix that you can provide along with any other prefix. These resulting endpointFqdn's are added to the customer VCN's DNS record.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -940,7 +940,7 @@ def delete_private_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wa
@replication_group.command(name=cli_util.override('os.delete_replication_policy.command_name', 'delete-replication-policy'), help=u"""Deletes the replication policy associated with the source bucket. \n[Command Reference](deleteReplicationPolicy)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace used for the request.""")
@cli_util.option('--bucket-name', required=True, help=u"""The name of the bucket. Avoid entering confidential information. Example: `my-new-bucket1`""")
-@cli_util.option('--replication-id', required=True, help=u"""The ID of the replication policy.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the replication policy.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1045,7 +1045,7 @@ def get_bucket(ctx, from_json, namespace_name, bucket_name, if_match, if_none_ma
@namespace_group.command(name=cli_util.override('os.get_namespace.command_name', 'get'), help=u"""Each Oracle Cloud Infrastructure tenant is assigned one unique and uneditable Object Storage namespace. The namespace is a system-generated string assigned during account creation. For some older tenancies, the namespace string may be the tenancy name in all lower-case letters. You cannot edit a namespace.
GetNamespace returns the name of the Object Storage namespace for the user making the request. If an optional compartmentId query parameter is provided, GetNamespace returns the namespace name of the corresponding tenancy, provided the user has access to it. \n[Command Reference](getNamespace)""")
-@cli_util.option('--compartment-id', help=u"""This is an optional field representing either the tenancy [OCID] or the compartment [OCID] within the tenancy whose Object Storage namespace is to be retrieved.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""This is an optional field representing either the tenancy [OCID] or the compartment [OCID] within the tenancy whose Object Storage namespace is to be retrieved.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1277,7 +1277,7 @@ def get_private_endpoint(ctx, from_json, namespace_name, pe_name, if_match, if_n
@replication_group.command(name=cli_util.override('os.get_replication_policy.command_name', 'get-replication-policy'), help=u"""Get the replication policy. \n[Command Reference](getReplicationPolicy)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace used for the request.""")
@cli_util.option('--bucket-name', required=True, help=u"""The name of the bucket. Avoid entering confidential information. Example: `my-new-bucket1`""")
-@cli_util.option('--replication-id', required=True, help=u"""The ID of the replication policy.""")
+@cli_util.option('--replication-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the replication policy.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1449,7 +1449,7 @@ def head_object(ctx, from_json, namespace_name, bucket_name, object_name, versio
To use this and other API operations, you must be authorized in an IAM policy. If you are not authorized, talk to an administrator. If you are an administrator who needs to write policies to give users access, see [Getting Started with Policies]. \n[Command Reference](listBuckets)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list buckets.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list buckets.""")
@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].""")
@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].""")
@cli_util.option('--fields', type=custom_types.CliCaseInsensitiveChoice(["tags"]), multiple=True, help=u"""Bucket summary in list of buckets includes the 'namespace', 'name', 'compartmentId', 'createdBy', 'timeCreated', and 'etag' fields. This parameter can also include 'tags' (freeformTags and definedTags). The only supported value of this parameter is 'tags' for now. Example 'tags'.""")
@@ -1828,7 +1828,7 @@ def list_preauthenticated_requests(ctx, from_json, all_pages, page_size, namespa
@private_endpoint_group.command(name=cli_util.override('os.list_private_endpoints.command_name', 'list'), help=u"""Gets a list of all PrivateEndpointSummary in a compartment associated with a namespace. To use this and other API operations, you must be authorized in an IAM policy. If you are not authorized, talk to an administrator. If you are an administrator who needs to write policies to give users access, see [Getting Started with Policies]. \n[Command Reference](listPrivateEndpoints)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace used for the request.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list buckets.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list buckets.""")
@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].""")
@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].""")
@cli_util.option('--fields', type=custom_types.CliCaseInsensitiveChoice(["tags"]), multiple=True, help=u"""PrivateEndpoint summary in list of PrivateEndpoints includes the 'namespace', 'name', 'compartmentId', 'createdBy', 'timeCreated', 'timeModified' and 'etag' fields. This parameter can also include 'tags' (freeformTags and definedTags). The only supported value of this parameter is 'tags' for now. Example 'tags'.""")
@@ -2144,7 +2144,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('os.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list buckets.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list buckets.""")
@cli_util.option('--private-endpoint-name', help=u"""The name of the privateEndpoint for which to list work requests.""")
@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].""")
@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].""")
@@ -2596,7 +2596,7 @@ def restore_objects(ctx, from_json, namespace_name, bucket_name, object_name, ho
Use UpdateBucket to move a bucket from one compartment to another within the same tenancy. Supply the compartmentID of the compartment that you want to move the bucket to. For more information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](updateBucket)""")
@cli_util.option('--namespace-name', required=True, help=u"""The Object Storage namespace used for the request.""")
@cli_util.option('--bucket-name', required=True, help=u"""The name of the bucket. Avoid entering confidential information. Example: `my-new-bucket1`""")
-@cli_util.option('--compartment-id', help=u"""The compartmentId for the compartment to move the bucket to.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The compartmentId for the compartment to move the bucket to.""")
@cli_util.option('--metadata', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Arbitrary string, up to 4KB, of keys and values for user-defined metadata.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--public-access-type', type=custom_types.CliCaseInsensitiveChoice(["NoPublicAccess", "ObjectRead", "ObjectReadWithoutList"]), help=u"""The type of public access enabled on this bucket. A bucket is set to `NoPublicAccess` by default, which only allows an authenticated caller to access the bucket and its contents. When `ObjectRead` is enabled on the bucket, public access is allowed for the `GetObject`, `HeadObject`, and `ListObjects` operations. When `ObjectReadWithoutList` is enabled on the bucket, public access is allowed for the `GetObject` and `HeadObject` operations.""")
@cli_util.option('--object-events-enabled', type=click.BOOL, help=u"""Whether or not events are emitted for object state changes in this bucket. By default, `objectEventsEnabled` is set to `false`. Set `objectEventsEnabled` to `true` to emit events for object state changes. For more information about events, see [Overview of Events].""")
diff --git a/services/oce/src/oci_cli_oce_instance/generated/oceinstance_cli.py b/services/oce/src/oci_cli_oce_instance/generated/oceinstance_cli.py
index 0a54a97f..d2c2ccd6 100644
--- a/services/oce/src/oci_cli_oce_instance/generated/oceinstance_cli.py
+++ b/services/oce/src/oci_cli_oce_instance/generated/oceinstance_cli.py
@@ -54,7 +54,7 @@ def oce_instance_group():
@oce_instance_group.command(name=cli_util.override('oce.change_oce_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a OceInstance into a different compartment \n[Command Reference](changeOceInstanceCompartment)""")
@cli_util.option('--oce-instance-id', required=True, help=u"""unique OceInstance identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the OceInstance should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the OceInstance should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -114,9 +114,9 @@ def change_oce_instance_compartment(ctx, from_json, wait_for_state, max_wait_sec
@oce_instance_group.command(name=cli_util.override('oce.create_oce_instance.command_name', 'create'), help=u"""Creates a new OceInstance. \n[Command Reference](createOceInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--name', required=True, help=u"""OceInstance Name""")
-@cli_util.option('--tenancy-id', required=True, help=u"""Tenancy Identifier""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""Tenancy Identifier""")
@cli_util.option('--idcs-access-token', required=True, help=u"""Identity Cloud Service access token identifying a stripe and service administrator user""")
@cli_util.option('--tenancy-name', required=True, help=u"""Tenancy Name""")
@cli_util.option('--object-storage-namespace', required=True, help=u"""Object Storage Namespace of Tenancy""")
@@ -323,8 +323,8 @@ def get_work_request(ctx, from_json, work_request_id):
@oce_instance_group.command(name=cli_util.override('oce.list_oce_instances.command_name', 'list'), help=u"""Returns a list of OceInstances. \n[Command Reference](listOceInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
-@cli_util.option('--tenancy-id', help=u"""The ID of the tenancy in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""The ID of the tenancy in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
@@ -490,7 +490,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('oce.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--resource-id', help=u"""The resource Identifier for which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/oci_control_center/src/oci_cli_occ_metrics/generated/occmetrics_cli.py b/services/oci_control_center/src/oci_cli_occ_metrics/generated/occmetrics_cli.py
index c844e8d5..550823fd 100644
--- a/services/oci_control_center/src/oci_cli_occ_metrics/generated/occmetrics_cli.py
+++ b/services/oci_control_center/src/oci_cli_occ_metrics/generated/occmetrics_cli.py
@@ -47,7 +47,7 @@ def summarized_metric_data_collection_group():
@metric_property_collection_group.command(name=cli_util.override('occ.list_metric_properties.command_name', 'list-metric-properties'), help=u"""Returns a list of available metrics for the given namespace. The results for metrics with dimensions includes list of all the associated dimensions. The results are sorted by the metricName and then by dimension in ascending alphabetical order. For a list of valid namespaces, see [List Namespaces API]. \n[Command Reference](listMetricProperties)""")
@cli_util.option('--namespace-name', required=True, help=u"""The name of the source service emitting the metric.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to use for authorization. To use the root compartment, provide the tenancyId.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to use for authorization. To use the root compartment, provide the tenancyId.""")
@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.""")
@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.""")
@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.""")
@@ -101,7 +101,7 @@ def list_metric_properties(ctx, from_json, all_pages, page_size, namespace_name,
@namespace_collection_group.command(name=cli_util.override('occ.list_namespaces.command_name', 'list-namespaces'), help=u"""List all the available source services called namespaces emitting metrics for this region. The namespaces are sorted in ascending alphabetical order. \n[Command Reference](listNamespaces)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to use for authorization. To use the root compartment, provide the tenancyId.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to use for authorization. To use the root compartment, provide the tenancyId.""")
@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.""")
@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.""")
@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.""")
@@ -151,7 +151,7 @@ def list_namespaces(ctx, from_json, all_pages, page_size, compartment_id, page,
@summarized_metric_data_collection_group.command(name=cli_util.override('occ.request_summarized_metric_data.command_name', 'request-summarized-metric-data'), help=u"""Returns the summarized data for the given metric from the given namespace. The aggregation method depends on the metric. The metric data can be filtered by providing the dimension, startTime or endTime. The metric data in the response is sorted by dimension in ascending order and then by sampleTime in ascending chronological order. \n[Command Reference](requestSummarizedMetricData)""")
@cli_util.option('--namespace-name', required=True, help=u"""The source service or application to use when searching for metric data points to aggregate. For a list of valid namespaces, see [List Namespaces API].""")
@cli_util.option('--metric-name', required=True, help=u"""The name of a metric for retrieving aggregated data. For a list of valid metrics for a given namespace, see [List Metric Properties API].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to use for authorization to read metrics. To use the root compartment, provide the tenancyId.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to use for authorization to read metrics. To use the root compartment, provide the tenancyId.""")
@cli_util.option('--dimensions', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Qualifiers to use when searching for metric data. For a list of valid dimensions for a given metric, see [List Metric Properties API].
This option is a JSON dictionary of type dict(str, DimensionValue). For documentation on DimensionValue please see our API reference: https://docs.cloud.oracle.com/api/#/en/occmetrics/20230515/datatypes/DimensionValue.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/ocvp/src/oci_cli_cluster/generated/cluster_cli.py b/services/ocvp/src/oci_cli_cluster/generated/cluster_cli.py
index 91ff45bf..3ad99c39 100644
--- a/services/ocvp/src/oci_cli_cluster/generated/cluster_cli.py
+++ b/services/ocvp/src/oci_cli_cluster/generated/cluster_cli.py
@@ -62,7 +62,7 @@ def cluster_summary_group():
@cli_util.option('--initial-host-shape-name', help=u"""The initial compute shape of the Cluster's ESXi hosts. [ListSupportedHostShapes].""")
@cli_util.option('--initial-host-ocpu-count', type=click.FLOAT, help=u"""The initial OCPU count of the Cluster's ESXi hosts.""")
@cli_util.option('--is-shielded-instance-enabled', type=click.BOOL, help=u"""Indicates whether shielded instance is enabled for this Cluster.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The [OCID] of the Capacity Reservation.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Capacity Reservation.""")
@cli_util.option('--datastores', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of datastore info for the Cluster. This value is required only when `initialHostShapeName` is a standard shape.
This option is a JSON list with items of type DatastoreInfo. For documentation on DatastoreInfo please see our API reference: https://docs.cloud.oracle.com/api/#/en/cluster/20230701/datatypes/DatastoreInfo.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -261,7 +261,7 @@ def get_cluster(ctx, from_json, cluster_id):
**Note:** In general, some \"List\" operations (for example, `ListInstances`) let you optionally filter by availability domain if the scope of the resource type is within a single availability domain. If you call one of these \"List\" operations without specifying an availability domain, the resources are grouped by availability domain, then sorted.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The lifecycle state of the resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment as optional parameter.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment as optional parameter.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/ocvp/src/oci_cli_datastore/generated/datastore_cli.py b/services/ocvp/src/oci_cli_datastore/generated/datastore_cli.py
index 51b2c8e5..f30f7233 100644
--- a/services/ocvp/src/oci_cli_datastore/generated/datastore_cli.py
+++ b/services/ocvp/src/oci_cli_datastore/generated/datastore_cli.py
@@ -98,7 +98,7 @@ def add_block_volume_to_datastore(ctx, from_json, wait_for_state, max_wait_secon
@datastore_group.command(name=cli_util.override('datastore.change_datastore_compartment.command_name', 'change-compartment'), help=u"""Moves an Datastore 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](changeDatastoreCompartment)""")
@cli_util.option('--datastore-id', required=True, help=u"""The [OCID] of the Datastore.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Datastore to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Datastore to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -130,7 +130,7 @@ def change_datastore_compartment(ctx, from_json, datastore_id, compartment_id, i
@datastore_group.command(name=cli_util.override('datastore.create_datastore.command_name', 'create'), help=u"""Creates a Oracle Cloud VMware Solution Datastore.
Use the [WorkRequest] operations to track the creation of the Datastore. \n[Command Reference](createDatastore)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the Datastore.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the Datastore.""")
@cli_util.option('--block-volume-ids', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The List of Block volume [OCID]s that belong to the Datastore.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', required=True, help=u"""A descriptive name for the Datastore. It must be unique within a SDDC, start with a letter, and contain only letters, digits, whitespaces, dashes and underscores. Avoid entering confidential information.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain to create the Datastore in.""")
@@ -285,7 +285,7 @@ def get_datastore(ctx, from_json, datastore_id):
@datastore_group.command(name=cli_util.override('datastore.list_datastores.command_name', 'list'), help=u"""List the Datastores in the specified compartment. The list can be filtered by compartment, datastore id, display name and lifecycle state. \n[Command Reference](listDatastores)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--cluster-id', help=u"""The [OCID] of the SDDC Cluster.""")
@cli_util.option('--datastore-id', help=u"""The [OCID] of the Datastore.""")
diff --git a/services/ocvp/src/oci_cli_datastore_cluster/generated/datastorecluster_cli.py b/services/ocvp/src/oci_cli_datastore_cluster/generated/datastorecluster_cli.py
index 1d9bfc1d..aab700e4 100644
--- a/services/ocvp/src/oci_cli_datastore_cluster/generated/datastorecluster_cli.py
+++ b/services/ocvp/src/oci_cli_datastore_cluster/generated/datastorecluster_cli.py
@@ -224,7 +224,7 @@ def attach_datastore_cluster_to_esxi_host(ctx, from_json, wait_for_state, max_wa
@datastore_cluster_group.command(name=cli_util.override('datastore_cluster.change_datastore_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves an Datastore Cluster 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](changeDatastoreClusterCompartment)""")
@cli_util.option('--datastore-cluster-id', required=True, help=u"""The [OCID] of the Datastore Cluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the Datastore Cluster to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the Datastore Cluster to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -255,7 +255,7 @@ def change_datastore_cluster_compartment(ctx, from_json, datastore_cluster_id, c
@datastore_cluster_group.command(name=cli_util.override('datastore_cluster.create_datastore_cluster.command_name', 'create'), help=u"""Creates a Oracle Cloud VMware Solution Datastore Cluster. \n[Command Reference](createDatastoreCluster)""")
@cli_util.option('--display-name', required=True, help=u"""A descriptive name for the Datastore Cluster. It must be unique within a SDDC, start with a letter, and contain only letters, digits, whitespaces, dashes and underscores. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the Datastore Cluster.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the Datastore Cluster.""")
@cli_util.option('--datastore-cluster-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["MANAGEMENT", "WORKLOAD"]), help=u"""Type of the datastore.""")
@cli_util.option('--availability-domain', required=True, help=u"""The availability domain to create the Datastore Cluster in.""")
@cli_util.option('--datastore-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The [OCIDs] of the Datastores that belong to the Datastore Cluster.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -527,7 +527,7 @@ def get_datastore_cluster(ctx, from_json, datastore_cluster_id):
@datastore_cluster_group.command(name=cli_util.override('datastore_cluster.list_datastore_clusters.command_name', 'list'), help=u"""List the Datastore Clusters in the specified compartment. The list can be filtered by compartment, Datastore Cluster, Display name and Lifecycle state \n[Command Reference](listDatastoreClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--datastore-cluster-id', help=u"""The [OCID] of the Datastore Cluster.""")
@cli_util.option('--cluster-id', help=u"""The [OCID] of the SDDC Cluster.""")
diff --git a/services/ocvp/src/oci_cli_esxi_host/generated/esxihost_cli.py b/services/ocvp/src/oci_cli_esxi_host/generated/esxihost_cli.py
index 57ae1b68..db463c1d 100644
--- a/services/ocvp/src/oci_cli_esxi_host/generated/esxihost_cli.py
+++ b/services/ocvp/src/oci_cli_esxi_host/generated/esxihost_cli.py
@@ -59,7 +59,7 @@ def esxi_host_summary_group():
@cli_util.option('--compute-availability-domain', help=u"""The availability domain to create the ESXi host in. If keep empty, for AD-specific Cluster, new ESXi host will be created in the same availability domain; for multi-AD Cluster, new ESXi host will be auto assigned to the next availability domain following evenly distribution strategy.""")
@cli_util.option('--host-shape-name', help=u"""The compute shape name of the ESXi host. [ListSupportedHostShapes].""")
@cli_util.option('--host-ocpu-count', type=click.FLOAT, help=u"""The OCPU count of the ESXi host.""")
-@cli_util.option('--capacity-reservation-id', help=u"""The [OCID] of the Capacity Reservation.""")
+@cli_util.option('--capacity-reservation-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the Capacity Reservation.""")
@cli_util.option('--esxi-software-version', help=u"""The ESXi software bundle to install on the ESXi host. Only versions under the same vmwareSoftwareVersion and have been validate by Oracle Cloud VMware Solution will be accepted. To get a list of the available versions, use [ListSupportedVmwareSoftwareVersions].""")
@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].
@@ -306,7 +306,7 @@ def inplace_upgrade(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The lifecycle state of the resource.""")
@cli_util.option('--is-billing-donors-only', type=click.BOOL, help=u"""If this flag/param is set to True, we return only deleted hosts with LeftOver billingCycle.""")
@cli_util.option('--is-swap-billing-only', type=click.BOOL, help=u"""If this flag/param is set to True, we return only active hosts.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment as optional parameter.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment as optional parameter.""")
@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.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/ocvp/src/oci_cli_sddc/generated/sddc_cli.py b/services/ocvp/src/oci_cli_sddc/generated/sddc_cli.py
index 83e5c0fc..297a4b8e 100644
--- a/services/ocvp/src/oci_cli_sddc/generated/sddc_cli.py
+++ b/services/ocvp/src/oci_cli_sddc/generated/sddc_cli.py
@@ -120,7 +120,7 @@ def cancel_downgrade_hcx(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@sddc_group.command(name=cli_util.override('sddc.change_sddc_compartment.command_name', 'change-compartment'), help=u"""Moves an SDDC 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](changeSddcCompartment)""")
@cli_util.option('--sddc-id', required=True, help=u"""The [OCID] of the SDDC.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the SDDC to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the SDDC to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -155,7 +155,7 @@ def change_sddc_compartment(ctx, from_json, sddc_id, compartment_id, if_match):
**Important:** You must configure the SDDC's networking resources with the security rules detailed in [Security Rules for Oracle Cloud VMware Solution SDDCs]. Otherwise, provisioning the SDDC will fail. The rules are based on the requirements set by VMware. \n[Command Reference](createSddc)""")
@cli_util.option('--vmware-software-version', required=True, help=u"""The VMware software bundle to install on the ESXi hosts in the SDDC. To get a list of the available versions, use [ListSupportedVmwareSoftwareVersions].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the SDDC.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the SDDC.""")
@cli_util.option('--hcx-mode', required=True, type=custom_types.CliCaseInsensitiveChoice(["DISABLED", "ADVANCED", "ENTERPRISE"]), help=u"""HCX configuration of the SDDC.""")
@cli_util.option('--initial-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--ssh-authorized-keys', required=True, help=u"""One or more public SSH keys to be included in the `~/.ssh/authorized_keys` file for the default user on each ESXi host. Use a newline character to separate multiple keys. The SSH keys must be in the format required for the `authorized_keys` file""")
@@ -380,7 +380,7 @@ def get_sddc(ctx, from_json, sddc_id):
@sddc_summary_group.command(name=cli_util.override('sddc.list_sddcs.command_name', 'list-sddcs'), help=u"""Lists the SDDCs in the specified compartment. The list can be filtered by display name or availability domain. \n[Command Reference](listSddcs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--compute-availability-domain', help=u"""The name of the availability domain that the Compute instances are running in.
Example: `Uocm:PHX-AD-1`""")
@@ -447,7 +447,7 @@ def list_sddcs(ctx, from_json, all_pages, page_size, compartment_id, compute_ava
@supported_commitment_summary_group.command(name=cli_util.override('sddc.list_supported_commitments.command_name', 'list-supported-commitments'), help=u"""Lists supported Commitments. \n[Command Reference](listSupportedCommitments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].""")
@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].""")
@cli_util.option('--host-shape-name', help=u"""A filter to return only resources that match or support the given ESXi host shape.""")
@@ -498,7 +498,7 @@ def list_supported_commitments(ctx, from_json, all_pages, page_size, compartment
@supported_host_shape_summary_group.command(name=cli_util.override('sddc.list_supported_host_shapes.command_name', 'list-supported-host-shapes'), help=u"""Lists supported compute shapes for ESXi hosts. \n[Command Reference](listSupportedHostShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].""")
@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].""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the given name exactly.""")
@@ -555,7 +555,7 @@ def list_supported_host_shapes(ctx, from_json, all_pages, page_size, compartment
@supported_vmware_software_version_summary_group.command(name=cli_util.override('sddc.list_supported_vmware_software_versions.command_name', 'list-supported-vmware-software-versions'), help=u"""Lists the versions of bundled VMware software supported by the Oracle Cloud VMware Solution. \n[Command Reference](listSupportedVmwareSoftwareVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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].""")
@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].""")
@cli_util.option('--version-parameterconflict', help=u"""A filter to return only resources that match the given VMware software version exactly.""")
diff --git a/services/ocvp/src/oci_cli_work_request/generated/workrequest_cli.py b/services/ocvp/src/oci_cli_work_request/generated/workrequest_cli.py
index f8b12890..502de3bb 100644
--- a/services/ocvp/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/ocvp/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -172,7 +172,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_request.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in the specified compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource.""")
@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].""")
@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].""")
diff --git a/services/oda/src/oci_cli_management/generated/management_cli.py b/services/oda/src/oci_cli_management/generated/management_cli.py
index 8328d14a..7f634784 100644
--- a/services/oda/src/oci_cli_management/generated/management_cli.py
+++ b/services/oda/src/oci_cli_management/generated/management_cli.py
@@ -229,7 +229,7 @@ def cascading_delete_skill_custom_entities(ctx, from_json, wait_for_state, max_w
To monitor the status of the job, take the `opc-work-request-id` response header value and use it to call `GET /workRequests/{workRequestID}`. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeOdaPrivateEndpointCompartment)""")
@cli_util.option('--oda-private-endpoint-id', required=True, help=u"""Unique ODA Private Endpoint identifier which is the [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that the ODA private endpoint belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that the ODA private endpoint belongs to.""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control in a PUT or DELETE call for a Digital Assistant instance, set the `if-match` query parameter to the value of the `ETAG` header from a previous GET or POST response for that instance. The service updates or deletes the instance only if the etag that you provide matches the instance's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "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.""")
@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.""")
@@ -950,7 +950,7 @@ def create_channel_create_app_event_channel_details(ctx, from_json, oda_instance
@cli_util.option('--sasl-mechanism', required=True, help=u"""The SASL mechanmism to use when conecting to the Oracle Streaming Service. See Oracle Streaming Service documentation for a list of valid values.""")
@cli_util.option('--tenancy-name', required=True, help=u"""The tenancy to use when connecting to the Oracle Streaming Service.""")
@cli_util.option('--user-name', required=True, help=u"""The user name to use when connecting to the Oracle Streaming Service.""")
-@cli_util.option('--stream-pool-id', required=True, help=u"""The stream pool OCI to use when connecting to the Oracle Streaming Service.""")
+@cli_util.option('--stream-pool-id', required=True, type=custom_types.CLI_OCID, help=u"""The stream pool OCI to use when connecting to the Oracle Streaming Service.""")
@cli_util.option('--auth-token', required=True, help=u"""The authentication token to use when connecting to the Oracle Streaming Service.""")
@cli_util.option('--description', help=u"""A short description of the Channel.""")
@cli_util.option('--session-expiry-duration-in-milliseconds', type=click.INT, help=u"""The number of milliseconds before a session expires.""")
@@ -1759,8 +1759,8 @@ def create_digital_assistant_extend_digital_assistant_details(ctx, from_json, wa
@oda_private_endpoint_group.command(name=cli_util.override('management.create_oda_private_endpoint.command_name', 'create'), help=u"""Starts an asynchronous job to create an ODA Private Endpoint.
To monitor the status of the job, take the `opc-work-request-id` response header value and use it to call `GET /workRequests/{workRequestID}`. \n[Command Reference](createOdaPrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that the ODA private endpoint belongs to.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet that the private endpoint belongs to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that the ODA private endpoint belongs to.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet that the private endpoint belongs to.""")
@cli_util.option('--display-name', help=u"""User-defined name for the ODA private endpoint. Avoid entering confidential information. You can change this value.""")
@cli_util.option('--description', help=u"""Description of the ODA private endpoint.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of [OCIDs] of [network security groups]""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3754,7 +3754,7 @@ def list_digital_assistants(ctx, from_json, all_pages, page_size, oda_instance_i
If the `opc-next-page` header appears in the response, then there are more items to retrieve. To get the next page in the subsequent GET request, include the header's value as the `page` query parameter. \n[Command Reference](listOdaPrivateEndpointAttachments)""")
@cli_util.option('--oda-private-endpoint-id', required=True, help=u"""The [OCID] of ODA Private Endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""List the ODA Private Endpoint Attachments that belong to this compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""List the ODA Private Endpoint Attachments that belong to this compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The page at which to start retrieving results.
@@ -3890,7 +3890,7 @@ def list_oda_private_endpoint_scan_proxies(ctx, from_json, all_pages, page_size,
@oda_private_endpoint_group.command(name=cli_util.override('management.list_oda_private_endpoints.command_name', 'list'), help=u"""Returns a page of ODA Private Endpoints that belong to the specified compartment.
If the `opc-next-page` header appears in the response, then there are more items to retrieve. To get the next page in the subsequent GET request, include the header's value as the `page` query parameter. \n[Command Reference](listOdaPrivateEndpoints)""")
-@cli_util.option('--compartment-id', required=True, help=u"""List the ODA Private Endpoints that belong to this compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""List the ODA Private Endpoints that belong to this compartment.""")
@cli_util.option('--display-name', help=u"""List only the information for the Digital Assistant instance with this user-friendly name. These names don't have to be unique and may change.
Example: `My new resource`""")
@@ -4868,7 +4868,7 @@ def update_channel_update_osvc_channel_details(ctx, from_json, force, wait_for_s
@cli_util.option('--sasl-mechanism', help=u"""The SASL mechanmism to use when conecting to the Oracle Streaming Service. See Oracle Streaming Service documentation for a list of valid values.""")
@cli_util.option('--tenancy-name', help=u"""The tenancy to use when connecting to the Oracle Streaming Service.""")
@cli_util.option('--user-name', help=u"""The user name to use when connecting to the Oracle Streaming Service.""")
-@cli_util.option('--stream-pool-id', help=u"""The stream pool OCI to use when connecting to the Oracle Streaming Service.""")
+@cli_util.option('--stream-pool-id', type=custom_types.CLI_OCID, help=u"""The stream pool OCI to use when connecting to the Oracle Streaming Service.""")
@cli_util.option('--auth-token', help=u"""The authentication token to use when connecting to the Oracle Streaming Service.""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control in a PUT or DELETE call for a Digital Assistant instance, set the `if-match` query parameter to the value of the `ETAG` header from a previous GET or POST response for that instance. The service updates or deletes the instance only if the etag that you provide matches the instance's current etag value.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
diff --git a/services/oda/src/oci_cli_oda/generated/oda_cli.py b/services/oda/src/oci_cli_oda/generated/oda_cli.py
index 55471108..ea6f5350 100644
--- a/services/oda/src/oci_cli_oda/generated/oda_cli.py
+++ b/services/oda/src/oci_cli_oda/generated/oda_cli.py
@@ -77,7 +77,7 @@ def work_request_group():
@oda_instance_group.command(name=cli_util.override('oda.change_oda_instance_compartment.command_name', 'change-compartment'), help=u"""Moves an Digital Assistant instance into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeOdaInstanceCompartment)""")
@cli_util.option('--oda-instance-id', required=True, help=u"""Unique Digital Assistant instance identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Identifier of the compartment into which the Digital Assistant instance should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the compartment into which the Digital Assistant instance should be moved.""")
@cli_util.option('--if-match', help=u"""For optimistic concurrency control in a PUT or DELETE call for a Digital Assistant instance, set the `if-match` query parameter to the value of the `ETAG` header from a previous GET or POST response for that instance. The service updates or deletes the instance only if the etag that you provide matches the instance's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "SUCCEEDED", "FAILED", "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.""")
@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.""")
@@ -139,7 +139,7 @@ def change_oda_instance_compartment(ctx, from_json, wait_for_state, max_wait_sec
@oda_instance_group.command(name=cli_util.override('oda.create_oda_instance.command_name', 'create'), help=u"""Starts an asynchronous job to create a Digital Assistant instance.
To monitor the status of the job, take the `opc-work-request-id` response header value and use it to call `GET /workRequests/{workRequestId}`. \n[Command Reference](createOdaInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Identifier of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Identifier of the compartment.""")
@cli_util.option('--shape-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["DEVELOPMENT", "PRODUCTION"]), help=u"""Shape or size of the instance.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the instance. Avoid entering confidential information. You can change this value anytime.""")
@cli_util.option('--description', help=u"""Description of the Digital Assistant instance.""")
@@ -565,7 +565,7 @@ def list_oda_instance_attachments(ctx, from_json, all_pages, page_size, oda_inst
@oda_instance_group.command(name=cli_util.override('oda.list_oda_instances.command_name', 'list'), help=u"""Returns a page of Digital Assistant instances that belong to the specified compartment.
If the `opc-next-page` header appears in the response, then there are more items to retrieve. To get the next page in the subsequent GET request, include the header's value as the `page` query parameter. \n[Command Reference](listOdaInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""List the Digital Assistant instances that belong to this compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""List the Digital Assistant instances that belong to this compartment.""")
@cli_util.option('--display-name', help=u"""List only the information for the Digital Assistant instance with this user-friendly name. These names don't have to be unique and may change.
Example: `My new resource`""")
@@ -765,7 +765,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('oda.list_work_requests.command_name', 'list'), help=u"""Returns a page of work requests for the specified compartment.
If the `opc-next-page` header appears in the response, then there are more items to retrieve. To get the next page in the subsequent GET request, include the header's value as the `page` query parameter. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""List the Digital Assistant instances that belong to this compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""List the Digital Assistant instances that belong to this compartment.""")
@cli_util.option('--oda-instance-id', help=u"""List only the information for this Digital Assistant instance.""")
@cli_util.option('--resource-id', help=u"""List only the information for this resource.""")
@cli_util.option('--page', help=u"""The page at which to start retrieving results.
diff --git a/services/oda/src/oci_cli_odapackage/generated/odapackage_cli.py b/services/oda/src/oci_cli_odapackage/generated/odapackage_cli.py
index 9c5e2f4d..8ccbb725 100644
--- a/services/oda/src/oci_cli_odapackage/generated/odapackage_cli.py
+++ b/services/oda/src/oci_cli_odapackage/generated/odapackage_cli.py
@@ -301,7 +301,7 @@ def list_imported_packages(ctx, from_json, all_pages, page_size, oda_instance_id
If the `opc-next-page` header appears in the response, then there are more items to retrieve. To get the next page in the subsequent GET request, include the header's value as the `page` query parameter. \n[Command Reference](listPackages)""")
@cli_util.option('--oda-instance-id', help=u"""List only the information for this Digital Assistant instance.""")
@cli_util.option('--resource-type', help=u"""Resource type identifier. Used to limit query results to the items which are applicable to the given type.""")
-@cli_util.option('--compartment-id', help=u"""List the packages that belong to this compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""List the packages that belong to this compartment.""")
@cli_util.option('--name', help=u"""List only the information for the package with this name. Package names are unique to a publisher and may not change.
Example: `My Package`""")
diff --git a/services/onesubscription/src/oci_cli_billing_schedule/generated/billingschedule_cli.py b/services/onesubscription/src/oci_cli_billing_schedule/generated/billingschedule_cli.py
index 3fd61afa..4bcc8e8d 100644
--- a/services/onesubscription/src/oci_cli_billing_schedule/generated/billingschedule_cli.py
+++ b/services/onesubscription/src/oci_cli_billing_schedule/generated/billingschedule_cli.py
@@ -33,8 +33,8 @@ def billing_schedule_summary_group():
@billing_schedule_summary_group.command(name=cli_util.override('billing_schedule.list_billing_schedules.command_name', 'list-billing-schedules'), help=u"""This list API returns all billing schedules for given subscription id and for a particular Subscribed Service if provided \n[Command Reference](listBillingSchedules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""This param is used to get only the billing schedules for a particular Subscription Id""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""This param is used to get only the billing schedules for a particular Subscription Id""")
@cli_util.option('--subscribed-service-id', help=u"""This param is used to get only the billing schedules for a particular Subscribed Service""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
diff --git a/services/onesubscription/src/oci_cli_commitment/generated/commitment_cli.py b/services/onesubscription/src/oci_cli_commitment/generated/commitment_cli.py
index 756a3e50..2f64f645 100644
--- a/services/onesubscription/src/oci_cli_commitment/generated/commitment_cli.py
+++ b/services/onesubscription/src/oci_cli_commitment/generated/commitment_cli.py
@@ -56,7 +56,7 @@ def get_commitment(ctx, from_json, commitment_id):
@commitment_group.command(name=cli_util.override('commitment.list_commitments.command_name', 'list'), help=u"""This list API returns all commitments for a particular Subscribed Service \n[Command Reference](listCommitments)""")
@cli_util.option('--subscribed-service-id', required=True, help=u"""This param is used to get the commitments for a particular subscribed service""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
Example: '500'""")
diff --git a/services/onesubscription/src/oci_cli_computed_usage/generated/computedusage_cli.py b/services/onesubscription/src/oci_cli_computed_usage/generated/computedusage_cli.py
index f3999b81..f1250422 100644
--- a/services/onesubscription/src/oci_cli_computed_usage/generated/computedusage_cli.py
+++ b/services/onesubscription/src/oci_cli_computed_usage/generated/computedusage_cli.py
@@ -41,7 +41,7 @@ def computed_usage_group():
@computed_usage_group.command(name=cli_util.override('computed_usage.get_computed_usage.command_name', 'get'), help=u"""This is an API which returns Computed Usage corresponding to the id passed \n[Command Reference](getComputedUsage)""")
@cli_util.option('--computed-usage-id', required=True, help=u"""The Computed Usage Id""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--fields', multiple=True, help=u"""Partial response refers to an optimization technique offered by the RESTful web APIs to return only the information (fields) required by the client. This parameter is used to control what fields to return.""")
@json_skeleton_utils.get_cli_json_input_option({'fields': {'module': 'onesubscription', 'class': 'list[string]'}})
@cli_util.help_option
@@ -67,8 +67,8 @@ def get_computed_usage(ctx, from_json, computed_usage_id, compartment_id, fields
@aggregated_computed_usage_summary_group.command(name=cli_util.override('computed_usage.list_aggregated_computed_usages.command_name', 'list-aggregated-computed-usages'), help=u"""This is a collection API which returns a list of aggregated computed usage details (there can be multiple Parent Products under a given SubID each of which is represented under Subscription Service Line # in SPM). \n[Command Reference](listAggregatedComputedUsages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
@cli_util.option('--time-from', required=True, type=custom_types.CLI_DATETIME, help=u"""Initial date to filter Computed Usage data in SPM. In the case of non aggregated data the time period between of fromDate and toDate , expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-to', required=True, type=custom_types.CLI_DATETIME, help=u"""Final date to filter Computed Usage data in SPM, expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--parent-product', help=u"""Product part number for subscribed service line, called parent product.""")
@@ -133,8 +133,8 @@ def list_aggregated_computed_usages(ctx, from_json, all_pages, page_size, compar
@computed_usage_group.command(name=cli_util.override('computed_usage.list_computed_usages.command_name', 'list'), help=u"""This is a collection API which returns a list of Computed Usages for given filters. \n[Command Reference](listComputedUsages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
@cli_util.option('--time-from', required=True, type=custom_types.CLI_DATETIME, help=u"""Initial date to filter Computed Usage data in SPM. In the case of non aggregated data the time period between of fromDate and toDate , expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-to', required=True, type=custom_types.CLI_DATETIME, help=u"""Final date to filter Computed Usage data in SPM, expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--parent-product', help=u"""Product part number for subscribed service line, called parent product.""")
diff --git a/services/onesubscription/src/oci_cli_invoice_summary/generated/invoicesummary_cli.py b/services/onesubscription/src/oci_cli_invoice_summary/generated/invoicesummary_cli.py
index f243b8a0..edab99f1 100644
--- a/services/onesubscription/src/oci_cli_invoice_summary/generated/invoicesummary_cli.py
+++ b/services/onesubscription/src/oci_cli_invoice_summary/generated/invoicesummary_cli.py
@@ -40,7 +40,7 @@ def invoice_group():
@invoiceline_computed_usage_group.command(name=cli_util.override('invoice_summary.list_invoiceline_computed_usages.command_name', 'list'), help=u"""This is a collection API which returns a list of Invoiced Computed Usages for given Invoiceline id. \n[Command Reference](listInvoicelineComputedUsages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--invoice-line-id', required=True, help=u"""Invoice Line Identifier - Primary Key SPM""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending ('ASC') or descending ('DESC').""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeCreated", "meteredOnDate"]), help=u"""The field to sort by Invoiced Computed Usages. You can provide one sort order (`sortOrder`).""")
@@ -103,7 +103,7 @@ def list_invoiceline_computed_usages(ctx, from_json, all_pages, page_size, compa
@invoice_group.command(name=cli_util.override('invoice_summary.list_invoices.command_name', 'list'), help=u"""This is a collection API which returns a list of Invoices for given filters. \n[Command Reference](listInvoices)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--ar-customer-transaction-id', required=True, help=u"""AR Unique identifier for an invoice .""")
@cli_util.option('--time-from', type=custom_types.CLI_DATETIME, help=u"""Initial date to filter Invoice data in SPM.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-to', type=custom_types.CLI_DATETIME, help=u"""Final date to filter Invoice data in SPM.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
diff --git a/services/onesubscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py b/services/onesubscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py
index 06cbf7dc..746872ff 100644
--- a/services/onesubscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py
+++ b/services/onesubscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py
@@ -33,7 +33,7 @@ def organization_subscription_group():
@organization_subscription_group.command(name=cli_util.override('organization_subscription.list_organization_subscriptions.command_name', 'list'), help=u"""API that returns data for the list of subscription ids returned from Organizations API \n[Command Reference](listOrganizationSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
Example: '500'""")
diff --git a/services/onesubscription/src/oci_cli_ratecard/generated/ratecard_cli.py b/services/onesubscription/src/oci_cli_ratecard/generated/ratecard_cli.py
index 74608a9e..d13eb897 100644
--- a/services/onesubscription/src/oci_cli_ratecard/generated/ratecard_cli.py
+++ b/services/onesubscription/src/oci_cli_ratecard/generated/ratecard_cli.py
@@ -33,8 +33,8 @@ def rate_card_group():
@rate_card_group.command(name=cli_util.override('ratecard.list_rate_cards.command_name', 'list'), help=u"""List API that returns all ratecards for given Subscription Id and Account ID (if provided) and for a particular date range \n[Command Reference](listRateCards)""")
-@cli_util.option('--subscription-id', required=True, help=u"""Line level Subscription Id""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Line level Subscription Id""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--time-from', type=custom_types.CLI_DATETIME, help=u"""This param is used to get the rate card(s) whose effective start date starts on or after a particular date""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-to', type=custom_types.CLI_DATETIME, help=u"""This param is used to get the rate card(s) whose effective end date ends on or before a particular date""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--part-number', help=u"""This param is used to get the rate card(s) filterd by the partNumber""")
diff --git a/services/onesubscription/src/oci_cli_subscribed_service/generated/subscribedservice_cli.py b/services/onesubscription/src/oci_cli_subscribed_service/generated/subscribedservice_cli.py
index 3a531805..6bbe0b0f 100644
--- a/services/onesubscription/src/oci_cli_subscribed_service/generated/subscribedservice_cli.py
+++ b/services/onesubscription/src/oci_cli_subscribed_service/generated/subscribedservice_cli.py
@@ -58,8 +58,8 @@ def get_subscribed_service(ctx, from_json, subscribed_service_id, fields):
@subscribed_service_group.command(name=cli_util.override('subscribed_service.list_subscribed_services.command_name', 'list'), help=u"""This list API returns all subscribed services for given Subscription ID \n[Command Reference](listSubscribedServices)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""Line level Subscription Id""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Line level Subscription Id""")
@cli_util.option('--order-line-id', type=click.INT, help=u"""Order Line identifier at subscribed service level . This identifier is originated in Order Management module. Default is null.""")
@cli_util.option('--status', help=u"""This param is used to filter subscribed services based on its status""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
diff --git a/services/onesubscription/src/oci_cli_subscription/generated/subscription_cli.py b/services/onesubscription/src/oci_cli_subscription/generated/subscription_cli.py
index c1bbef9c..3d507ba0 100644
--- a/services/onesubscription/src/oci_cli_subscription/generated/subscription_cli.py
+++ b/services/onesubscription/src/oci_cli_subscription/generated/subscription_cli.py
@@ -33,9 +33,9 @@ def subscription_group():
@subscription_group.command(name=cli_util.override('subscription.list_subscriptions.command_name', 'list'), help=u"""This list API returns all subscriptions for a given plan number or subscription id or buyer email and provides additional parameters to include ratecard and commitment details. This API expects exactly one of the above mentioned parameters as input. If more than one parameters are provided the API will throw a 400 - invalid parameters exception and if no parameters are provided it will throw a 400 - missing parameter exception \n[Command Reference](listSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--plan-number', help=u"""The Plan Number""")
-@cli_util.option('--subscription-id', help=u"""Line level Subscription Id""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""Line level Subscription Id""")
@cli_util.option('--buyer-email', help=u"""Buyer Email Id""")
@cli_util.option('--is-commit-info-required', type=click.BOOL, help=u"""Boolean value to decide whether commitment services will be shown""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
diff --git a/services/ons/src/oci_cli_notification_control_plane/generated/notificationcontrolplane_cli.py b/services/ons/src/oci_cli_notification_control_plane/generated/notificationcontrolplane_cli.py
index 5184c6f2..2443a640 100644
--- a/services/ons/src/oci_cli_notification_control_plane/generated/notificationcontrolplane_cli.py
+++ b/services/ons/src/oci_cli_notification_control_plane/generated/notificationcontrolplane_cli.py
@@ -36,8 +36,8 @@ def notification_topic_group():
@notification_topic_group.command(name=cli_util.override('notification_control_plane.change_topic_compartment.command_name', 'change-compartment'), help=u"""Moves a topic into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](changeTopicCompartment)""")
-@cli_util.option('--topic-id', required=True, help=u"""The [OCID] of the topic to move.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the specified topic or subscription to.""")
+@cli_util.option('--topic-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the topic to move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the specified topic or subscription to.""")
@cli_util.option('--if-match', help=u"""Used 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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -76,7 +76,7 @@ def change_topic_compartment(ctx, from_json, topic_id, compartment_id, if_match)
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](createTopic)""")
@cli_util.option('--name', required=True, help=u"""The name of the topic being created. The topic name must be unique across the tenancy. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the topic in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the topic in.""")
@cli_util.option('--description', help=u"""The description of the topic being created. Avoid entering confidential information.""")
@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].
@@ -118,7 +118,7 @@ def create_topic(ctx, from_json, name, compartment_id, description, freeform_tag
@notification_topic_group.command(name=cli_util.override('notification_control_plane.delete_topic.command_name', 'delete-topic'), help=u"""Deletes the specified topic.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](deleteTopic)""")
-@cli_util.option('--topic-id', required=True, help=u"""The [OCID] of the topic to delete.""")
+@cli_util.option('--topic-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the topic to delete.""")
@cli_util.option('--if-match', help=u"""Used 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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -144,7 +144,7 @@ def delete_topic(ctx, from_json, topic_id, if_match):
@notification_topic_group.command(name=cli_util.override('notification_control_plane.get_topic.command_name', 'get-topic'), help=u"""Gets the specified topic's configuration information. \n[Command Reference](getTopic)""")
-@cli_util.option('--topic-id', required=True, help=u"""The [OCID] of the topic to retrieve.
+@cli_util.option('--topic-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the topic to retrieve.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 120.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -170,7 +170,7 @@ def get_topic(ctx, from_json, topic_id):
@notification_topic_group.command(name=cli_util.override('notification_control_plane.list_topics.command_name', 'list-topics'), help=u"""Lists topics in the specified compartment.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 120. \n[Command Reference](listTopics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""A filter to only return resources that match the given id exactly.""")
@cli_util.option('--name', help=u"""A filter to only return resources that match the given name exactly.""")
@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].""")
@@ -235,7 +235,7 @@ def list_topics(ctx, from_json, all_pages, page_size, compartment_id, id, name,
@notification_topic_group.command(name=cli_util.override('notification_control_plane.update_topic.command_name', 'update-topic'), help=u"""Updates the specified topic's configuration.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](updateTopic)""")
-@cli_util.option('--topic-id', required=True, help=u"""The [OCID] of the topic to update.""")
+@cli_util.option('--topic-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the topic to update.""")
@cli_util.option('--description', required=True, help=u"""The description of the topic. Avoid entering confidential information.""")
@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].
diff --git a/services/ons/src/oci_cli_notification_data_plane/generated/notificationdataplane_cli.py b/services/ons/src/oci_cli_notification_data_plane/generated/notificationdataplane_cli.py
index 36e41a98..8a8fc29b 100644
--- a/services/ons/src/oci_cli_notification_data_plane/generated/notificationdataplane_cli.py
+++ b/services/ons/src/oci_cli_notification_data_plane/generated/notificationdataplane_cli.py
@@ -43,8 +43,8 @@ def notification_topic_group():
@subscription_group.command(name=cli_util.override('notification_data_plane.change_subscription_compartment.command_name', 'change-compartment'), help=u"""Moves a subscription into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](changeSubscriptionCompartment)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the subscription to move.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the specified topic or subscription to.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription to move.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the specified topic or subscription to.""")
@cli_util.option('--if-match', help=u"""Used 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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -76,8 +76,8 @@ def change_subscription_compartment(ctx, from_json, subscription_id, compartment
@subscription_group.command(name=cli_util.override('notification_data_plane.create_subscription.command_name', 'create'), help=u"""Creates a subscription for the specified topic and sends a subscription confirmation URL to the endpoint. The subscription remains in \"Pending\" status until it has been confirmed. For information about confirming subscriptions, see [To confirm a subscription].
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](createSubscription)""")
-@cli_util.option('--topic-id', required=True, help=u"""The [OCID] of the topic for the subscription.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for the subscription.""")
+@cli_util.option('--topic-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the topic for the subscription.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for the subscription.""")
@cli_util.option('--protocol', required=True, help=u"""The protocol used for the subscription.
Allowed values: * `CUSTOM_HTTPS` * `EMAIL` * `HTTPS` (deprecated; for PagerDuty endpoints, use `PAGERDUTY`) * `ORACLE_FUNCTIONS` * `PAGERDUTY` * `SLACK` * `SMS`
@@ -155,7 +155,7 @@ def create_subscription(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@subscription_group.command(name=cli_util.override('notification_data_plane.delete_subscription.command_name', 'delete'), help=u"""Deletes the specified subscription.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](deleteSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the subscription to delete.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription to delete.""")
@cli_util.option('--if-match', help=u"""Used 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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["PENDING", "ACTIVE", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -253,7 +253,7 @@ def get_confirm_subscription(ctx, from_json, id, token, protocol):
@subscription_group.command(name=cli_util.override('notification_data_plane.get_subscription.command_name', 'get'), help=u"""Gets the specified subscription's configuration information.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](getSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the subscription to retrieve.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription to retrieve.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -309,8 +309,8 @@ def get_unsubscription(ctx, from_json, id, token, protocol):
@subscription_group.command(name=cli_util.override('notification_data_plane.list_subscriptions.command_name', 'list'), help=u"""Lists the subscriptions in the specified compartment or topic.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](listSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--topic-id', help=u"""Return all subscriptions that are subscribed to the given topic OCID. Either this query parameter or the compartmentId query parameter must be set.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--topic-id', type=custom_types.CLI_OCID, help=u"""Return all subscriptions that are subscribed to the given topic OCID. Either this query parameter or the compartmentId query parameter must be set.""")
@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].""")
@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].""")
@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.""")
@@ -372,7 +372,7 @@ def list_subscriptions(ctx, from_json, all_pages, page_size, compartment_id, top
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60 per topic. (This TPM limit represents messages per minute.)
For more information about publishing messages, see [Publishing Messages]. For steps to request a limit increase, see [Requesting a Service Limit Increase]. \n[Command Reference](publishMessage)""")
-@cli_util.option('--topic-id', required=True, help=u"""The [OCID] of the topic.""")
+@cli_util.option('--topic-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the topic.""")
@cli_util.option('--body', required=True, help=u"""The body of the message to be published. Avoid entering confidential information.""")
@cli_util.option('--title', help=u"""The title of the message to be published. Avoid entering confidential information.""")
@cli_util.option('--message-type', type=custom_types.CliCaseInsensitiveChoice(["JSON", "RAW_TEXT"]), help=u"""**Deprecated.** Support for JSON is deprecated. You can send a JSON payload even when transmitting the payload as a raw string. Configure your receiving system to read the raw payload as JSON format.
@@ -435,7 +435,7 @@ def resend_subscription_confirmation(ctx, from_json, id):
@subscription_group.command(name=cli_util.override('notification_data_plane.update_subscription.command_name', 'update'), help=u"""Updates the specified subscription's configuration.
Transactions Per Minute (TPM) per-tenancy limit for this operation: 60. \n[Command Reference](updateSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The [OCID] of the subscription to update.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subscription to update.""")
@cli_util.option('--delivery-policy', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The delivery policy of the subscription. Stored as a JSON string.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
diff --git a/services/opa/src/oci_cli_opa_instance/generated/opainstance_cli.py b/services/opa/src/oci_cli_opa_instance/generated/opainstance_cli.py
index de6e82ac..b441ca5a 100644
--- a/services/opa/src/oci_cli_opa_instance/generated/opainstance_cli.py
+++ b/services/opa/src/oci_cli_opa_instance/generated/opainstance_cli.py
@@ -87,7 +87,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@opa_instance_group.command(name=cli_util.override('opa.change_opa_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a OpaInstance resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeOpaInstanceCompartment)""")
@cli_util.option('--opa-instance-id', required=True, help=u"""unique OpaInstance identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -148,7 +148,7 @@ def change_opa_instance_compartment(ctx, from_json, wait_for_state, max_wait_sec
@opa_instance_group.command(name=cli_util.override('opa.create_opa_instance.command_name', 'create'), help=u"""Creates a new OpaInstance. \n[Command Reference](createOpaInstance)""")
@cli_util.option('--display-name', required=True, help=u"""OpaInstance Identifier. User-friendly name for the instance. Avoid entering confidential information. You can change this value anytime.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--shape-name', required=True, help=u"""Shape of the instance.""")
@cli_util.option('--description', help=u"""Description of the Oracle Process Automation instance.""")
@cli_util.option('--consumption-model', help=u"""Parameter specifying which entitlement to use for billing purposes""")
@@ -332,7 +332,7 @@ def get_work_request(ctx, from_json, work_request_id):
@opa_instance_collection_group.command(name=cli_util.override('opa.list_opa_instances.command_name', 'list-opa-instances'), help=u"""Returns a list of OpaInstances. \n[Command Reference](listOpaInstances)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""unique OpaInstance identifier""")
@@ -508,7 +508,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('opa.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/opensearch/src/oci_cli_opensearch_cluster/generated/opensearchcluster_cli.py b/services/opensearch/src/oci_cli_opensearch_cluster/generated/opensearchcluster_cli.py
index 32e7bc7e..1ffdc68c 100644
--- a/services/opensearch/src/oci_cli_opensearch_cluster/generated/opensearchcluster_cli.py
+++ b/services/opensearch/src/oci_cli_opensearch_cluster/generated/opensearchcluster_cli.py
@@ -83,7 +83,7 @@ def work_request_log_entry_collection_group():
@opensearch_cluster_group.command(name=cli_util.override('opensearch_cluster.backup_opensearch_cluster.command_name', 'backup'), help=u"""Backup the opensearch cluster details. \n[Command Reference](backupOpensearchCluster)""")
@cli_util.option('--opensearch-cluster-id', required=True, help=u"""unique OpensearchCluster identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the cluster backup is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the cluster backup is located.""")
@cli_util.option('--display-name', required=True, help=u"""The name of the cluster backup. Avoid entering confidential information.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@@ -207,7 +207,7 @@ def configure_outbound_cluster(ctx, from_json, wait_for_state, max_wait_seconds,
@opensearch_cluster_group.command(name=cli_util.override('opensearch_cluster.create_opensearch_cluster.command_name', 'create'), help=u"""Creates a new OpensearchCluster. \n[Command Reference](createOpensearchCluster)""")
@cli_util.option('--display-name', required=True, help=u"""The name of the cluster. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to create the cluster in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to create the cluster in.""")
@cli_util.option('--software-version', required=True, help=u"""The version of the software the cluster is running.""")
@cli_util.option('--master-node-count', required=True, type=click.INT, help=u"""The number of master nodes to configure for the cluster.""")
@cli_util.option('--master-node-host-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["FLEX", "BM"]), help=u"""The instance type for the cluster's master nodes.""")
@@ -221,8 +221,8 @@ def configure_outbound_cluster(ctx, from_json, wait_for_state, max_wait_seconds,
@cli_util.option('--opendashboard-node-count', required=True, type=click.INT, help=u"""The number of OpenSearch Dashboard nodes to configure for the cluster.""")
@cli_util.option('--opendashboard-node-host-ocpu-count', required=True, type=click.INT, help=u"""The number of OCPUs to configure for the cluster's OpenSearch Dashboard nodes.""")
@cli_util.option('--opendashboard-node-host-memory-gb', required=True, type=click.INT, help=u"""The amount of memory in GB, to configure for the cluster's OpenSearch Dashboard nodes.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The OCID of the cluster's VCN.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The OCID of the cluster's subnet.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the cluster's VCN.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the cluster's subnet.""")
@cli_util.option('--vcn-compartment-id', required=True, help=u"""The OCID for the compartment where the cluster's VCN is located.""")
@cli_util.option('--subnet-compartment-id', required=True, help=u"""The OCID for the compartment where the cluster's subnet is located.""")
@cli_util.option('--master-node-host-bare-metal-shape', help=u"""The bare metal shape for the cluster's master nodes.""")
@@ -505,7 +505,7 @@ def get_work_request(ctx, from_json, work_request_id):
@shapes_details_group.command(name=cli_util.override('opensearch_cluster.list_opensearch_cluster_shapes.command_name', 'list-opensearch-cluster-shapes'), help=u"""Retrieves available OpenSearch Cluster node shapes. \n[Command Reference](listOpensearchClusterShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -524,7 +524,7 @@ def list_opensearch_cluster_shapes(ctx, from_json, all_pages, compartment_id):
@opensearch_cluster_collection_group.command(name=cli_util.override('opensearch_cluster.list_opensearch_clusters.command_name', 'list-opensearch-clusters'), help=u"""Returns a list of OpensearchClusters. \n[Command Reference](listOpensearchClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only OpensearchClusters their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""unique OpensearchCluster identifier""")
@@ -587,7 +587,7 @@ def list_opensearch_clusters(ctx, from_json, all_pages, page_size, compartment_i
@opensearch_versions_collection_group.command(name=cli_util.override('opensearch_cluster.list_opensearch_versions.command_name', 'list-opensearch-versions'), help=u"""Lists the supported Opensearch versions \n[Command Reference](listOpensearchVersions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
@@ -736,7 +736,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_collection_group.command(name=cli_util.override('opensearch_cluster.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--source-resource-id', help=u"""The ID of the source resource to list work requests.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -792,7 +792,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, wor
@opensearch_cluster_group.command(name=cli_util.override('opensearch_cluster.opensearch_cluster_restore.command_name', 'opensearch-cluster-restore'), help=u"""Restore the opensearch cluster details. \n[Command Reference](opensearchClusterRestore)""")
@cli_util.option('--opensearch-cluster-id', required=True, help=u"""unique OpensearchCluster identifier""")
@cli_util.option('--opensearch-cluster-backup-id', required=True, help=u"""The OCID of the cluster backup to restore.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the cluster backup is located.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the cluster backup is located.""")
@cli_util.option('--prefix', help=u"""The prefix for the indices in the cluster backup.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
diff --git a/services/opensearch/src/oci_cli_opensearch_cluster_backup/generated/opensearchclusterbackup_cli.py b/services/opensearch/src/oci_cli_opensearch_cluster_backup/generated/opensearchclusterbackup_cli.py
index ad33af68..0efb5031 100644
--- a/services/opensearch/src/oci_cli_opensearch_cluster_backup/generated/opensearchclusterbackup_cli.py
+++ b/services/opensearch/src/oci_cli_opensearch_cluster_backup/generated/opensearchclusterbackup_cli.py
@@ -118,7 +118,7 @@ def get_opensearch_cluster_backup(ctx, from_json, opensearch_cluster_backup_id):
@opensearch_cluster_backup_collection_group.command(name=cli_util.override('opensearch_cluster_backup.list_opensearch_cluster_backups.command_name', 'list-opensearch-cluster-backups'), help=u"""Returns a list of OpensearchClusterBackups. \n[Command Reference](listOpensearchClusterBackups)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--source-opensearch-cluster-id', help=u"""A filter to return only resources that match the entire source cluster id given.""")
diff --git a/services/opensearch/src/oci_cli_opensearch_cluster_pipeline/generated/opensearchclusterpipeline_cli.py b/services/opensearch/src/oci_cli_opensearch_cluster_pipeline/generated/opensearchclusterpipeline_cli.py
index 9ffa9aeb..841dc185 100644
--- a/services/opensearch/src/oci_cli_opensearch_cluster_pipeline/generated/opensearchclusterpipeline_cli.py
+++ b/services/opensearch/src/oci_cli_opensearch_cluster_pipeline/generated/opensearchclusterpipeline_cli.py
@@ -46,10 +46,10 @@ def opensearch_cluster_pipeline_collection_group():
@cli_util.option('--node-count', required=True, type=click.INT, help=u"""The number of nodes configured for the pipeline.""")
@cli_util.option('--pipeline-configuration-body', required=True, help=u"""The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \\.""")
@cli_util.option('--data-prepper-configuration-body', required=True, help=u"""The data prepper config in YAML format. The command accepts the data prepper config as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \\.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment to create the pipeline in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment to create the pipeline in.""")
@cli_util.option('--node-shape', help=u"""The pipeline node shape.""")
-@cli_util.option('--vcn-id', help=u"""The OCID of the pipeline's VCN.""")
-@cli_util.option('--subnet-id', help=u"""The OCID of the pipeline's subnet.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The OCID of the pipeline's VCN.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The OCID of the pipeline's subnet.""")
@cli_util.option('--vcn-compartment-id', help=u"""The OCID for the compartment where the pipeline's VCN is located.""")
@cli_util.option('--subnet-compartment-id', help=u"""The OCID for the compartment where the pipeline's subnet is located.""")
@cli_util.option('--nsg-id', help=u"""The OCID of the NSG where the pipeline private endpoint vnic will be attached.""")
@@ -224,7 +224,7 @@ def get_opensearch_cluster_pipeline(ctx, from_json, opensearch_cluster_pipeline_
@opensearch_cluster_pipeline_collection_group.command(name=cli_util.override('opensearch_cluster_pipeline.list_opensearch_cluster_pipelines.command_name', 'list-opensearch-cluster-pipelines'), help=u"""Returns a list of OpensearchClusterPipelines. \n[Command Reference](listOpensearchClusterPipelines)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--pipeline-component-id', help=u"""A filter to return pipelines whose any component has the given pipelineComponentId.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -298,8 +298,8 @@ def list_opensearch_cluster_pipelines(ctx, from_json, all_pages, page_size, comp
@cli_util.option('--node-shape', help=u"""The pipeline node shape.""")
@cli_util.option('--pipeline-configuration-body', help=u"""The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \\.""")
@cli_util.option('--data-prepper-configuration-body', help=u"""The data prepper config in YAML format. The command accepts the data prepper config as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \\.""")
-@cli_util.option('--vcn-id', help=u"""The OCID of the pipeline's VCN.""")
-@cli_util.option('--subnet-id', help=u"""The OCID of the pipeline's subnet.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The OCID of the pipeline's VCN.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The OCID of the pipeline's subnet.""")
@cli_util.option('--vcn-compartment-id', help=u"""The OCID for the compartment where the pipeline's VCN is located.""")
@cli_util.option('--subnet-compartment-id', help=u"""The OCID for the compartment where the pipeline's subnet is located.""")
@cli_util.option('--nsg-id', help=u"""The OCID of the NSG where the pipeline private endpoint vnic will be attached.""")
diff --git a/services/operator_access_control/src/oci_cli_access_requests/generated/accessrequests_cli.py b/services/operator_access_control/src/oci_cli_access_requests/generated/accessrequests_cli.py
index 307187f7..3b80f9cd 100644
--- a/services/operator_access_control/src/oci_cli_access_requests/generated/accessrequests_cli.py
+++ b/services/operator_access_control/src/oci_cli_access_requests/generated/accessrequests_cli.py
@@ -247,7 +247,7 @@ def list_access_request_histories(ctx, from_json, all_pages, page_size, access_r
@access_request_group.command(name=cli_util.override('access_requests.list_access_requests.command_name', 'list'), help=u"""Lists all access requests in the compartment. \n[Command Reference](listAccessRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--resource-name', help=u"""A filter to return only resources that match the given ResourceName.""")
@cli_util.option('--resource-type', help=u"""A filter to return only lists of resources that match the entire given service type.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATED", "APPROVALWAITING", "PREAPPROVED", "APPROVED", "MOREINFO", "REJECTED", "DEPLOYED", "DEPLOYFAILED", "UNDEPLOYED", "UNDEPLOYFAILED", "CLOSEFAILED", "REVOKEFAILED", "EXPIRYFAILED", "REVOKING", "REVOKED", "EXTENDING", "EXTENDED", "EXTENSIONREJECTED", "COMPLETING", "COMPLETED", "EXPIRED", "APPROVEDFORFUTURE", "INREVIEW"]), help=u"""A filter to return only resources whose lifecycleState matches the given AccessRequest lifecycleState.""")
diff --git a/services/operator_access_control/src/oci_cli_operator_actions/generated/operatoractions_cli.py b/services/operator_access_control/src/oci_cli_operator_actions/generated/operatoractions_cli.py
index 2334cd4d..761b6025 100644
--- a/services/operator_access_control/src/oci_cli_operator_actions/generated/operatoractions_cli.py
+++ b/services/operator_access_control/src/oci_cli_operator_actions/generated/operatoractions_cli.py
@@ -62,7 +62,7 @@ def get_operator_action(ctx, from_json, operator_action_id):
@operator_action_group.command(name=cli_util.override('operator_actions.list_operator_actions.command_name', 'list'), help=u"""Lists all the OperatorActions available in the system. \n[Command Reference](listOperatorActions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--resource-type', help=u"""A filter to return only lists of resources that match the entire given service type.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), help=u"""A filter to return only resources whose lifecycleState matches the given OperatorAction lifecycleState.""")
diff --git a/services/operator_access_control/src/oci_cli_operator_control/generated/operatorcontrol_cli.py b/services/operator_access_control/src/oci_cli_operator_control/generated/operatorcontrol_cli.py
index 56350e6a..938af4e0 100644
--- a/services/operator_access_control/src/oci_cli_operator_control/generated/operatorcontrol_cli.py
+++ b/services/operator_access_control/src/oci_cli_operator_control/generated/operatorcontrol_cli.py
@@ -37,7 +37,7 @@ def operator_control_group():
@operator_control_group.command(name=cli_util.override('operator_control.change_operator_control_compartment.command_name', 'change-compartment'), help=u"""Moves the Operator Control resource into a different compartment. When provided, 'If-Match' is checked against 'ETag' values of the resource. \n[Command Reference](changeOperatorControlCompartment)""")
@cli_util.option('--operator-control-id', required=True, help=u"""unique OperatorControl identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the new compartment to contain the operator contol.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment to contain the operator contol.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -73,7 +73,7 @@ def change_operator_control_compartment(ctx, from_json, operator_control_id, com
@cli_util.option('--approver-groups-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of user groups who can approve an access request associated with a resource governed by this operator control.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-fully-pre-approved', required=True, type=click.BOOL, help=u"""Whether all the operator actions have been pre-approved. If yes, all access requests associated with a resource governed by this operator control will be auto-approved.""")
@cli_util.option('--resource-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACC", "EXADATAINFRASTRUCTURE", "AUTONOMOUSVMCLUSTER", "CLOUDAUTONOMOUSVMCLUSTER", "CCCINFRASTRUCTURE"]), help=u"""resourceType for which the OperatorControl is applicable""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains this operator control.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains this operator control.""")
@cli_util.option('--description', help=u"""Description of the operator control.""")
@cli_util.option('--approvers-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of users who can approve an access request associated with a resource governed by this operator control.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--pre-approved-op-action-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of pre-approved operator actions. Access requests associated with a resource governed by this operator control will be auto-approved if the access request only contain operator actions in the pre-approved list.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -247,7 +247,7 @@ def get_operator_control(ctx, from_json, operator_control_id):
@operator_control_group.command(name=cli_util.override('operator_control.list_operator_controls.command_name', 'list'), help=u"""Lists the operator controls in the compartment. \n[Command Reference](listOperatorControls)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATED", "ASSIGNED", "UNASSIGNED", "DELETED"]), help=u"""A filter to return only resources whose lifecycleState matches the given OperatorControl lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return OperatorControl that match the entire display name given.""")
@cli_util.option('--resource-type', help=u"""A filter to return only lists of resources that match the entire given service type.""")
diff --git a/services/operator_access_control/src/oci_cli_operator_control_assignment/generated/operatorcontrolassignment_cli.py b/services/operator_access_control/src/oci_cli_operator_control_assignment/generated/operatorcontrolassignment_cli.py
index a18ed2f7..eb2c4ec9 100644
--- a/services/operator_access_control/src/oci_cli_operator_control_assignment/generated/operatorcontrolassignment_cli.py
+++ b/services/operator_access_control/src/oci_cli_operator_control_assignment/generated/operatorcontrolassignment_cli.py
@@ -37,7 +37,7 @@ def operator_control_assignment_group():
@operator_control_assignment_group.command(name=cli_util.override('operator_control_assignment.change_operator_control_assignment_compartment.command_name', 'change-compartment'), help=u"""Changes the compartment of the specified Operator Control assignment ID. \n[Command Reference](changeOperatorControlAssignmentCompartment)""")
@cli_util.option('--operator-control-assignment-id', required=True, help=u"""unique OperatorControl identifier""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the new compartment to contain the operator contol assignment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the new compartment to contain the operator contol assignment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -74,7 +74,7 @@ def change_operator_control_assignment_compartment(ctx, from_json, operator_cont
@cli_util.option('--resource-name', required=True, help=u"""Name of the target resource.""")
@cli_util.option('--resource-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["EXACC", "EXADATAINFRASTRUCTURE", "AUTONOMOUSVMCLUSTER", "CLOUDAUTONOMOUSVMCLUSTER", "CCCINFRASTRUCTURE"]), help=u"""Type of the target resource.""")
@cli_util.option('--resource-compartment-id', required=True, help=u"""The OCID of the compartment that contains the target resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the operator control assignment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the operator control assignment.""")
@cli_util.option('--is-enforced-always', required=True, type=click.BOOL, help=u"""If set, then the target resource is always governed by the operator control.""")
@cli_util.option('--time-assignment-from', type=custom_types.CLI_DATETIME, help=u"""The time at which the target resource will be brought under the governance of the operator control in [RFC 3339] timestamp format. Example: '2020-05-22T21:10:29.600Z'""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-assignment-to', type=custom_types.CLI_DATETIME, help=u"""The time at which the target resource will leave the governance of the operator control in [RFC 3339]timestamp format.Example: '2020-05-22T21:10:29.600Z'""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -285,7 +285,7 @@ def get_operator_control_assignment(ctx, from_json, operator_control_assignment_
@operator_control_assignment_group.command(name=cli_util.override('operator_control_assignment.list_operator_control_assignments.command_name', 'list'), help=u"""Lists all Operator Control Assignments. \n[Command Reference](listOperatorControlAssignments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--operator-control-name', help=u"""A filter to return OperatorControl that match the given operatorControlName.""")
@cli_util.option('--resource-name', help=u"""A filter to return only resources that match the given ResourceName.""")
@cli_util.option('--resource-type', help=u"""A filter to return only lists of resources that match the entire given service type.""")
diff --git a/services/opsi/src/oci_cli_operations_insights/generated/operationsinsights_cli.py b/services/opsi/src/oci_cli_operations_insights/generated/operationsinsights_cli.py
index 050623b0..25463cfa 100644
--- a/services/opsi/src/oci_cli_operations_insights/generated/operationsinsights_cli.py
+++ b/services/opsi/src/oci_cli_operations_insights/generated/operationsinsights_cli.py
@@ -774,7 +774,7 @@ def change_autonomous_database_insight_advanced_features_credential_by_iam(ctx,
@awr_hub_sources_group.command(name=cli_util.override('opsi.change_awr_hub_source_compartment.command_name', 'change'), help=u"""Moves an AwrHubSource resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeAwrHubSourceCompartment)""")
@cli_util.option('--awr-hub-source-id', required=True, help=u"""Unique Awr Hub Source identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -835,7 +835,7 @@ def change_awr_hub_source_compartment(ctx, from_json, wait_for_state, max_wait_s
@database_insights_group.command(name=cli_util.override('opsi.change_database_insight_compartment.command_name', 'change'), help=u"""Moves a DatabaseInsight resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeDatabaseInsightCompartment)""")
@cli_util.option('--database-insight-id', required=True, help=u"""Unique database insight identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -896,7 +896,7 @@ def change_database_insight_compartment(ctx, from_json, wait_for_state, max_wait
@enterprise_manager_bridges_group.command(name=cli_util.override('opsi.change_enterprise_manager_bridge_compartment.command_name', 'change'), help=u"""Moves a EnterpriseManagerBridge resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeEnterpriseManagerBridgeCompartment)""")
@cli_util.option('--enterprise-manager-bridge-id', required=True, help=u"""Unique Enterprise Manager bridge identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -957,7 +957,7 @@ def change_enterprise_manager_bridge_compartment(ctx, from_json, wait_for_state,
@exadata_insights_group.command(name=cli_util.override('opsi.change_exadata_insight_compartment.command_name', 'change'), help=u"""Moves an Exadata insight resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeExadataInsightCompartment)""")
@cli_util.option('--exadata-insight-id', required=True, help=u"""Unique Exadata insight identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -1079,7 +1079,7 @@ def change_external_mysql_database_insight_connection(ctx, from_json, wait_for_s
@host_insights_group.command(name=cli_util.override('opsi.change_host_insight_compartment.command_name', 'change'), help=u"""Moves a HostInsight resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeHostInsightCompartment)""")
@cli_util.option('--host-insight-id', required=True, help=u"""Unique host insight identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -1870,7 +1870,7 @@ def change_macs_managed_cloud_database_insight_connection_credential_by_iam(ctx,
@news_reports_group.command(name=cli_util.override('opsi.change_news_report_compartment.command_name', 'change'), help=u"""Moves a news report resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeNewsReportCompartment)""")
@cli_util.option('--news-report-id', required=True, help=u"""Unique news report identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment into which the resource will be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment into which the resource will be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -1931,7 +1931,7 @@ def change_news_report_compartment(ctx, from_json, wait_for_state, max_wait_seco
@operations_insights_private_endpoint_group.command(name=cli_util.override('opsi.change_operations_insights_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a private endpoint from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeOperationsInsightsPrivateEndpointCompartment)""")
@cli_util.option('--operations-insights-private-endpoint-id', required=True, help=u"""The [OCID] of the Operation Insights private endpoint.""")
-@cli_util.option('--compartment-id', help=u"""The new compartment [OCID] of the Private service accessed database.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The new compartment [OCID] of the Private service accessed database.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -1994,7 +1994,7 @@ def change_operations_insights_private_endpoint_compartment(ctx, from_json, wait
@operations_insights_warehouses_group.command(name=cli_util.override('opsi.change_operations_insights_warehouse_compartment.command_name', 'change'), help=u"""Moves a Operations Insights Warehouse resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeOperationsInsightsWarehouseCompartment)""")
@cli_util.option('--operations-insights-warehouse-id', required=True, help=u"""Unique Ops Insights Warehouse identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -2055,7 +2055,7 @@ def change_operations_insights_warehouse_compartment(ctx, from_json, wait_for_st
@opsi_configurations_group.command(name=cli_util.override('opsi.change_opsi_configuration_compartment.command_name', 'change'), help=u"""Moves an OpsiConfiguration resource from one compartment to another. \n[Command Reference](changeOpsiConfigurationCompartment)""")
@cli_util.option('--opsi-configuration-id', required=True, help=u"""[OCID] of OPSI configuration resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""[OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""[OCID] of the compartment into which the resource should be moved.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -2501,7 +2501,7 @@ def change_pe_comanaged_database_insight_credential_by_iam(ctx, from_json, wait_
@awr_hubs_group.command(name=cli_util.override('opsi.create_awr_hub.command_name', 'create'), help=u"""Create a AWR hub resource for the tenant in Operations Insights. This resource will be created in root compartment. \n[Command Reference](createAwrHub)""")
@cli_util.option('--operations-insights-warehouse-id', required=True, help=u"""OPSI Warehouse OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""User-friedly name of AWR Hub that does not have to be unique.""")
@cli_util.option('--object-storage-bucket-name', help=u"""Object Storage Bucket Name""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2571,7 +2571,7 @@ def create_awr_hub(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@awr_hub_sources_group.command(name=cli_util.override('opsi.create_awr_hub_source.command_name', 'create'), help=u"""Register Awr Hub source \n[Command Reference](createAwrHubSource)""")
@cli_util.option('--name', required=True, help=u"""The name of the Awr Hub source database.""")
@cli_util.option('--awr-hub-id', required=True, help=u"""AWR Hub OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ADW_S", "ATP_S", "ADW_D", "ATP_D", "EXTERNAL_PDB", "EXTERNAL_NONCDB", "COMANAGED_VM_CDB", "COMANAGED_VM_PDB", "COMANAGED_VM_NONCDB", "COMANAGED_BM_CDB", "COMANAGED_BM_PDB", "COMANAGED_BM_NONCDB", "COMANAGED_EXACS_CDB", "COMANAGED_EXACS_PDB", "COMANAGED_EXACS_NONCDB", "UNDEFINED"]), help=u"""source type of the database""")
@cli_util.option('--associated-resource-id', help=u"""The [OCID] of the database id.""")
@cli_util.option('--associated-opsi-id', help=u"""The [OCID] of the database id.""")
@@ -2645,7 +2645,7 @@ def create_awr_hub_source(ctx, from_json, wait_for_state, max_wait_seconds, wait
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight.command_name', 'create'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
@cli_util.option('--entity-source', required=True, type=custom_types.CliCaseInsensitiveChoice(["EM_MANAGED_EXTERNAL_DATABASE", "PE_COMANAGED_DATABASE", "MDS_MYSQL_DATABASE_SYSTEM", "EXTERNAL_MYSQL_DATABASE_SYSTEM", "MACS_MANAGED_CLOUD_DATABASE", "MACS_MANAGED_AUTONOMOUS_DATABASE"]), help=u"""Source of the database entity.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -2707,8 +2707,8 @@ def create_database_insight(ctx, from_json, wait_for_state, max_wait_seconds, wa
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight_create_macs_managed_cloud_database_insight_details.command_name', 'create-database-insight-create-macs-managed-cloud-database-insight-details'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2786,8 +2786,8 @@ def create_database_insight_create_macs_managed_cloud_database_insight_details(c
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight_create_external_mysql_database_insight_details.command_name', 'create-database-insight-create-external-mysql-database-insight-details'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--database-connector-id', required=True, help=u"""The DBM owned database connector [OCID] mapping to the database credentials and connection details.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2853,8 +2853,8 @@ def create_database_insight_create_external_mysql_database_insight_details(ctx,
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight_create_autonomous_database_insight_details.command_name', 'create-database-insight-create-autonomous-database-insight-details'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--database-resource-type', required=True, help=u"""OCI database resource type""")
@cli_util.option('--is-advanced-features-enabled', required=True, type=click.BOOL, help=u"""Flag is to identify if advanced features for autonomous database is enabled or not""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2938,8 +2938,8 @@ def create_database_insight_create_autonomous_database_insight_details(ctx, from
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight_create_macs_managed_autonomous_database_insight_details.command_name', 'create-database-insight-create-macs-managed-autonomous-database-insight-details'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3017,8 +3017,8 @@ def create_database_insight_create_macs_managed_autonomous_database_insight_deta
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight_create_mds_my_sql_database_insight_details.command_name', 'create-database-insight-create-mds-my-sql-database-insight-details'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -3082,7 +3082,7 @@ def create_database_insight_create_mds_my_sql_database_insight_details(ctx, from
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight_create_em_managed_external_database_insight_details.command_name', 'create-database-insight-create-em-managed-external-database-insight-details'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
@cli_util.option('--enterprise-manager-identifier', required=True, help=u"""Enterprise Manager Unique Identifier""")
@cli_util.option('--enterprise-manager-bridge-id', required=True, help=u"""OPSI Enterprise Manager Bridge OCID""")
@cli_util.option('--enterprise-manager-entity-identifier', required=True, help=u"""Enterprise Manager Entity Unique Identifier""")
@@ -3155,8 +3155,8 @@ def create_database_insight_create_em_managed_external_database_insight_details(
@database_insights_group.command(name=cli_util.override('opsi.create_database_insight_create_pe_comanaged_database_insight_details.command_name', 'create-database-insight-create-pe-comanaged-database-insight-details'), help=u"""Create a Database Insight resource for a database in Operations Insights. The database will be enabled in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](createDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of database""")
-@cli_util.option('--database-id', required=True, help=u"""The [OCID] of the database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of database""")
+@cli_util.option('--database-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database.""")
@cli_util.option('--database-resource-type', required=True, help=u"""OCI database resource type""")
@cli_util.option('--service-name', required=True, help=u"""Database service name used for connection requests.""")
@cli_util.option('--credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3244,7 +3244,7 @@ def create_database_insight_create_pe_comanaged_database_insight_details(ctx, fr
@enterprise_manager_bridges_group.command(name=cli_util.override('opsi.create_enterprise_manager_bridge.command_name', 'create'), help=u"""Create a Enterprise Manager bridge in Operations Insights. \n[Command Reference](createEnterpriseManagerBridge)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment identifier of the Enterprise Manager bridge""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment identifier of the Enterprise Manager bridge""")
@cli_util.option('--display-name', required=True, help=u"""User-friedly name of Enterprise Manager Bridge that does not have to be unique.""")
@cli_util.option('--object-storage-bucket-name', required=True, help=u"""Object Storage Bucket Name""")
@cli_util.option('--description', help=u"""Description of Enterprise Manager Bridge""")
@@ -3314,7 +3314,7 @@ def create_enterprise_manager_bridge(ctx, from_json, wait_for_state, max_wait_se
@exadata_insights_group.command(name=cli_util.override('opsi.create_exadata_insight.command_name', 'create'), help=u"""Create an Exadata insight resource for an Exadata system in Operations Insights. The Exadata system will be enabled in Operations Insights. Exadata-related metric collection and analysis will be started. \n[Command Reference](createExadataInsight)""")
@cli_util.option('--entity-source', required=True, type=custom_types.CliCaseInsensitiveChoice(["EM_MANAGED_EXTERNAL_EXADATA", "PE_COMANAGED_EXADATA", "MACS_MANAGED_CLOUD_EXADATA"]), help=u"""Source of the Exadata system.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of Exadata insight""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of Exadata insight""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -3376,7 +3376,7 @@ def create_exadata_insight(ctx, from_json, wait_for_state, max_wait_seconds, wai
@exadata_insights_group.command(name=cli_util.override('opsi.create_exadata_insight_create_em_managed_external_exadata_insight_details.command_name', 'create-exadata-insight-create-em-managed-external-exadata-insight-details'), help=u"""Create an Exadata insight resource for an Exadata system in Operations Insights. The Exadata system will be enabled in Operations Insights. Exadata-related metric collection and analysis will be started. \n[Command Reference](createExadataInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of Exadata insight""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of Exadata insight""")
@cli_util.option('--enterprise-manager-identifier', required=True, help=u"""Enterprise Manager Unique Identifier""")
@cli_util.option('--enterprise-manager-bridge-id', required=True, help=u"""OPSI Enterprise Manager Bridge OCID""")
@cli_util.option('--enterprise-manager-entity-identifier', required=True, help=u"""Enterprise Manager Entity Unique Identifier""")
@@ -3455,7 +3455,7 @@ def create_exadata_insight_create_em_managed_external_exadata_insight_details(ct
@exadata_insights_group.command(name=cli_util.override('opsi.create_exadata_insight_create_macs_managed_cloud_exadata_insight_details.command_name', 'create-exadata-insight-create-macs-managed-cloud-exadata-insight-details'), help=u"""Create an Exadata insight resource for an Exadata system in Operations Insights. The Exadata system will be enabled in Operations Insights. Exadata-related metric collection and analysis will be started. \n[Command Reference](createExadataInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of Exadata insight""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of Exadata insight""")
@cli_util.option('--exadata-infra-id', required=True, help=u"""The [OCID] of the Exadata Infrastructure.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3526,7 +3526,7 @@ def create_exadata_insight_create_macs_managed_cloud_exadata_insight_details(ctx
@exadata_insights_group.command(name=cli_util.override('opsi.create_exadata_insight_create_pe_comanaged_exadata_insight_details.command_name', 'create-exadata-insight-create-pe-comanaged-exadata-insight-details'), help=u"""Create an Exadata insight resource for an Exadata system in Operations Insights. The Exadata system will be enabled in Operations Insights. Exadata-related metric collection and analysis will be started. \n[Command Reference](createExadataInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of Exadata insight""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of Exadata insight""")
@cli_util.option('--exadata-infra-id', required=True, help=u"""The [OCID] of the Exadata Infrastructure.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3598,7 +3598,7 @@ def create_exadata_insight_create_pe_comanaged_exadata_insight_details(ctx, from
@host_insights_group.command(name=cli_util.override('opsi.create_host_insight.command_name', 'create'), help=u"""Create a Host Insight resource for a host in Ops Insights. The host will be enabled in Ops Insights. Host metric collection and analysis will be started. \n[Command Reference](createHostInsight)""")
@cli_util.option('--entity-source', required=True, type=custom_types.CliCaseInsensitiveChoice(["MACS_MANAGED_EXTERNAL_HOST", "EM_MANAGED_EXTERNAL_HOST", "MACS_MANAGED_CLOUD_HOST", "PE_COMANAGED_HOST", "MACS_MANAGED_CLOUD_DB_HOST"]), help=u"""Source of the host entity.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of host""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of host""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -3660,7 +3660,7 @@ def create_host_insight(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@host_insights_group.command(name=cli_util.override('opsi.create_host_insight_create_macs_managed_cloud_host_insight_details.command_name', 'create-host-insight-create-macs-managed-cloud-host-insight-details'), help=u"""Create a Host Insight resource for a host in Ops Insights. The host will be enabled in Ops Insights. Host metric collection and analysis will be started. \n[Command Reference](createHostInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of host""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of host""")
@cli_util.option('--compute-id', required=True, help=u"""The [OCID] of the Compute Instance""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3725,7 +3725,7 @@ def create_host_insight_create_macs_managed_cloud_host_insight_details(ctx, from
@host_insights_group.command(name=cli_util.override('opsi.create_host_insight_create_macs_managed_external_host_insight_details.command_name', 'create-host-insight-create-macs-managed-external-host-insight-details'), help=u"""Create a Host Insight resource for a host in Ops Insights. The host will be enabled in Ops Insights. Host metric collection and analysis will be started. \n[Command Reference](createHostInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of host""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of host""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3790,7 +3790,7 @@ def create_host_insight_create_macs_managed_external_host_insight_details(ctx, f
@host_insights_group.command(name=cli_util.override('opsi.create_host_insight_create_em_managed_external_host_insight_details.command_name', 'create-host-insight-create-em-managed-external-host-insight-details'), help=u"""Create a Host Insight resource for a host in Ops Insights. The host will be enabled in Ops Insights. Host metric collection and analysis will be started. \n[Command Reference](createHostInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier of host""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier of host""")
@cli_util.option('--enterprise-manager-identifier', required=True, help=u"""Enterprise Manager Unique Identifier""")
@cli_util.option('--enterprise-manager-bridge-id', required=True, help=u"""OPSI Enterprise Manager Bridge OCID""")
@cli_util.option('--enterprise-manager-entity-identifier', required=True, help=u"""Enterprise Manager Entity Unique Identifier""")
@@ -3867,7 +3867,7 @@ def create_host_insight_create_em_managed_external_host_insight_details(ctx, fro
@cli_util.option('--news-frequency', required=True, type=custom_types.CliCaseInsensitiveChoice(["WEEKLY", "DAILY", "HOURLY"]), help=u"""News report frequency.""")
@cli_util.option('--description', required=True, help=u"""The description of the news report.""")
@cli_util.option('--ons-topic-id', required=True, help=u"""The [OCID] of the ONS topic.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier where the news report will be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier where the news report will be created.""")
@cli_util.option('--content-types', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--locale', required=True, type=custom_types.CliCaseInsensitiveChoice(["EN"]), help=u"""Language of the news report.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3957,9 +3957,9 @@ def create_news_report(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@operations_insights_private_endpoint_group.command(name=cli_util.override('opsi.create_operations_insights_private_endpoint.command_name', 'create'), help=u"""Create a private endpoint resource for the tenant in Ops Insights. This resource will be created in customer compartment. \n[Command Reference](createOperationsInsightsPrivateEndpoint)""")
@cli_util.option('--display-name', required=True, help=u"""The display name for the private endpoint. It is changeable.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] of the Private service accessed database.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The VCN [OCID] of the Private service accessed database.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The Subnet [OCID] of the Private service accessed database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] of the Private service accessed database.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The VCN [OCID] of the Private service accessed database.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The Subnet [OCID] of the Private service accessed database.""")
@cli_util.option('--is-used-for-rac-dbs', required=True, type=click.BOOL, help=u"""This flag was previously used to create a private endpoint with scan proxy. Setting this to true will now create a private endpoint with a DNS proxy causing `isProxyEnabled` flag to be true; this is used exclusively for full feature support for dedicated Autonomous Databases.""")
@cli_util.option('--description', help=u"""The description of the private endpoint.""")
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The [OCID] of the network security groups that the private endpoint belongs to.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4033,7 +4033,7 @@ def create_operations_insights_private_endpoint(ctx, from_json, wait_for_state,
@operations_insights_warehouses_group.command(name=cli_util.override('opsi.create_operations_insights_warehouse.command_name', 'create'), help=u"""Create a Ops Insights Warehouse resource for the tenant in Ops Insights. New ADW will be provisioned for this tenant. There is only expected to be 1 warehouse per tenant. The warehouse is expected to be in the root compartment. If the 'opsi-warehouse-type' header is passed to the API, a warehouse resource without ADW or Schema provisioning is created. \n[Command Reference](createOperationsInsightsWarehouse)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""User-friedly name of Ops Insights Warehouse that does not have to be unique.""")
@cli_util.option('--cpu-allocated', required=True, help=u"""Number of CPUs allocated to OPSI Warehouse ADW.""")
@cli_util.option('--compute-model', help=u"""The compute model for the OPSI warehouse ADW (OCPU or ECPU)""")
@@ -4107,7 +4107,7 @@ def create_operations_insights_warehouse(ctx, from_json, wait_for_state, max_wai
@operations_insights_warehouse_users_group.command(name=cli_util.override('opsi.create_operations_insights_warehouse_user.command_name', 'create'), help=u"""Create a Operations Insights Warehouse user resource for the tenant in Operations Insights. This resource will be created in root compartment. \n[Command Reference](createOperationsInsightsWarehouseUser)""")
@cli_util.option('--operations-insights-warehouse-id', required=True, help=u"""OPSI Warehouse OCID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--name', required=True, help=u"""Username for schema which would have access to AWR Data, Enterprise Manager Data and Ops Insights OPSI Hub.""")
@cli_util.option('--connection-password', required=True, help=u"""User provided connection password for the AWR Data, Enterprise Manager Data and Ops Insights OPSI Hub.""")
@cli_util.option('--is-awr-data-access', required=True, type=click.BOOL, help=u"""Indicate whether user has access to AWR data.""")
@@ -4184,7 +4184,7 @@ def create_operations_insights_warehouse_user(ctx, from_json, wait_for_state, ma
@opsi_configurations_group.command(name=cli_util.override('opsi.create_opsi_configuration.command_name', 'create'), help=u"""Create an OPSI configuration resource. \n[Command Reference](createOpsiConfiguration)""")
@cli_util.option('--opsi-config-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["UX_CONFIGURATION"]), help=u"""OPSI configuration type.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""User-friendly display name for the OPSI configuration. The name does not have to be unique.""")
@cli_util.option('--description', help=u"""Description of OPSI configuration.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -4278,7 +4278,7 @@ def create_opsi_configuration(ctx, from_json, wait_for_state, max_wait_seconds,
@opsi_configurations_group.command(name=cli_util.override('opsi.create_opsi_configuration_create_opsi_ux_configuration_details.command_name', 'create-opsi-configuration-create-opsi-ux-configuration-details'), help=u"""Create an OPSI configuration resource. \n[Command Reference](createOpsiConfiguration)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""User-friendly display name for the OPSI configuration. The name does not have to be unique.""")
@cli_util.option('--description', help=u"""Description of OPSI configuration.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -5959,7 +5959,7 @@ def enable_database_insight_enable_mds_my_sql_database_insight_details(ctx, from
@database_insights_group.command(name=cli_util.override('opsi.enable_database_insight_enable_macs_managed_autonomous_database_insight_details.command_name', 'enable-database-insight-enable-macs-managed-autonomous-database-insight-details'), help=u"""Enables a database in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](enableDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] of the Autonomous Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] of the Autonomous Database.""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6194,7 +6194,7 @@ def enable_database_insight_enable_autonomous_database_insight_details(ctx, from
@database_insights_group.command(name=cli_util.override('opsi.enable_database_insight_enable_macs_managed_cloud_database_insight_details.command_name', 'enable-database-insight-enable-macs-managed-cloud-database-insight-details'), help=u"""Enables a database in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](enableDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] of the External Database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] of the External Database.""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -6275,7 +6275,7 @@ def enable_database_insight_enable_macs_managed_cloud_database_insight_details(c
@database_insights_group.command(name=cli_util.override('opsi.enable_database_insight_enable_pe_comanaged_database_insight_details.command_name', 'enable-database-insight-enable-pe-comanaged-database-insight-details'), help=u"""Enables a database in Operations Insights. Database metric collection and analysis will be started. \n[Command Reference](enableDatabaseInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment [OCID] of the Private service accessed database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment [OCID] of the Private service accessed database.""")
@cli_util.option('--opsi-private-endpoint-id', required=True, help=u"""The [OCID] of the OPSI private endpoint""")
@cli_util.option('--service-name', required=True, help=u"""Database service name used for connection requests.""")
@cli_util.option('--credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -7283,7 +7283,7 @@ def get_opsi_configuration(ctx, from_json, opsi_configuration_id, opsi_config_fi
@opsi_data_objects_group.command(name=cli_util.override('opsi.get_opsi_data_object.command_name', 'get'), help=u"""Gets details of an OPSI data object. \n[Command Reference](getOpsiDataObject)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--opsi-data-object-identifier', required=True, help=u"""Unique OPSI data object identifier.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -7357,7 +7357,7 @@ def head_awr_hub_object(ctx, from_json, awr_hub_source_id, object_name):
@database_insights_group.command(name=cli_util.override('opsi.ingest_addm_reports.command_name', 'ingest-addm-reports'), help=u"""This endpoint takes in a JSON payload, persists it in Operation Insights ingest pipeline. Either databaseId or id must be specified. \n[Command Reference](ingestAddmReports)""")
@cli_util.option('--items', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of Addm reports""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[AddmReport]'}})
@@ -7389,7 +7389,7 @@ def ingest_addm_reports(ctx, from_json, items, database_id, id, if_match):
@database_insights_group.command(name=cli_util.override('opsi.ingest_database_configuration.command_name', 'ingest-database-configuration'), help=u"""This is a generic ingest endpoint for all database configuration metrics. \n[Command Reference](ingestDatabaseConfiguration)""")
@cli_util.option('--items', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""Array of one or more database configuration metrics objects.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[DatabaseConfigurationMetricGroup]'}})
@@ -7479,7 +7479,7 @@ def ingest_host_metrics(ctx, from_json, id, items, if_match):
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of MySql SQL Stats Metric Entries.
This option is a JSON list with items of type MySqlSqlStats. For documentation on MySqlSqlStats please see our API reference: https://docs.cloud.oracle.com/api/#/en/operationsinsights/20200630/datatypes/MySqlSqlStats.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[MySqlSqlStats]'}})
@@ -7515,8 +7515,8 @@ def ingest_my_sql_sql_stats(ctx, from_json, items, database_id, id, if_match):
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of SQL Text Entries.
This option is a JSON list with items of type MySqlSqlText. For documentation on MySqlSqlText please see our API reference: https://docs.cloud.oracle.com/api/#/en/operationsinsights/20200630/datatypes/MySqlSqlText.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[MySqlSqlText]'}})
@@ -7554,8 +7554,8 @@ def ingest_my_sql_sql_text(ctx, from_json, items, compartment_id, database_id, i
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of SQL Bucket Metric Entries.
This option is a JSON list with items of type SqlBucket. For documentation on SqlBucket please see our API reference: https://docs.cloud.oracle.com/api/#/en/operationsinsights/20200630/datatypes/SqlBucket.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[SqlBucket]'}})
@@ -7593,8 +7593,8 @@ def ingest_sql_bucket(ctx, from_json, items, compartment_id, database_id, id, if
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of SQL Plan Line Entries.
This option is a JSON list with items of type SqlPlanLine. For documentation on SqlPlanLine please see our API reference: https://docs.cloud.oracle.com/api/#/en/operationsinsights/20200630/datatypes/SqlPlanLine.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[SqlPlanLine]'}})
@@ -7632,7 +7632,7 @@ def ingest_sql_plan_lines(ctx, from_json, items, compartment_id, database_id, id
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of SQL Stats Metric Entries.
This option is a JSON list with items of type SqlStats. For documentation on SqlStats please see our API reference: https://docs.cloud.oracle.com/api/#/en/operationsinsights/20200630/datatypes/SqlStats.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[SqlStats]'}})
@@ -7668,8 +7668,8 @@ def ingest_sql_stats(ctx, from_json, items, database_id, id, if_match):
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of SQL Text Entries.
This option is a JSON list with items of type SqlText. For documentation on SqlText please see our API reference: https://docs.cloud.oracle.com/api/#/en/operationsinsights/20200630/datatypes/SqlText.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'opsi', 'class': 'list[SqlText]'}})
@@ -7704,8 +7704,8 @@ def ingest_sql_text(ctx, from_json, items, compartment_id, database_id, id, if_m
@database_insights_group.command(name=cli_util.override('opsi.list_addm_db_finding_categories.command_name', 'list-addm-db-finding-categories'), help=u"""Gets list of ADDM finding categories. \n[Command Reference](listAddmDbFindingCategories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@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]. Example: `50`""")
@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].""")
@@ -7779,8 +7779,8 @@ def list_addm_db_finding_categories(ctx, from_json, all_pages, page_size, compar
@database_insights_group.command(name=cli_util.override('opsi.list_addm_db_findings_time_series.command_name', 'list-addm-db-findings-time-series'), help=u"""Get the ADDM findings time series for the specified databases for a given time period. \n[Command Reference](listAddmDbFindingsTimeSeries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--instance-number', help=u"""The optional single value query parameter to filter by database instance number.""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -7866,8 +7866,8 @@ def list_addm_db_findings_time_series(ctx, from_json, all_pages, page_size, comp
@database_insights_group.command(name=cli_util.override('opsi.list_addm_db_parameter_categories.command_name', 'list-addm-db-parameter-categories'), help=u"""Gets list of ADDM database parameter categories for the specified databases. \n[Command Reference](listAddmDbParameterCategories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@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]. Example: `50`""")
@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].""")
@@ -7941,8 +7941,8 @@ def list_addm_db_parameter_categories(ctx, from_json, all_pages, page_size, comp
@database_insights_group.command(name=cli_util.override('opsi.list_addm_db_recommendation_categories.command_name', 'list-addm-db-recommendation-categories'), help=u"""Gets list of ADDM recommendation categories for the specified databases. \n[Command Reference](listAddmDbRecommendationCategories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@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]. Example: `50`""")
@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].""")
@@ -8016,8 +8016,8 @@ def list_addm_db_recommendation_categories(ctx, from_json, all_pages, page_size,
@database_insights_group.command(name=cli_util.override('opsi.list_addm_db_recommendations_time_series.command_name', 'list-addm-db-recommendations-time-series'), help=u"""Gets time series data for ADDM recommendations for the specified databases. \n[Command Reference](listAddmDbRecommendationsTimeSeries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--instance-number', help=u"""The optional single value query parameter to filter by database instance number.""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -8115,8 +8115,8 @@ def list_addm_db_recommendations_time_series(ctx, from_json, all_pages, page_siz
@database_insights_group.command(name=cli_util.override('opsi.list_addm_dbs.command_name', 'list-addm-dbs'), help=u"""Gets a list of ADDM database information \n[Command Reference](listAddmDbs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -8408,7 +8408,7 @@ def list_awr_hub_objects(ctx, from_json, all_pages, page_size, awr_hub_source_id
@awr_hub_sources_group.command(name=cli_util.override('opsi.list_awr_hub_sources.command_name', 'list'), help=u"""Gets a list of Awr Hub source objects. \n[Command Reference](listAwrHubSources)""")
@cli_util.option('--awr-hub-id', required=True, help=u"""Unique Awr Hub identifier""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--awr-hub-source-id', help=u"""Awr Hub source identifier""")
@cli_util.option('--source-type', type=custom_types.CliCaseInsensitiveChoice(["ADW_S", "ATP_S", "ADW_D", "ATP_D", "EXTERNAL_PDB", "EXTERNAL_NONCDB", "COMANAGED_VM_CDB", "COMANAGED_VM_PDB", "COMANAGED_VM_NONCDB", "COMANAGED_BM_CDB", "COMANAGED_BM_PDB", "COMANAGED_BM_NONCDB", "COMANAGED_EXACS_CDB", "COMANAGED_EXACS_PDB", "COMANAGED_EXACS_NONCDB", "UNDEFINED"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
@cli_util.option('--name', help=u"""Awr Hub source database name""")
@@ -8480,7 +8480,7 @@ def list_awr_hub_sources(ctx, from_json, all_pages, page_size, awr_hub_id, compa
@awr_hubs_group.command(name=cli_util.override('opsi.list_awr_hubs.command_name', 'list'), help=u"""Gets a list of AWR hubs. Either compartmentId or id must be specified. All these resources are expected to be in root compartment. \n[Command Reference](listAwrHubs)""")
@cli_util.option('--operations-insights-warehouse-id', required=True, help=u"""Unique Operations Insights Warehouse identifier""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name.""")
@cli_util.option('--id', help=u"""Unique Awr Hub identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""Lifecycle states""")
@@ -8612,10 +8612,10 @@ def list_awr_snapshots(ctx, from_json, all_pages, page_size, awr_hub_id, awr_sou
@database_insights_group.command(name=cli_util.override('opsi.list_database_configurations.command_name', 'list-database-configurations'), help=u"""Gets a list of database insight configurations based on the query parameters specified. Either compartmentId or databaseInsightId query parameter must be specified. When both compartmentId and compartmentIdInSubtree are specified, a list of database insight configurations in that compartment and in all sub-compartments will be returned. \n[Command Reference](listDatabaseConfigurations)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--enterprise-manager-bridge-id', help=u"""Unique Enterprise Manager bridge identifier""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--cdb-name', multiple=True, help=u"""Filter by one or more cdb name.""")
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
@@ -8704,13 +8704,13 @@ def list_database_configurations(ctx, from_json, all_pages, page_size, compartme
@database_insights_group.command(name=cli_util.override('opsi.list_database_insights.command_name', 'list'), help=u"""Gets a list of database insights based on the query parameters specified. Either compartmentId or id query parameter must be specified. When both compartmentId and compartmentIdInSubtree are specified, a list of database insights in that compartment and in all sub-compartments will be returned. \n[Command Reference](listDatabaseInsights)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--enterprise-manager-bridge-id', help=u"""Unique Enterprise Manager bridge identifier""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["DISABLED", "ENABLED", "TERMINATED"]), multiple=True, help=u"""Resource Status""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), multiple=True, help=u"""Lifecycle states""")
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--fields', type=custom_types.CliCaseInsensitiveChoice(["compartmentId", "databaseName", "databaseDisplayName", "databaseType", "databaseVersion", "databaseHostNames", "freeformTags", "definedTags"]), multiple=True, help=u"""Specifies the fields to return in a database summary response. By default all fields are returned if omitted.""")
@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]. Example: `50`""")
@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].""")
@@ -8787,7 +8787,7 @@ def list_database_insights(ctx, from_json, all_pages, page_size, compartment_id,
@enterprise_manager_bridges_group.command(name=cli_util.override('opsi.list_enterprise_manager_bridges.command_name', 'list'), help=u"""Gets a list of Ops Insights Enterprise Manager bridges. Either compartmentId or id must be specified. When both compartmentId and compartmentIdInSubtree are specified, a list of bridges in that compartment and in all sub-compartments will be returned. \n[Command Reference](listEnterpriseManagerBridges)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name.""")
@cli_util.option('--id', help=u"""Unique Enterprise Manager bridge identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), multiple=True, help=u"""Lifecycle states""")
@@ -8852,7 +8852,7 @@ def list_enterprise_manager_bridges(ctx, from_json, all_pages, page_size, compar
@exadata_insights_group.command(name=cli_util.override('opsi.list_exadata_configurations.command_name', 'list-exadata-configurations'), help=u"""Gets a list of exadata insight configurations. Either compartmentId or exadataInsightsId query parameter must be specified. \n[Command Reference](listExadataConfigurations)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--exadata-type', multiple=True, help=u"""Filter by one or more Exadata types. Possible value are DBMACHINE, EXACS, and EXACC.""")
@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]. Example: `50`""")
@@ -8926,7 +8926,7 @@ def list_exadata_configurations(ctx, from_json, all_pages, page_size, compartmen
@exadata_insights_group.command(name=cli_util.override('opsi.list_exadata_insights.command_name', 'list'), help=u"""Gets a list of Exadata insights based on the query parameters specified. Either compartmentId or id query parameter must be specified. When both compartmentId and compartmentIdInSubtree are specified, a list of Exadata insights in that compartment and in all sub-compartments will be returned. \n[Command Reference](listExadataInsights)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--enterprise-manager-bridge-id', help=u"""Unique Enterprise Manager bridge identifier""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of Exadata insight resource [OCIDs].""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["DISABLED", "ENABLED", "TERMINATED"]), multiple=True, help=u"""Resource Status""")
@@ -8997,7 +8997,7 @@ def list_exadata_insights(ctx, from_json, all_pages, page_size, compartment_id,
@host_insights_group.command(name=cli_util.override('opsi.list_host_configurations.command_name', 'list-host-configurations'), help=u"""Gets a list of host insight configurations based on the query parameters specified. Either compartmentId or hostInsightId query parameter must be specified. When both compartmentId and compartmentIdInSubtree are specified, a list of host insight configurations in that compartment and in all sub-compartments will be returned. \n[Command Reference](listHostConfigurations)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--enterprise-manager-bridge-id', help=u"""Unique Enterprise Manager bridge identifier""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of host insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@@ -9089,7 +9089,7 @@ def list_host_configurations(ctx, from_json, all_pages, page_size, compartment_i
@host_insights_group.command(name=cli_util.override('opsi.list_host_insights.command_name', 'list'), help=u"""Gets a list of host insights based on the query parameters specified. Either compartmentId or id query parameter must be specified. When both compartmentId and compartmentIdInSubtree are specified, a list of host insights in that compartment and in all sub-compartments will be returned. \n[Command Reference](listHostInsights)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of host insight resource [OCIDs].""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["DISABLED", "ENABLED", "TERMINATED"]), multiple=True, help=u"""Resource Status""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), multiple=True, help=u"""Lifecycle states""")
@@ -9166,7 +9166,7 @@ def list_host_insights(ctx, from_json, all_pages, page_size, compartment_id, id,
@host_insights_group.command(name=cli_util.override('opsi.list_hosted_entities.command_name', 'list-hosted-entities'), help=u"""Get a list of hosted entities details. \n[Command Reference](listHostedEntities)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', required=True, help=u"""Required [OCID] of the host insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -9248,7 +9248,7 @@ def list_hosted_entities(ctx, from_json, all_pages, page_size, compartment_id, i
@host_insights_group.command(name=cli_util.override('opsi.list_importable_agent_entities.command_name', 'list-importable-agent-entities'), help=u"""Gets a list of agent entities available to add a new hostInsight. An agent entity is \"available\" and will be shown if all the following conditions are true: 1. The agent OCID is not already being used for an existing hostInsight. 2. The agent availabilityStatus = 'ACTIVE' 3. The agent lifecycleState = 'ACTIVE' \n[Command Reference](listImportableAgentEntities)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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]. Example: `50`""")
@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].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -9302,7 +9302,7 @@ def list_importable_agent_entities(ctx, from_json, all_pages, page_size, compart
@host_insights_group.command(name=cli_util.override('opsi.list_importable_compute_entities.command_name', 'list-importable-compute-entities'), help=u"""Gets a list of available compute intances running cloud agent to add a new hostInsight. An Compute entity is \"available\" and will be shown if all the following conditions are true: 1. Compute is running OCA 2. OCI Management Agent is not enabled or If OCI Management Agent is enabled 2.1 The agent OCID is not already being used for an existing hostInsight. 2.2 The agent availabilityStatus = 'ACTIVE' 2.3 The agent lifecycleState = 'ACTIVE' \n[Command Reference](listImportableComputeEntities)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@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]. Example: `50`""")
@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].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -9416,7 +9416,7 @@ def list_importable_enterprise_manager_entities(ctx, from_json, all_pages, page_
@news_reports_group.command(name=cli_util.override('opsi.list_news_reports.command_name', 'list'), help=u"""Gets a list of news reports based on the query parameters specified. Either compartmentId or id query parameter must be specified. \n[Command Reference](listNewsReports)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--news-report-id', help=u"""Unique Ops Insights news report identifier""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["DISABLED", "ENABLED", "TERMINATED"]), multiple=True, help=u"""Resource Status""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), multiple=True, help=u"""Lifecycle states""")
@@ -9481,11 +9481,11 @@ def list_news_reports(ctx, from_json, all_pages, page_size, compartment_id, news
@operations_insights_private_endpoint_group.command(name=cli_util.override('opsi.list_operations_insights_private_endpoints.command_name', 'list'), help=u"""Gets a list of Operation Insights private endpoints. \n[Command Reference](listOperationsInsightsPrivateEndpoints)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name.""")
@cli_util.option('--opsi-private-endpoint-id', help=u"""Unique Operations Insights PrivateEndpoint identifier""")
@cli_util.option('--is-used-for-rac-dbs', type=click.BOOL, help=u"""The option to filter OPSI private endpoints that can used for RAC. Should be used along with vcnId query parameter.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), multiple=True, help=u"""Lifecycle states""")
@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]. Example: `50`""")
@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].""")
@@ -9553,7 +9553,7 @@ def list_operations_insights_private_endpoints(ctx, from_json, all_pages, page_s
@operations_insights_warehouse_users_group.command(name=cli_util.override('opsi.list_operations_insights_warehouse_users.command_name', 'list'), help=u"""Gets a list of Operations Insights Warehouse users. Either compartmentId or id must be specified. All these resources are expected to be in root compartment. \n[Command Reference](listOperationsInsightsWarehouseUsers)""")
@cli_util.option('--operations-insights-warehouse-id', required=True, help=u"""Unique Operations Insights Warehouse identifier""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name.""")
@cli_util.option('--id', help=u"""Unique Operations Insights Warehouse User identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""Lifecycle states""")
@@ -9618,7 +9618,7 @@ def list_operations_insights_warehouse_users(ctx, from_json, all_pages, page_siz
@operations_insights_warehouses_group.command(name=cli_util.override('opsi.list_operations_insights_warehouses.command_name', 'list'), help=u"""Gets a list of Ops Insights warehouses. Either compartmentId or id must be specified. There is only expected to be 1 warehouse per tenant. The warehouse is expected to be in the root compartment. \n[Command Reference](listOperationsInsightsWarehouses)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name.""")
@cli_util.option('--id', help=u"""Unique Ops Insights Warehouse identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""Lifecycle states""")
@@ -9680,7 +9680,7 @@ def list_operations_insights_warehouses(ctx, from_json, all_pages, page_size, co
@opsi_configurations_group.command(name=cli_util.override('opsi.list_opsi_configurations.command_name', 'list'), help=u"""Gets a list of OPSI configuration resources based on the query parameters specified. \n[Command Reference](listOpsiConfigurations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""Filter to return based on resources that match the entire display name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""Filter to return based on Lifecycle state of OPSI configuration.""")
@cli_util.option('--opsi-config-type', type=custom_types.CliCaseInsensitiveChoice(["UX_CONFIGURATION"]), multiple=True, help=u"""Filter to return based on configuration type of OPSI configuration.""")
@@ -9743,7 +9743,7 @@ def list_opsi_configurations(ctx, from_json, all_pages, page_size, compartment_i
@opsi_data_objects_group.command(name=cli_util.override('opsi.list_opsi_data_objects.command_name', 'list'), help=u"""Gets a list of OPSI data objects based on the query parameters specified. CompartmentId id query parameter must be specified. \n[Command Reference](listOpsiDataObjects)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--data-object-type', type=custom_types.CliCaseInsensitiveChoice(["DATABASE_INSIGHTS_DATA_OBJECT", "HOST_INSIGHTS_DATA_OBJECT", "EXADATA_INSIGHTS_DATA_OBJECT"]), multiple=True, help=u"""OPSI data object types.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name.""")
@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]. Example: `50`""")
@@ -9809,10 +9809,10 @@ def list_opsi_data_objects(ctx, from_json, all_pages, page_size, compartment_id,
@database_insights_group.command(name=cli_util.override('opsi.list_sql_plans.command_name', 'list-sql-plans'), help=u"""Query SQL Warehouse to list the plan xml for a given SQL execution plan. This returns a SqlPlanCollection object, but is currently limited to a single plan. Either databaseId or id must be specified. \n[Command Reference](listSqlPlans)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, help=u"""Unique SQL_ID for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
@cli_util.option('--plan-hash', required=True, multiple=True, help=u"""Unique plan hash for a SQL Plan of a particular SQL Statement. Example: `9820154385`""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@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].""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@@ -9851,7 +9851,7 @@ def list_sql_plans(ctx, from_json, all_pages, compartment_id, sql_identifier, pl
@database_insights_group.command(name=cli_util.override('opsi.list_sql_searches.command_name', 'list-sql-searches'), help=u"""Search SQL by SQL Identifier across databases in a compartment and in all sub-compartments if specified. And get the SQL Text and the details of the databases executing the SQL for a given time period. \n[Command Reference](listSqlSearches)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, help=u"""Unique SQL_ID for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -9908,9 +9908,9 @@ def list_sql_searches(ctx, from_json, all_pages, compartment_id, sql_identifier,
@database_insights_group.command(name=cli_util.override('opsi.list_sql_texts.command_name', 'list-sql-texts'), help=u"""Query SQL Warehouse to get the full SQL Text for a SQL in a compartment and in all sub-compartments if specified. \n[Command Reference](listSqlTexts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, multiple=True, help=u"""One or more unique SQL_IDs for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the assosicated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the assosicated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database [OCIDs] of the database insight resource.""")
@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].""")
@cli_util.option('--defined-tag-equals', multiple=True, help=u"""A list of tag filters to apply. Only resources with a defined tag matching the value will be returned. Each item in the list has the format \"{namespace}.{tagName}.{value}\". All inputs are case-insensitive. Multiple values for the same key (i.e. same namespace and tag name) are interpreted as \"OR\". Values for different keys (i.e. different namespaces, different tag names, or both) are interpreted as \"AND\".""")
@@ -10154,7 +10154,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_requests_group.command(name=cli_util.override('opsi.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. Either compartmentId or id must be specified. Only one of id, resourceId or relatedResourceId can be specified optionally. \n[Command Reference](listWorkRequests)""")
@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].""")
@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]. Example: `50`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@@ -10253,7 +10253,7 @@ def put_awr_hub_object(ctx, from_json, put_awr_hub_object_body, awr_hub_source_i
@opsi_data_objects_group.command(name=cli_util.override('opsi.query_opsi_data_object_data.command_name', 'query'), help=u"""Queries an OPSI data object with the inputs provided and sends the result set back. Either analysisTimeInterval or timeIntervalStart and timeIntervalEnd parameters need to be passed as well. \n[Command Reference](queryOpsiDataObjectData)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--query-parameterconflict', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--data-object-identifier', help=u"""Unique OPSI data object identifier.""")
@cli_util.option('--data-objects', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Details of OPSI data objects used in the query.
@@ -10298,7 +10298,7 @@ def query_opsi_data_object_data(ctx, from_json, compartment_id, query_parameterc
@opsi_data_objects_group.command(name=cli_util.override('opsi.query_opsi_data_object_data_data_object_standard_query.command_name', 'query-opsi-data-object-data-data-object-standard-query'), help=u"""Queries an OPSI data object with the inputs provided and sends the result set back. Either analysisTimeInterval or timeIntervalStart and timeIntervalEnd parameters need to be passed as well. \n[Command Reference](queryOpsiDataObjectData)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--data-object-identifier', help=u"""Unique OPSI data object identifier.""")
@cli_util.option('--data-objects', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Details of OPSI data objects used in the query.
@@ -10362,7 +10362,7 @@ def query_opsi_data_object_data_data_object_standard_query(ctx, from_json, compa
@opsi_data_objects_group.command(name=cli_util.override('opsi.query_opsi_data_object_data_data_object_templatized_query.command_name', 'query-opsi-data-object-data-data-object-templatized-query'), help=u"""Queries an OPSI data object with the inputs provided and sends the result set back. Either analysisTimeInterval or timeIntervalStart and timeIntervalEnd parameters need to be passed as well. \n[Command Reference](queryOpsiDataObjectData)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--data-object-identifier', help=u"""Unique OPSI data object identifier.""")
@cli_util.option('--data-objects', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Details of OPSI data objects used in the query.
@@ -10676,8 +10676,8 @@ def rotate_operations_insights_warehouse_wallet(ctx, from_json, wait_for_state,
@database_insights_group.command(name=cli_util.override('opsi.summarize_addm_db_findings.command_name', 'summarize-addm-db-findings'), help=u"""Summarizes ADDM findings for the specified databases. \n[Command Reference](summarizeAddmDbFindings)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--instance-number', help=u"""The optional single value query parameter to filter by database instance number.""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -10740,9 +10740,9 @@ def summarize_addm_db_findings(ctx, from_json, compartment_id, database_id, id,
@database_insights_group.command(name=cli_util.override('opsi.summarize_addm_db_parameter_changes.command_name', 'summarize-addm-db-parameter-changes'), help=u"""Summarizes the AWR database parameter change history for the specified parameter. There will be one element for each time that parameter changed during the specified time period. This API is limited to only one parameter per request. \n[Command Reference](summarizeAddmDbParameterChanges)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--name', required=True, help=u"""Required filter to return only changes for the specified parameter. The match is case sensitive.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--instance-number', help=u"""The optional single value query parameter to filter by database instance number.""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -10806,8 +10806,8 @@ def summarize_addm_db_parameter_changes(ctx, from_json, compartment_id, name, da
@database_insights_group.command(name=cli_util.override('opsi.summarize_addm_db_parameters.command_name', 'summarize-addm-db-parameters'), help=u"""Summarizes database parameter history information for the specified databases. Return a list of parameters with information on whether the parameter values were changed or not within the specified time period. The response does not include the individual parameter changes within the time period. \n[Command Reference](summarizeAddmDbParameters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--instance-number', help=u"""The optional single value query parameter to filter by database instance number.""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -10882,8 +10882,8 @@ def summarize_addm_db_parameters(ctx, from_json, compartment_id, database_id, id
@database_insights_group.command(name=cli_util.override('opsi.summarize_addm_db_recommendations.command_name', 'summarize-addm-db-recommendations'), help=u"""Summarizes ADDM recommendations for the specified databases. \n[Command Reference](summarizeAddmDbRecommendations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--instance-number', help=u"""The optional single value query parameter to filter by database instance number.""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -10961,9 +10961,9 @@ def summarize_addm_db_recommendations(ctx, from_json, compartment_id, database_i
@database_insights_group.command(name=cli_util.override('opsi.summarize_addm_db_schema_objects.command_name', 'summarize-addm-db-schema-objects'), help=u"""Summarizes Schema objects for the specified databases for the specified objectIdentifiers \n[Command Reference](summarizeAddmDbSchemaObjects)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--object-identifier', required=True, multiple=True, help=u"""One or more unique Object id (from RDBMS)""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -11015,9 +11015,9 @@ def summarize_addm_db_schema_objects(ctx, from_json, compartment_id, object_iden
@database_insights_group.command(name=cli_util.override('opsi.summarize_addm_db_sql_statements.command_name', 'summarize-addm-db-sql-statements'), help=u"""Summarizes SQL Statements for the specified databases for the specified sqlIdentifiers \n[Command Reference](summarizeAddmDbSqlStatements)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, multiple=True, help=u"""One or more unique SQL_IDs for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -11566,7 +11566,7 @@ def summarize_awr_database_wait_events(ctx, from_json, awr_hub_id, awr_source_da
@awr_hubs_group.command(name=cli_util.override('opsi.summarize_awr_sources_summaries.command_name', 'summarize-awr-sources-summaries'), help=u"""Gets a list of summary of AWR Sources. \n[Command Reference](summarizeAwrSourcesSummaries)""")
@cli_util.option('--awr-hub-id', required=True, help=u"""Unique Awr Hub identifier""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--name', help=u"""Name for an Awr source database""")
@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]. Example: `50`""")
@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].""")
@@ -11605,7 +11605,7 @@ def summarize_awr_sources_summaries(ctx, from_json, awr_hub_id, compartment_id,
@opsi_configurations_group.command(name=cli_util.override('opsi.summarize_configuration_items.command_name', 'summarize-configuration-items'), help=u"""Gets the applicable configuration items based on the query parameters specified. Configuration items for an opsiConfigType with respect to a compartmentId can be fetched. Values specified in configItemField param will determine what fields for each configuration items have to be returned. \n[Command Reference](summarizeConfigurationItems)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--opsi-config-type', type=custom_types.CliCaseInsensitiveChoice(["UX_CONFIGURATION"]), help=u"""Filter to return configuration items based on configuration type of OPSI configuration.""")
@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]. Example: `50`""")
@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].""")
@@ -11643,13 +11643,13 @@ def summarize_configuration_items(ctx, from_json, compartment_id, opsi_config_ty
@database_insights_group.command(name=cli_util.override('opsi.summarize_database_insight_resource_capacity_trend.command_name', 'summarize-database-insight-resource-capacity-trend'), help=u"""Returns response with time series data (endTimestamp, capacity, baseCapacity) for the time period specified. The maximum time range for analysis is 2 years, hence this is intentionally not paginated. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeDatabaseInsightResourceCapacityTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY and IO.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--cdb-name', multiple=True, help=u"""Filter by one or more cdb name.""")
@@ -11733,13 +11733,13 @@ def summarize_database_insight_resource_capacity_trend(ctx, from_json, compartme
@database_insights_group.command(name=cli_util.override('opsi.summarize_database_insight_resource_forecast_trend.command_name', 'summarize-database-insight-resource-forecast-trend'), help=u"""Get Forecast predictions for CPU and Storage resources since a time in the past. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeDatabaseInsightResourceForecastTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY and IO.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--cdb-name', multiple=True, help=u"""Filter by one or more cdb name.""")
@@ -11829,13 +11829,13 @@ def summarize_database_insight_resource_forecast_trend(ctx, from_json, compartme
@database_insights_group.command(name=cli_util.override('opsi.summarize_database_insight_resource_statistics.command_name', 'summarize-database-insight-resource-statistics'), help=u"""Lists the Resource statistics (usage,capacity, usage change percent, utilization percent, base capacity, isAutoScalingEnabled) for each database filtered by utilization level in a compartment and in all sub-compartments if specified. \n[Command Reference](summarizeDatabaseInsightResourceStatistics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY and IO.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--cdb-name', multiple=True, help=u"""Filter by one or more cdb name.""")
@@ -11925,13 +11925,13 @@ def summarize_database_insight_resource_statistics(ctx, from_json, compartment_i
@database_insights_group.command(name=cli_util.override('opsi.summarize_database_insight_resource_usage.command_name', 'summarize-database-insight-resource-usage'), help=u"""A cumulative distribution function is used to rank the usage data points per database within the specified time period. For each database, the minimum data point with a ranking > the percentile value is included in the summation. Linear regression functions are used to calculate the usage change percentage. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeDatabaseInsightResourceUsage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY and IO.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--host-name', multiple=True, help=u"""Filter by one or more hostname.""")
@@ -12000,13 +12000,13 @@ def summarize_database_insight_resource_usage(ctx, from_json, compartment_id, re
@database_insights_group.command(name=cli_util.override('opsi.summarize_database_insight_resource_usage_trend.command_name', 'summarize-database-insight-resource-usage-trend'), help=u"""Returns response with time series data (endTimestamp, usage, capacity) for the time period specified. The maximum time range for analysis is 2 years, hence this is intentionally not paginated. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeDatabaseInsightResourceUsageTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY and IO.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@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].""")
@@ -12078,13 +12078,13 @@ def summarize_database_insight_resource_usage_trend(ctx, from_json, compartment_
@database_insights_group.command(name=cli_util.override('opsi.summarize_database_insight_resource_utilization_insight.command_name', 'summarize-database-insight-resource-utilization-insight'), help=u"""Gets resources with current utilization (high and low) and projected utilization (high and low) for a resource type over specified time period. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeDatabaseInsightResourceUtilizationInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY and IO.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--forecast-days', type=click.INT, help=u"""Number of days used for utilization forecast analysis.""")
@@ -12159,11 +12159,11 @@ def summarize_database_insight_resource_utilization_insight(ctx, from_json, comp
@database_insights_group.command(name=cli_util.override('opsi.summarize_database_insight_tablespace_usage_trend.command_name', 'summarize-database-insight-tablespace-usage-trend'), help=u"""Returns response with usage time series data (endTimestamp, usage, capacity) with breakdown by tablespaceName for the time period specified. The maximum time range for analysis is 2 years, hence this is intentionally not paginated. Either databaseId or id must be specified. \n[Command Reference](summarizeDatabaseInsightTablespaceUsageTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@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].""")
@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]. Example: `50`""")
@@ -12202,7 +12202,7 @@ def summarize_database_insight_tablespace_usage_trend(ctx, from_json, compartmen
@cli_util.option('--resource-type', required=True, help=u"""Filter by resource. Supported values are HOST , STORAGE_SERVER and DATABASE""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY, IO, IOPS, THROUGHPUT""")
@cli_util.option('--exadata-insight-id', required=True, help=u"""[OCID] of exadata insight resource.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -12266,7 +12266,7 @@ def summarize_exadata_insight_resource_capacity_trend(ctx, from_json, resource_t
@exadata_insights_group.command(name=cli_util.override('opsi.summarize_exadata_insight_resource_capacity_trend_aggregated.command_name', 'summarize-exadata-insight-resource-capacity-trend-aggregated'), help=u"""Returns response with time series data (endTimestamp, capacity) for the time period specified for an exadata system or fleet aggregation for a resource metric. The maximum time range for analysis is 2 years, hence this is intentionally not paginated. Valid values for ResourceType DATABASE are CPU,MEMORY,IO and STORAGE. Valid values for ResourceType HOST are CPU and MEMORY. Valid values for ResourceType STORAGE_SERVER are STORAGE, IOPS and THROUGHPUT. \n[Command Reference](summarizeExadataInsightResourceCapacityTrendAggregated)""")
@cli_util.option('--resource-type', required=True, help=u"""Filter by resource. Supported values are HOST , STORAGE_SERVER and DATABASE""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY, IO, IOPS, THROUGHPUT""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -12412,7 +12412,7 @@ def summarize_exadata_insight_resource_forecast_trend(ctx, from_json, resource_t
@exadata_insights_group.command(name=cli_util.override('opsi.summarize_exadata_insight_resource_forecast_trend_aggregated.command_name', 'summarize-exadata-insight-resource-forecast-trend-aggregated'), help=u"""Get aggregated historical usage and forecast predictions for resources. Either compartmentId or exadataInsightsId query parameter must be specified. Valid values for ResourceType DATABASE are CPU,MEMORY,IO and STORAGE. Valid values for ResourceType HOST are CPU and MEMORY. Valid values for ResourceType STORAGE_SERVER are STORAGE, IOPS and THROUGHPUT. \n[Command Reference](summarizeExadataInsightResourceForecastTrendAggregated)""")
@cli_util.option('--resource-type', required=True, help=u"""Filter by resource. Supported values are HOST , STORAGE_SERVER and DATABASE""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY, IO, IOPS, THROUGHPUT""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-interval-end', type=custom_types.CLI_DATETIME, help=u"""Analysis end time in UTC in ISO 8601 format(exclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). timeIntervalStart and timeIntervalEnd are used together. If timeIntervalEnd is not specified, current time is used as timeIntervalEnd.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -12544,7 +12544,7 @@ def summarize_exadata_insight_resource_statistics(ctx, from_json, exadata_insigh
@exadata_insights_group.command(name=cli_util.override('opsi.summarize_exadata_insight_resource_usage.command_name', 'summarize-exadata-insight-resource-usage'), help=u"""A cumulative distribution function is used to rank the usage data points per resource within the specified time period. For each resource, the minimum data point with a ranking > the percentile value is included in the summation. Linear regression functions are used to calculate the usage change percentage. Valid values for ResourceType DATABASE are CPU,MEMORY,IO and STORAGE. Valid values for ResourceType HOST are CPU and MEMORY. Valid values for ResourceType STORAGE_SERVER are STORAGE, IOPS and THROUGHPUT. \n[Command Reference](summarizeExadataInsightResourceUsage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-type', required=True, help=u"""Filter by resource. Supported values are HOST , STORAGE_SERVER and DATABASE""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY, IO, IOPS, THROUGHPUT""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@@ -12618,7 +12618,7 @@ def summarize_exadata_insight_resource_usage(ctx, from_json, compartment_id, res
@exadata_insights_group.command(name=cli_util.override('opsi.summarize_exadata_insight_resource_usage_aggregated.command_name', 'summarize-exadata-insight-resource-usage-aggregated'), help=u"""A cumulative distribution function is used to rank the usage data points per database within the specified time period. For each database, the minimum data point with a ranking > the percentile value is included in the summation. Linear regression functions are used to calculate the usage change percentage. Valid values for ResourceType DATABASE are CPU,MEMORY,IO and STORAGE. Valid values for ResourceType HOST are CPU and MEMORY. Valid values for ResourceType STORAGE_SERVER are STORAGE, IOPS and THROUGHPUT. \n[Command Reference](summarizeExadataInsightResourceUsageAggregated)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-type', required=True, help=u"""Filter by resource. Supported values are HOST , STORAGE_SERVER and DATABASE""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY, IO, IOPS, THROUGHPUT""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@@ -12683,7 +12683,7 @@ def summarize_exadata_insight_resource_usage_aggregated(ctx, from_json, compartm
@exadata_insights_group.command(name=cli_util.override('opsi.summarize_exadata_insight_resource_utilization_insight.command_name', 'summarize-exadata-insight-resource-utilization-insight'), help=u"""Gets current utilization, projected utilization and days to reach projectedUtilization for an exadata system over specified time period. Valid values for ResourceType DATABASE are CPU,MEMORY,IO and STORAGE. Valid values for ResourceType HOST are CPU and MEMORY. Valid values for ResourceType STORAGE_SERVER are STORAGE, IOPS and THROUGHPUT. \n[Command Reference](summarizeExadataInsightResourceUtilizationInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-type', required=True, help=u"""Filter by resource. Supported values are HOST , STORAGE_SERVER and DATABASE""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by resource metric. Supported values are CPU , STORAGE, MEMORY, IO, IOPS, THROUGHPUT""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@@ -12794,7 +12794,7 @@ def summarize_exadata_members(ctx, from_json, exadata_insight_id, exadata_type,
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_disk_statistics.command_name', 'summarize-host-insight-disk-statistics'), help=u"""Returns response with disk(s) statistics for a host. \n[Command Reference](summarizeHostInsightDiskStatistics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', required=True, help=u"""Required [OCID] of the host insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -12833,7 +12833,7 @@ def summarize_host_insight_disk_statistics(ctx, from_json, compartment_id, id, a
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_host_recommendation.command_name', 'summarize-host-insight-host-recommendation'), help=u"""Returns response with some recommendations if apply for a host. \n[Command Reference](summarizeHostInsightHostRecommendation)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', required=True, help=u"""Required [OCID] of the host insight resource.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by host resource metric. Supported values are CPU, MEMORY, LOGICAL_MEMORY, STORAGE and NETWORK.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@@ -12874,7 +12874,7 @@ def summarize_host_insight_host_recommendation(ctx, from_json, compartment_id, i
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_io_usage_trend.command_name', 'summarize-host-insight-io-usage-trend'), help=u"""Returns response with usage time series data with breakdown by IO interface for the time period specified. \n[Command Reference](summarizeHostInsightIoUsageTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', required=True, help=u"""Required [OCID] of the host insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -12919,7 +12919,7 @@ def summarize_host_insight_io_usage_trend(ctx, from_json, compartment_id, id, an
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_network_usage_trend.command_name', 'summarize-host-insight-network-usage-trend'), help=u"""Returns response with usage time series data with breakdown by network interface for the time period specified. \n[Command Reference](summarizeHostInsightNetworkUsageTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', required=True, help=u"""Required [OCID] of the host insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -12964,7 +12964,7 @@ def summarize_host_insight_network_usage_trend(ctx, from_json, compartment_id, i
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_resource_capacity_trend.command_name', 'summarize-host-insight-resource-capacity-trend'), help=u"""Returns response with time series data (endTimestamp, capacity) for the time period specified. The maximum time range for analysis is 2 years, hence this is intentionally not paginated. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeHostInsightResourceCapacityTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by host resource metric. Supported values are CPU, MEMORY, LOGICAL_MEMORY, STORAGE and NETWORK.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13048,7 +13048,7 @@ def summarize_host_insight_resource_capacity_trend(ctx, from_json, compartment_i
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_resource_forecast_trend.command_name', 'summarize-host-insight-resource-forecast-trend'), help=u"""Get Forecast predictions for CPU or memory resources since a time in the past. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeHostInsightResourceForecastTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by host resource metric. Supported values are CPU, MEMORY, LOGICAL_MEMORY, STORAGE and NETWORK.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13147,7 +13147,7 @@ def summarize_host_insight_resource_forecast_trend(ctx, from_json, compartment_i
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_resource_statistics.command_name', 'summarize-host-insight-resource-statistics'), help=u"""Lists the resource statistics (usage, capacity, usage change percent, utilization percent, load) for each host filtered by utilization level in a compartment and in all sub-compartments if specified. \n[Command Reference](summarizeHostInsightResourceStatistics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by host resource metric. Supported values are CPU, MEMORY, LOGICAL_MEMORY, STORAGE and NETWORK.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13240,7 +13240,7 @@ def summarize_host_insight_resource_statistics(ctx, from_json, compartment_id, r
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_resource_usage.command_name', 'summarize-host-insight-resource-usage'), help=u"""A cumulative distribution function is used to rank the usage data points per host within the specified time period. For each host, the minimum data point with a ranking > the percentile value is included in the summation. Linear regression functions are used to calculate the usage change percentage. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeHostInsightResourceUsage)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by host resource metric. Supported values are CPU, MEMORY, LOGICAL_MEMORY, STORAGE and NETWORK.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13312,7 +13312,7 @@ def summarize_host_insight_resource_usage(ctx, from_json, compartment_id, resour
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_resource_usage_trend.command_name', 'summarize-host-insight-resource-usage-trend'), help=u"""Returns response with time series data (endTimestamp, usage, capacity) for the time period specified. The maximum time range for analysis is 2 years, hence this is intentionally not paginated. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeHostInsightResourceUsageTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by host resource metric. Supported values are CPU, MEMORY, LOGICAL_MEMORY, STORAGE and NETWORK.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13387,7 +13387,7 @@ def summarize_host_insight_resource_usage_trend(ctx, from_json, compartment_id,
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_resource_utilization_insight.command_name', 'summarize-host-insight-resource-utilization-insight'), help=u"""Gets resources with current utilization (high and low) and projected utilization (high and low) for a resource type over specified time period. If compartmentIdInSubtree is specified, aggregates resources in a compartment and in all sub-compartments. \n[Command Reference](summarizeHostInsightResourceUtilizationInsight)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-metric', required=True, help=u"""Filter by host resource metric. Supported values are CPU, MEMORY, LOGICAL_MEMORY, STORAGE and NETWORK.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13465,7 +13465,7 @@ def summarize_host_insight_resource_utilization_insight(ctx, from_json, compartm
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_storage_usage_trend.command_name', 'summarize-host-insight-storage-usage-trend'), help=u"""Returns response with usage time series data with breakdown by filesystem for the time period specified. \n[Command Reference](summarizeHostInsightStorageUsageTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', required=True, help=u"""Required [OCID] of the host insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13510,7 +13510,7 @@ def summarize_host_insight_storage_usage_trend(ctx, from_json, compartment_id, i
@host_insights_group.command(name=cli_util.override('opsi.summarize_host_insight_top_processes_usage_trend.command_name', 'summarize-host-insight-top-processes-usage-trend'), help=u"""Returns response with aggregated time series data (timeIntervalstart, timeIntervalEnd, commandArgs, usageData) for top processes. Data is aggregated for the time period specified and proceses are sorted descendent by the proces metric specified (CPU, MEMORY, VIRTUAL_MEMORY). HostInsight Id and Process metric must be specified \n[Command Reference](summarizeHostInsightTopProcessesUsageTrend)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--id', required=True, help=u"""Required [OCID] of the host insight resource.""")
@cli_util.option('--resource-metric', required=True, help=u"""Host top processes resource metric sort options. Supported values are CPU, MEMORY, VIIRTUAL_MEMORY.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@@ -13582,9 +13582,9 @@ def summarize_operations_insights_warehouse_resource_usage(ctx, from_json, opera
@database_insights_group.command(name=cli_util.override('opsi.summarize_sql_insights.command_name', 'summarize-sql-insights'), help=u"""Query SQL Warehouse to get the performance insights for SQLs taking greater than X% database time for a given time period across the given databases or database types in a compartment and in all sub-compartments if specified. \n[Command Reference](summarizeSqlInsights)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--cdb-name', multiple=True, help=u"""Filter by one or more cdb name.""")
@@ -13652,9 +13652,9 @@ def summarize_sql_insights(ctx, from_json, compartment_id, database_type, databa
@database_insights_group.command(name=cli_util.override('opsi.summarize_sql_plan_insights.command_name', 'summarize-sql-plan-insights'), help=u"""Query SQL Warehouse to get the performance insights on the execution plans for a given SQL for a given time period. Either databaseId or id must be specified. \n[Command Reference](summarizeSqlPlanInsights)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, help=u"""Unique SQL_ID for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13691,9 +13691,9 @@ def summarize_sql_plan_insights(ctx, from_json, compartment_id, sql_identifier,
@database_insights_group.command(name=cli_util.override('opsi.summarize_sql_response_time_distributions.command_name', 'summarize-sql-response-time-distributions'), help=u"""Query SQL Warehouse to summarize the response time distribution of query executions for a given SQL for a given time period. Either databaseId or id must be specified. \n[Command Reference](summarizeSqlResponseTimeDistributions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, help=u"""Unique SQL_ID for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13730,9 +13730,9 @@ def summarize_sql_response_time_distributions(ctx, from_json, compartment_id, sq
@database_insights_group.command(name=cli_util.override('opsi.summarize_sql_statistics.command_name', 'summarize-sql-statistics'), help=u"""Query SQL Warehouse to get the performance statistics for SQLs taking greater than X% database time for a given time period across the given databases or database types in a compartment and in all sub-compartments if specified. \n[Command Reference](summarizeSqlStatistics)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--database-type', type=custom_types.CliCaseInsensitiveChoice(["ADW-S", "ATP-S", "ADW-D", "ATP-D", "EXTERNAL-PDB", "EXTERNAL-NONCDB", "COMANAGED-VM-CDB", "COMANAGED-VM-PDB", "COMANAGED-VM-NONCDB", "COMANAGED-BM-CDB", "COMANAGED-BM-PDB", "COMANAGED-BM-NONCDB", "COMANAGED-EXACS-CDB", "COMANAGED-EXACS-PDB", "COMANAGED-EXACS-NONCDB", "COMANAGED-EXACC-CDB", "COMANAGED-EXACC-PDB", "COMANAGED-EXACC-NONCDB", "MDS-MYSQL", "EXTERNAL-MYSQL", "ATP-EXACC", "ADW-EXACC", "EXTERNAL-ADW", "EXTERNAL-ATP"]), multiple=True, help=u"""Filter by one or more database type. Possible values are ADW-S, ATP-S, ADW-D, ATP-D, EXTERNAL-PDB, EXTERNAL-NONCDB.""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database insight resource [OCIDs].""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--cdb-name', multiple=True, help=u"""Filter by one or more cdb name.""")
@@ -13815,9 +13815,9 @@ def summarize_sql_statistics(ctx, from_json, compartment_id, database_type, data
@database_insights_group.command(name=cli_util.override('opsi.summarize_sql_statistics_time_series.command_name', 'summarize-sql-statistics-time-series'), help=u"""Query SQL Warehouse to get the performance statistics time series for a given SQL across given databases for a given time period in a compartment and in all sub-compartments if specified. \n[Command Reference](summarizeSqlStatisticsTimeSeries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, help=u"""Unique SQL_ID for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
-@cli_util.option('--database-id', multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, multiple=True, help=u"""Optional list of database [OCIDs] of the associated DBaaS entity.""")
@cli_util.option('--id', multiple=True, help=u"""Optional list of database [OCIDs] of the database insight resource.""")
@cli_util.option('--exadata-insight-id', multiple=True, help=u"""Optional list of exadata insight resource [OCIDs].""")
@cli_util.option('--cdb-name', multiple=True, help=u"""Filter by one or more cdb name.""")
@@ -13881,9 +13881,9 @@ def summarize_sql_statistics_time_series(ctx, from_json, compartment_id, sql_ide
@database_insights_group.command(name=cli_util.override('opsi.summarize_sql_statistics_time_series_by_plan.command_name', 'summarize-sql-statistics-time-series-by-plan'), help=u"""Query SQL Warehouse to get the performance statistics time series for a given SQL by execution plans for a given time period. Either databaseId or id must be specified. \n[Command Reference](summarizeSqlStatisticsTimeSeriesByPlan)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--sql-identifier', required=True, help=u"""Unique SQL_ID for a SQL Statement. Example: `6rgjh9bjmy2s7`""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--analysis-time-interval', help=u"""Specify time period in ISO 8601 format with respect to current time. Default is last 30 days represented by P30D. If timeInterval is specified, then timeIntervalStart and timeIntervalEnd will be ignored. Examples P90D (last 90 days), P4W (last 4 weeks), P2M (last 2 months), P1Y (last 12 months), . Maximum value allowed is 25 months prior to current time (P25M).""")
@cli_util.option('--time-interval-start', type=custom_types.CLI_DATETIME, help=u"""Analysis start time in UTC in ISO 8601 format(inclusive). Example 2019-10-30T00:00:00Z (yyyy-MM-ddThh:mm:ssZ). The minimum allowed value is 2 years prior to the current day. timeIntervalStart and timeIntervalEnd parameters are used together. If analysisTimeInterval is specified, this parameter is ignored.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -13920,9 +13920,9 @@ def summarize_sql_statistics_time_series_by_plan(ctx, from_json, compartment_id,
@database_insights_group.command(name=cli_util.override('opsi.synchronize_autonomous_database_to_exadata.command_name', 'synchronize-autonomous-database-to-exadata'), help=u"""Synchronize infrastructure details that has been missing when autonomous database onboarded in Operations Insights. Onboarded Opsi ExadataInsight resource need to be provided with compartmentId for searching infrastruture details. The query parameters, DatabaseId and DatabaseInsightId, are mutually exclusive and provided for searching Opsi resources that have been onboarded. \n[Command Reference](synchronizeAutonomousDatabaseToExadata)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--entity-source', required=True, type=custom_types.CliCaseInsensitiveChoice(["AUTONOMOUS_DATABASE", "EM_MANAGED_EXTERNAL_DATABASE", "MACS_MANAGED_EXTERNAL_DATABASE", "PE_COMANAGED_DATABASE", "MDS_MYSQL_DATABASE_SYSTEM", "EXTERNAL_MYSQL_DATABASE_SYSTEM", "MACS_MANAGED_CLOUD_DATABASE", "MACS_MANAGED_AUTONOMOUS_DATABASE"]), help=u"""Source of the database entity. Currently only AUTONOMOUS_DATABASE source is supported.""")
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--exadata-insight-id', help=u"""[OCID] of exadata insight resource.""")
@cli_util.option('--if-match', help=u"""Used for optimistic concurrency control. In the update or delete call for a resource, set the `if-match` parameter to the value of the etag from a previous get, create, or update response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@@ -13990,7 +13990,7 @@ def synchronize_autonomous_database_to_exadata(ctx, from_json, wait_for_state, m
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -14052,7 +14052,7 @@ def test_macs_managed_autonomous_database_insight_connection(ctx, from_json, wai
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_autonomous_database_insight_connection_credential_by_named_credentials.command_name', 'test-macs-managed-autonomous-database-insight-connection-credential-by-named-credentials'), help=u"""Test the connection details of a MACS-managed autonomous database. \n[Command Reference](testMacsManagedAutonomousDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--connection-credential-details-named-credential-id', help=u"""The credential [OCID] stored in management agent.""")
@@ -14124,7 +14124,7 @@ def test_macs_managed_autonomous_database_insight_connection_credential_by_named
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_autonomous_database_insight_connection_credentials_by_source.command_name', 'test-macs-managed-autonomous-database-insight-connection-credentials-by-source'), help=u"""Test the connection details of a MACS-managed autonomous database. \n[Command Reference](testMacsManagedAutonomousDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -14192,7 +14192,7 @@ def test_macs_managed_autonomous_database_insight_connection_credentials_by_sour
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_autonomous_database_insight_connection_credential_by_vault.command_name', 'test-macs-managed-autonomous-database-insight-connection-credential-by-vault'), help=u"""Test the connection details of a MACS-managed autonomous database. \n[Command Reference](testMacsManagedAutonomousDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--connection-credential-details-user-name', help=u"""database user name.""")
@@ -14276,7 +14276,7 @@ def test_macs_managed_autonomous_database_insight_connection_credential_by_vault
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_autonomous_database_insight_connection_credential_by_iam.command_name', 'test-macs-managed-autonomous-database-insight-connection-credential-by-iam'), help=u"""Test the connection details of a MACS-managed autonomous database. \n[Command Reference](testMacsManagedAutonomousDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -14345,7 +14345,7 @@ def test_macs_managed_autonomous_database_insight_connection_credential_by_iam(c
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--connection-credential-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -14407,7 +14407,7 @@ def test_macs_managed_cloud_database_insight_connection(ctx, from_json, wait_for
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_cloud_database_insight_connection_credential_by_named_credentials.command_name', 'test-macs-managed-cloud-database-insight-connection-credential-by-named-credentials'), help=u"""Test the connection details of a Cloud MACS-managed database. \n[Command Reference](testMacsManagedCloudDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--connection-credential-details-named-credential-id', help=u"""The credential [OCID] stored in management agent.""")
@@ -14479,7 +14479,7 @@ def test_macs_managed_cloud_database_insight_connection_credential_by_named_cred
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_cloud_database_insight_connection_credentials_by_source.command_name', 'test-macs-managed-cloud-database-insight-connection-credentials-by-source'), help=u"""Test the connection details of a Cloud MACS-managed database. \n[Command Reference](testMacsManagedCloudDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -14547,7 +14547,7 @@ def test_macs_managed_cloud_database_insight_connection_credentials_by_source(ct
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_cloud_database_insight_connection_credential_by_vault.command_name', 'test-macs-managed-cloud-database-insight-connection-credential-by-vault'), help=u"""Test the connection details of a Cloud MACS-managed database. \n[Command Reference](testMacsManagedCloudDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--connection-credential-details-user-name', help=u"""database user name.""")
@@ -14631,7 +14631,7 @@ def test_macs_managed_cloud_database_insight_connection_credential_by_vault(ctx,
@database_insights_group.command(name=cli_util.override('opsi.test_macs_managed_cloud_database_insight_connection_credential_by_iam.command_name', 'test-macs-managed-cloud-database-insight-connection-credential-by-iam'), help=u"""Test the connection details of a Cloud MACS-managed database. \n[Command Reference](testMacsManagedCloudDatabaseInsightConnection)""")
@cli_util.option('--management-agent-id', required=True, help=u"""The [OCID] of the Management Agent""")
@cli_util.option('--connection-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--database-id', help=u"""Optional [OCID] of the associated DBaaS entity.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""Optional [OCID] of the associated DBaaS entity.""")
@cli_util.option('--id', help=u"""[OCID] of the database insight resource.""")
@cli_util.option('--connection-credential-details-credential-source-name', help=u"""Credential source name that had been added in Management Agent wallet. This value is only required when Credential set by CREDENTIALS_BY_SOURCE and is optional properties for ther others.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
diff --git a/services/optimizer/src/oci_cli_optimizer/generated/optimizer_cli.py b/services/optimizer/src/oci_cli_optimizer/generated/optimizer_cli.py
index 40b5cc6a..f28077ce 100644
--- a/services/optimizer/src/oci_cli_optimizer/generated/optimizer_cli.py
+++ b/services/optimizer/src/oci_cli_optimizer/generated/optimizer_cli.py
@@ -222,7 +222,7 @@ def bulk_apply_recommendations(ctx, from_json, wait_for_state, max_wait_seconds,
@profile_group.command(name=cli_util.override('optimizer.create_profile.command_name', 'create'), help=u"""Creates a new profile. \n[Command Reference](createProfile)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy. The tenancy is the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy. The tenancy is the root compartment.""")
@cli_util.option('--name', required=True, help=u"""The name assigned to the profile. Avoid entering confidential information.""")
@cli_util.option('--description', required=True, help=u"""Text describing the profile. Avoid entering confidential information.""")
@cli_util.option('--levels-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -369,7 +369,7 @@ def delete_profile(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@resource_action_summary_group.command(name=cli_util.override('optimizer.filter_resource_actions.command_name', 'filter-resource-actions'), help=u"""Queries the Cloud Advisor resource actions that are supported. \n[Command Reference](filterResourceActions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -566,7 +566,7 @@ def get_work_request(ctx, from_json, work_request_id):
@category_summary_group.command(name=cli_util.override('optimizer.list_categories.command_name', 'list-categories'), help=u"""Lists the supported Cloud Advisor categories. \n[Command Reference](listCategories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -648,7 +648,7 @@ def list_categories(ctx, from_json, all_pages, page_size, compartment_id, compar
@enrollment_status_summary_group.command(name=cli_util.override('optimizer.list_enrollment_statuses.command_name', 'list-enrollment-statuses'), help=u"""Lists the Cloud Advisor enrollment statuses. \n[Command Reference](listEnrollmentStatuses)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -708,7 +708,7 @@ def list_enrollment_statuses(ctx, from_json, all_pages, page_size, compartment_i
@history_summary_group.command(name=cli_util.override('optimizer.list_histories.command_name', 'list-histories'), help=u"""Lists changes to the recommendations based on user activity. For example, lists when recommendations have been implemented, dismissed, postponed, or reactivated. \n[Command Reference](listHistories)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -789,7 +789,7 @@ def list_histories(ctx, from_json, all_pages, page_size, compartment_id, compart
@profile_level_summary_group.command(name=cli_util.override('optimizer.list_profile_levels.command_name', 'list-profile-levels'), help=u"""Lists the existing profile levels. \n[Command Reference](listProfileLevels)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -855,7 +855,7 @@ def list_profile_levels(ctx, from_json, all_pages, page_size, compartment_id, co
@profile_summary_group.command(name=cli_util.override('optimizer.list_profiles.command_name', 'list-profiles'), help=u"""Lists the existing profiles. \n[Command Reference](listProfiles)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--name', help=u"""Optional. A filter that returns results that match the name specified.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@@ -915,7 +915,7 @@ def list_profiles(ctx, from_json, all_pages, page_size, compartment_id, name, li
@recommendation_strategy_summary_group.command(name=cli_util.override('optimizer.list_recommendation_strategies.command_name', 'list-recommendation-strategies'), help=u"""Lists the existing strategies. \n[Command Reference](listRecommendationStrategies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -981,7 +981,7 @@ def list_recommendation_strategies(ctx, from_json, all_pages, page_size, compart
@recommendation_summary_group.command(name=cli_util.override('optimizer.list_recommendations.command_name', 'list-recommendations'), help=u"""Lists the Cloud Advisor recommendations that are currently supported. \n[Command Reference](listRecommendations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -1072,7 +1072,7 @@ def list_recommendations(ctx, from_json, all_pages, page_size, compartment_id, c
@queryable_field_summary_group.command(name=cli_util.override('optimizer.list_resource_action_queryable_fields.command_name', 'list-resource-action-queryable-fields'), help=u"""Lists the fields that are indexed for querying and their associated value types. \n[Command Reference](listResourceActionQueryableFields)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -1126,7 +1126,7 @@ def list_resource_action_queryable_fields(ctx, from_json, all_pages, page_size,
@resource_action_summary_group.command(name=cli_util.override('optimizer.list_resource_actions.command_name', 'list-resource-actions'), help=u"""Lists the Cloud Advisor resource actions that are supported. \n[Command Reference](listResourceActions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--compartment-id-in-subtree', required=True, type=click.BOOL, help=u"""When set to true, the hierarchy of compartments is traversed and all compartments and subcompartments in the tenancy are returned depending on the the setting of `accessLevel`.
Can only be set to true when performing ListCompartments on the tenancy (root compartment).""")
@@ -1325,7 +1325,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('optimizer.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in the tenancy. The tenancy is the root compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@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.""")
diff --git a/services/os_management_hub/src/oci_cli_event/generated/event_cli.py b/services/os_management_hub/src/oci_cli_event/generated/event_cli.py
index 1bdcbedb..4b1d5568 100644
--- a/services/os_management_hub/src/oci_cli_event/generated/event_cli.py
+++ b/services/os_management_hub/src/oci_cli_event/generated/event_cli.py
@@ -41,7 +41,7 @@ def event_group():
@event_group.command(name=cli_util.override('event.change_event_compartment.command_name', 'change-compartment'), help=u"""Moves an event 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](changeEventCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the event to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the event to.""")
@cli_util.option('--event-id', required=True, help=u"""The [OCID] of the event.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -280,7 +280,7 @@ def import_event_content(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@cli_util.option('--event-summary-contains', help=u"""A filter to return only events with a summary that contains the value provided.""")
@cli_util.option('--id', help=u"""The [OCID] of the event.""")
@cli_util.option('--event-fingerprint', help=u"""The eventFingerprint of the KernelEventData.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only events that match the state provided. The state value is case-insensitive.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource. This filter returns resources associated with the specified resource.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["KERNEL_OOPS", "KERNEL_CRASH", "EXPLOIT_ATTEMPT", "SOFTWARE_UPDATE", "KSPLICE_UPDATE", "SOFTWARE_SOURCE", "AGENT", "MANAGEMENT_STATION", "SYSADMIN", "REBOOT"]), multiple=True, help=u"""A filter to return only resources whose type matches the given value.""")
diff --git a/services/os_management_hub/src/oci_cli_lifecycle_environment/generated/lifecycleenvironment_cli.py b/services/os_management_hub/src/oci_cli_lifecycle_environment/generated/lifecycleenvironment_cli.py
index d1be7318..be63f23f 100644
--- a/services/os_management_hub/src/oci_cli_lifecycle_environment/generated/lifecycleenvironment_cli.py
+++ b/services/os_management_hub/src/oci_cli_lifecycle_environment/generated/lifecycleenvironment_cli.py
@@ -103,7 +103,7 @@ def attach_managed_instances_to_lifecycle_stage(ctx, from_json, wait_for_state,
@lifecycle_environment_group.command(name=cli_util.override('lifecycle_environment.change_lifecycle_environment_compartment.command_name', 'change-compartment'), help=u"""Moves a lifecycle environment 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](changeLifecycleEnvironmentCompartment)""")
@cli_util.option('--lifecycle-environment-id', required=True, help=u"""The [OCID] of the lifecycle environment.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment to move the lifecycle environment to.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the lifecycle environment to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -135,7 +135,7 @@ def change_lifecycle_environment_compartment(ctx, from_json, lifecycle_environme
@lifecycle_environment_group.command(name=cli_util.override('lifecycle_environment.create_lifecycle_environment.command_name', 'create'), help=u"""Creates a lifecycle environment. A lifecycle environment is a user-defined pipeline to deliver curated, versioned content in a prescribed, methodical manner. \n[Command Reference](createLifecycleEnvironment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the lifecycle environment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the lifecycle environment.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the lifecycle environment. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
@cli_util.option('--stages', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""User-specified list of ranked lifecycle stages used within the lifecycle environment.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--arch-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64", "I686", "NOARCH", "SRC", "I386"]), help=u"""The CPU architecture of the managed instances in the lifecycle environment.""")
@@ -379,7 +379,7 @@ def get_lifecycle_stage(ctx, from_json, lifecycle_stage_id):
@lifecycle_environment_group.command(name=cli_util.override('lifecycle_environment.list_lifecycle_environments.command_name', 'list'), help=u"""Lists lifecycle environments that match the specified compartment or lifecycle environment OCID. Filter the list against a variety of criteria including but not limited to its name, status, architecture, and OS family. \n[Command Reference](listLifecycleEnvironments)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@cli_util.option('--lifecycle-environment-id', help=u"""The [OCID] of the lifecycle environment.""")
@@ -461,7 +461,7 @@ def list_lifecycle_environments(ctx, from_json, all_pages, page_size, compartmen
@lifecycle_stage_group.command(name=cli_util.override('lifecycle_environment.list_lifecycle_stage_installed_packages.command_name', 'list-lifecycle-stage-installed-packages'), help=u"""Lists installed packages on managed instances in a specified lifecycle stage. Filter the list against a variety of criteria including but not limited to the package name. \n[Command Reference](listLifecycleStageInstalledPackages)""")
@cli_util.option('--lifecycle-stage-id', required=True, help=u"""The [OCID] of the lifecycle stage.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@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].
@@ -533,7 +533,7 @@ def list_lifecycle_stage_installed_packages(ctx, from_json, all_pages, page_size
@lifecycle_stage_group.command(name=cli_util.override('lifecycle_environment.list_lifecycle_stages.command_name', 'list'), help=u"""Lists lifecycle stages that match the specified compartment or lifecycle stage [OCID]. Filter the list against \n[Command Reference](listLifecycleStages)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@cli_util.option('--lifecycle-stage-id', help=u"""The [OCID] of the lifecycle stage.""")
diff --git a/services/os_management_hub/src/oci_cli_managed_instance/generated/managedinstance_cli.py b/services/os_management_hub/src/oci_cli_managed_instance/generated/managedinstance_cli.py
index 70be58a3..e732e5a7 100644
--- a/services/os_management_hub/src/oci_cli_managed_instance/generated/managedinstance_cli.py
+++ b/services/os_management_hub/src/oci_cli_managed_instance/generated/managedinstance_cli.py
@@ -537,7 +537,7 @@ def get_windows_update(ctx, from_json, windows_update_id):
@managed_instance_group.command(name=cli_util.override('managed_instance.install_all_windows_updates_on_managed_instances_in_compartment.command_name', 'install-all-windows-updates-on-managed-instances-in-compartment'), help=u"""Installs all of the available Windows updates for managed instances in a compartment. This applies only to standalone Windows instances. This will not update instances that belong to a group. \n[Command Reference](installAllWindowsUpdatesOnManagedInstancesInCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--windows-update-types', type=custom_types.CliCaseInsensitiveChoice(["SECURITY", "BUGFIX", "ENHANCEMENT", "OTHER", "ALL"]), help=u"""The types of Windows updates to be installed.""")
@cli_util.option('--work-request-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@@ -813,7 +813,7 @@ def install_windows_updates_on_managed_instance(ctx, from_json, wait_for_state,
@cli_util.option('--managed-instance-id', required=True, help=u"""The [OCID] of the managed instance.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -883,7 +883,7 @@ def list_managed_instance_available_packages(ctx, from_json, all_pages, page_siz
@cli_util.option('--managed-instance-id', required=True, help=u"""The [OCID] of the managed instance.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -956,7 +956,7 @@ def list_managed_instance_available_software_sources(ctx, from_json, all_pages,
@cli_util.option('--display-name', help=u"""A filter to return resources that match the given user-friendly name.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@cli_util.option('--is-installable', type=custom_types.CliCaseInsensitiveChoice(["INSTALLABLE", "NOT_INSTALLABLE"]), help=u"""Indicates if the update can be installed by the OS Management Hub service.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -1035,7 +1035,7 @@ def list_managed_instance_available_windows_updates(ctx, from_json, all_pages, p
Example: `ELSA-2020-5804`""")
@cli_util.option('--name-contains', help=u"""A filter to return resources that may partially match the erratum name given.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -1113,7 +1113,7 @@ def list_managed_instance_errata(ctx, from_json, all_pages, page_size, managed_i
@cli_util.option('--time-install-date-end', type=custom_types.CLI_DATETIME, help=u"""A filter to return only packages that were installed on or before the date provided, in ISO 8601 format.
Example: 2017-07-14T02:40:00.000Z""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -1188,7 +1188,7 @@ def list_managed_instance_installed_packages(ctx, from_json, all_pages, page_siz
@cli_util.option('--name', multiple=True, help=u"""A filter based on the unique identifier for the Windows update. Note that this is not an OCID, but is a unique identifier assigned by Microsoft. Example: '6981d463-cd91-4a26-b7c4-ea4ded9183ed'""")
@cli_util.option('--display-name', help=u"""A filter to return resources that match the given user-friendly name.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -1258,7 +1258,7 @@ def list_managed_instance_installed_windows_updates(ctx, from_json, all_pages, p
@managed_instance_group.command(name=cli_util.override('managed_instance.list_managed_instance_modules.command_name', 'list-managed-instance-modules'), help=u"""Retrieves a list of modules, along with streams of the modules, from a managed instance. Filters may be applied to select a subset of modules based on the filter criteria. \n[Command Reference](listManagedInstanceModules)""")
@cli_util.option('--managed-instance-id', required=True, help=u"""The [OCID] of the managed instance.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--name', help=u"""The resource name.""")
@cli_util.option('--name-contains', help=u"""A filter to return resources that may partially match the name given.""")
@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].
@@ -1364,7 +1364,7 @@ def list_managed_instance_modules(ctx, from_json, all_pages, page_size, wait_for
@cli_util.option('--advisory-name', multiple=True, help=u"""The assigned erratum name. It's unique and not changeable.
Example: `ELSA-2020-5804`""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -1435,7 +1435,7 @@ def list_managed_instance_updatable_packages(ctx, from_json, all_pages, page_siz
@managed_instance_group.command(name=cli_util.override('managed_instance.list_managed_instances.command_name', 'list'), help=u"""Lists managed instances that match the specified compartment or managed instance OCID. Filter the list against a variety of criteria including but not limited to its name, status, architecture, and OS version. \n[Command Reference](listManagedInstances)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@cli_util.option('--managed-instance-id', help=u"""The [OCID] of the managed instance. This filter returns resources associated with this managed instance.""")
@@ -1572,7 +1572,7 @@ def list_managed_instances(ctx, from_json, all_pages, page_size, compartment_id,
@windows_update_collection_group.command(name=cli_util.override('managed_instance.list_windows_updates.command_name', 'list-windows-updates'), help=u"""Lists Windows updates that have been reported to the service. \n[Command Reference](listWindowsUpdates)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
@cli_util.option('--classification-type', type=custom_types.CliCaseInsensitiveChoice(["SECURITY", "BUGFIX", "ENHANCEMENT", "OTHER"]), multiple=True, help=u"""A filter to return only packages that match the given update classification type.""")
@cli_util.option('--name', multiple=True, help=u"""A filter based on the unique identifier for the Windows update. Note that this is not an OCID, but is a unique identifier assigned by Microsoft. Example: '6981d463-cd91-4a26-b7c4-ea4ded9183ed'""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@@ -2061,7 +2061,7 @@ def switch_module_stream_on_managed_instance(ctx, from_json, wait_for_state, max
@managed_instance_group.command(name=cli_util.override('managed_instance.update_all_packages_on_managed_instances_in_compartment.command_name', 'update-all-packages-on-managed-instances-in-compartment'), help=u"""Install all of the available package updates for all of the managed instances in a compartment. This applies only to standalone non-Windows instances. This will not update instances that belong to a group or lifecycle environment. \n[Command Reference](updateAllPackagesOnManagedInstancesInCompartment)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--update-types', type=custom_types.CliCaseInsensitiveChoice(["SECURITY", "BUGFIX", "ENHANCEMENT", "OTHER", "KSPLICE_KERNEL", "KSPLICE_USERSPACE", "ALL"]), help=u"""The types of updates to be applied.""")
@cli_util.option('--work-request-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
diff --git a/services/os_management_hub/src/oci_cli_managed_instance_group/generated/managedinstancegroup_cli.py b/services/os_management_hub/src/oci_cli_managed_instance_group/generated/managedinstancegroup_cli.py
index 7c0fb798..8f966dbb 100644
--- a/services/os_management_hub/src/oci_cli_managed_instance_group/generated/managedinstancegroup_cli.py
+++ b/services/os_management_hub/src/oci_cli_managed_instance_group/generated/managedinstancegroup_cli.py
@@ -165,7 +165,7 @@ def attach_software_sources_to_managed_instance_group(ctx, from_json, wait_for_s
@managed_instance_group_group.command(name=cli_util.override('managed_instance_group.change_managed_instance_group_compartment.command_name', 'change-compartment'), help=u"""Moves the specified managed instance group to a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeManagedInstanceGroupCompartment)""")
@cli_util.option('--managed-instance-group-id', required=True, help=u"""The [OCID] of the managed instance group.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the group to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the group to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -196,7 +196,7 @@ def change_managed_instance_group_compartment(ctx, from_json, managed_instance_g
@managed_instance_group_group.command(name=cli_util.override('managed_instance_group.create_managed_instance_group.command_name', 'create'), help=u"""Creates a new managed instance group. \n[Command Reference](createManagedInstanceGroup)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the managed instance group. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the managed instance group.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the managed instance group.""")
@cli_util.option('--os-family', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_LINUX_9", "ORACLE_LINUX_8", "ORACLE_LINUX_7", "ORACLE_LINUX_6", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "WINDOWS_SERVER_2022", "ALL"]), help=u"""The operating system type of the managed instances that will be attached to this group.""")
@cli_util.option('--arch-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64", "I686", "NOARCH", "SRC", "I386"]), help=u"""The CPU architecture type of the managed instances that will be attached to this group.""")
@cli_util.option('--vendor-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE", "MICROSOFT"]), help=u"""The vendor of the operating system that will be used by the managed instances in the group.""")
@@ -794,7 +794,7 @@ def install_windows_updates_on_managed_instance_group(ctx, from_json, wait_for_s
@managed_instance_group_group.command(name=cli_util.override('managed_instance_group.list_managed_instance_group_available_modules.command_name', 'list-managed-instance-group-available-modules'), help=u"""List modules that are available for installation on the specified managed instance group. Filter the list against a variety of criteria including but not limited to module name. \n[Command Reference](listManagedInstanceGroupAvailableModules)""")
@cli_util.option('--managed-instance-group-id', required=True, help=u"""The [OCID] of the managed instance group.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--name', help=u"""The resource name.""")
@cli_util.option('--name-contains', help=u"""A filter to return resources that may partially match the name given.""")
@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].
@@ -866,7 +866,7 @@ def list_managed_instance_group_available_modules(ctx, from_json, all_pages, pag
@cli_util.option('--managed-instance-group-id', required=True, help=u"""The [OCID] of the managed instance group.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -939,7 +939,7 @@ def list_managed_instance_group_available_packages(ctx, from_json, all_pages, pa
@cli_util.option('--managed-instance-group-id', required=True, help=u"""The [OCID] of the managed instance group.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -1015,7 +1015,7 @@ def list_managed_instance_group_available_software_sources(ctx, from_json, all_p
@cli_util.option('--time-install-date-end', type=custom_types.CLI_DATETIME, help=u"""A filter to return only packages that were installed on or before the date provided, in ISO 8601 format.
Example: 2017-07-14T02:40:00.000Z""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -1093,7 +1093,7 @@ def list_managed_instance_group_installed_packages(ctx, from_json, all_pages, pa
When sorting by the display name, the result set is sorted first by the module name and then by the stream name. \n[Command Reference](listManagedInstanceGroupModules)""")
@cli_util.option('--managed-instance-group-id', required=True, help=u"""The [OCID] of the managed instance group.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--name', help=u"""The resource name.""")
@cli_util.option('--name-contains', help=u"""A filter to return resources that may partially match the name given.""")
@cli_util.option('--stream-name', help=u"""The name of the module stream. This parameter is required if a profile name is specified.""")
@@ -1195,7 +1195,7 @@ def list_managed_instance_group_modules(ctx, from_json, all_pages, page_size, wa
@managed_instance_group_group.command(name=cli_util.override('managed_instance_group.list_managed_instance_groups.command_name', 'list'), help=u"""Lists managed instance groups that match the specified compartment or managed instance group [OCID]. Filter the list against a variety of criteria including but not limited to name, status, architecture, and OS family. \n[Command Reference](listManagedInstanceGroups)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--managed-instance-group-id', help=u"""The [OCID] of the managed instance group. This filter returns resources associated with this group.""")
@cli_util.option('--software-source-id', help=u"""The [OCID] of the software source. This filter returns resources associated with this software source.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
diff --git a/services/os_management_hub/src/oci_cli_managed_instance_group/managedinstancegroup_cli_extended.py b/services/os_management_hub/src/oci_cli_managed_instance_group/managedinstancegroup_cli_extended.py
index 1f167146..aa45a17f 100644
--- a/services/os_management_hub/src/oci_cli_managed_instance_group/managedinstancegroup_cli_extended.py
+++ b/services/os_management_hub/src/oci_cli_managed_instance_group/managedinstancegroup_cli_extended.py
@@ -68,7 +68,7 @@
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.attach_software_sources_to_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.attach_software_sources_to_managed_instance_group.name, help=managedinstancegroup_cli.attach_software_sources_to_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'software-sources': {'module': 'os_management_hub', 'class': 'list[string]'}, 'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -83,7 +83,7 @@ def attach_software_sources_to_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.attach_managed_instances_to_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.attach_managed_instances_to_managed_instance_group.name, help=managedinstancegroup_cli.attach_managed_instances_to_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'managed-instances': {'module': 'os_management_hub', 'class': 'list[string]'}, 'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -98,7 +98,7 @@ def attach_managed_instances_to_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.detach_managed_instances_from_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.detach_managed_instances_from_managed_instance_group.name, help=managedinstancegroup_cli.detach_managed_instances_from_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'managed-instances': {'module': 'os_management_hub', 'class': 'list[string]'}, 'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -113,7 +113,7 @@ def detach_managed_instances_from_managed_instance_group_extended(ctx, **kwargs)
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.remove_module_stream_profile_from_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.remove_module_stream_profile_from_managed_instance_group.name, help=managedinstancegroup_cli.remove_module_stream_profile_from_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -128,7 +128,7 @@ def remove_module_stream_profile_from_managed_instance_group_extended(ctx, **kwa
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.delete_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.delete_managed_instance_group.name, help=managedinstancegroup_cli.delete_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
@cli_util.wrap_exceptions
@@ -143,7 +143,7 @@ def delete_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.detach_software_sources_from_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.detach_software_sources_from_managed_instance_group.name, help=managedinstancegroup_cli.detach_software_sources_from_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'software-sources': {'module': 'os_management_hub', 'class': 'list[string]'}, 'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -158,7 +158,7 @@ def detach_software_sources_from_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.disable_module_stream_on_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.disable_module_stream_on_managed_instance_group.name, help=managedinstancegroup_cli.disable_module_stream_on_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -173,7 +173,7 @@ def disable_module_stream_on_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.enable_module_stream_on_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.enable_module_stream_on_managed_instance_group.name, help=managedinstancegroup_cli.enable_module_stream_on_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -188,7 +188,7 @@ def enable_module_stream_on_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.get_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.get_managed_instance_group.name, help=managedinstancegroup_cli.get_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'os_management_hub', 'class': 'ManagedInstanceGroup'})
@cli_util.wrap_exceptions
@@ -203,7 +203,7 @@ def get_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.install_module_stream_profile_on_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.install_module_stream_profile_on_managed_instance_group.name, help=managedinstancegroup_cli.install_module_stream_profile_on_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -218,7 +218,7 @@ def install_module_stream_profile_on_managed_instance_group_extended(ctx, **kwar
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.install_packages_on_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.install_packages_on_managed_instance_group.name, help=managedinstancegroup_cli.install_packages_on_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'package-names': {'module': 'os_management_hub', 'class': 'list[string]'}, 'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -235,7 +235,7 @@ def install_packages_on_managed_instance_group_extended(ctx, **kwargs):
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.list_managed_instance_groups.name, help=managedinstancegroup_cli.list_managed_instance_groups.help)
@cli_util.option('--location-ne', type=custom_types.CliCaseInsensitiveChoice(["ON_PREMISE", "OCI_COMPUTE", "AZURE", "EC2", "GCP"]), multiple=True, help="""A filter to return only resources whose location does not match the given value.""")
@cli_util.option('--is-managed-by-alx', type=click.BOOL, help="""Indicates whether to list only resources managed by the Autonomous Linux service.""")
-@cli_util.option('--group-id', help=u"""The OCID of the managed instance group for which to list resources.""")
+@cli_util.option('--group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the managed instance group for which to list resources.""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'display-name': {'module': 'os_management_hub', 'class': 'list[string]'}}, output_type={'module': 'os_management_hub', 'class': 'ManagedInstanceGroupCollection'})
@cli_util.wrap_exceptions
@@ -257,7 +257,7 @@ def list_managed_instance_groups_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.list_managed_instance_group_available_modules, params_to_exclude=['managed_instance_group_id', 'name', 'name_contains'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.list_managed_instance_group_available_modules.name, help=managedinstancegroup_cli.list_managed_instance_group_available_modules.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@cli_util.option('--module-name', help=u"""The resource name.""")
@cli_util.option('--module-name-contains', help=u"""A filter to return resources that may partially match the name given.""")
@click.pass_context
@@ -282,7 +282,7 @@ def list_managed_instance_group_available_modules_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.list_managed_instance_group_available_packages, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.list_managed_instance_group_available_packages.name, help=managedinstancegroup_cli.list_managed_instance_group_available_packages.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'display-name': {'module': 'os_management_hub', 'class': 'list[string]'}}, output_type={'module': 'os_management_hub', 'class': 'ManagedInstanceGroupAvailablePackageCollection'})
@cli_util.wrap_exceptions
@@ -297,7 +297,7 @@ def list_managed_instance_group_available_packages_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.list_managed_instance_group_available_software_sources, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.list_managed_instance_group_available_software_sources.name, help=managedinstancegroup_cli.list_managed_instance_group_available_software_sources.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'display-name': {'module': 'os_management_hub', 'class': 'list[string]'}}, output_type={'module': 'os_management_hub', 'class': 'AvailableSoftwareSourceCollection'})
@cli_util.wrap_exceptions
@@ -312,7 +312,7 @@ def list_managed_instance_group_available_software_sources_extended(ctx, **kwarg
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.list_managed_instance_group_installed_packages, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.list_managed_instance_group_installed_packages.name, help=managedinstancegroup_cli.list_managed_instance_group_installed_packages.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'display-name': {'module': 'os_management_hub', 'class': 'list[string]'}}, output_type={'module': 'os_management_hub', 'class': 'ManagedInstanceGroupInstalledPackageCollection'})
@cli_util.wrap_exceptions
@@ -327,7 +327,7 @@ def list_managed_instance_group_installed_packages_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.list_managed_instance_group_modules, params_to_exclude=['managed_instance_group_id', 'name', 'name_contains'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.list_managed_instance_group_modules.name, help=managedinstancegroup_cli.list_managed_instance_group_modules.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@cli_util.option('--module-name', help=u"""The resource name.""")
@cli_util.option('--module-name-contains', help=u"""A filter to return resources that may partially match the name given.""")
@click.pass_context
@@ -352,7 +352,7 @@ def list_managed_instance_group_modules_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.remove_packages_from_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.remove_packages_from_managed_instance_group.name, help=managedinstancegroup_cli.remove_packages_from_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'package-names': {'module': 'os_management_hub', 'class': 'list[string]'}, 'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -367,7 +367,7 @@ def remove_packages_from_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.update_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.update_managed_instance_group.name, help=managedinstancegroup_cli.update_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'os_management_hub', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'os_management_hub', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'os_management_hub', 'class': 'ManagedInstanceGroup'})
@cli_util.wrap_exceptions
@@ -382,7 +382,7 @@ def update_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.update_all_packages_on_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.update_all_packages_on_managed_instance_group.name, help=managedinstancegroup_cli.update_all_packages_on_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The managed instance group OCID. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The managed instance group OCID. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -397,7 +397,7 @@ def update_all_packages_on_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.change_managed_instance_group_compartment, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.change_managed_instance_group_compartment.name, help=managedinstancegroup_cli.change_managed_instance_group_compartment.help)
-@cli_util.option('--group-id', required=True, help=u"""The [OCID] of the managed instance group. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the managed instance group. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
@cli_util.wrap_exceptions
@@ -412,7 +412,7 @@ def change_managed_instance_group_compartment_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.install_windows_updates_on_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.install_windows_updates_on_managed_instance_group.name, help=managedinstancegroup_cli.install_windows_updates_on_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The [OCID] of the managed instance group. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the managed instance group. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -427,7 +427,7 @@ def install_windows_updates_on_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.switch_module_stream_on_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.switch_module_stream_on_managed_instance_group.name, help=managedinstancegroup_cli.switch_module_stream_on_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The [OCID] of the managed instance group. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the managed instance group. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
@@ -442,7 +442,7 @@ def switch_module_stream_on_managed_instance_group_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(managedinstancegroup_cli.reboot_managed_instance_group, params_to_exclude=['managed_instance_group_id'])
@managedinstancegroup_cli.managed_instance_group_group.command(name=managedinstancegroup_cli.reboot_managed_instance_group.name, help=managedinstancegroup_cli.reboot_managed_instance_group.help)
-@cli_util.option('--group-id', required=True, help=u"""The [OCID] of the managed instance group. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the managed instance group. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'work-request-details': {'module': 'os_management_hub', 'class': 'WorkRequestDetails'}})
@cli_util.wrap_exceptions
diff --git a/services/os_management_hub/src/oci_cli_management_station/generated/managementstation_cli.py b/services/os_management_hub/src/oci_cli_management_station/generated/managementstation_cli.py
index 3823fe38..fc9f99c1 100644
--- a/services/os_management_hub/src/oci_cli_management_station/generated/managementstation_cli.py
+++ b/services/os_management_hub/src/oci_cli_management_station/generated/managementstation_cli.py
@@ -42,7 +42,7 @@ def management_station_group():
@management_station_group.command(name=cli_util.override('management_station.change_management_station_compartment.command_name', 'change-compartment'), help=u"""Moves a managment station to a different compartment. \n[Command Reference](changeManagementStationCompartment)""")
@cli_util.option('--management-station-id', required=True, help=u"""The [OCID] of the management station.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the management station to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the management station to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -72,7 +72,7 @@ def change_management_station_compartment(ctx, from_json, management_station_id,
@management_station_group.command(name=cli_util.override('management_station.create_management_station.command_name', 'create'), help=u"""Creates a management station using the proxy and mirror configuration information provided. \n[Command Reference](createManagementStation)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the management station.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the management station.""")
@cli_util.option('--display-name', required=True, help=u"""User-friendly name for the management station. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
@cli_util.option('--hostname', required=True, help=u"""Hostname of the management station.""")
@cli_util.option('--proxy-parameterconflict', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -231,7 +231,7 @@ def get_management_station(ctx, from_json, management_station_id):
@management_station_group.command(name=cli_util.override('management_station.list_management_stations.command_name', 'list'), help=u"""Lists management stations within the specified compartment. Filter the list against a variety of criteria including but not limited to name, status, and location. \n[Command Reference](listManagementStations)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return resources that match the given user-friendly name.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter that returns information for management stations in the specified state.""")
diff --git a/services/os_management_hub/src/oci_cli_onboarding/generated/onboarding_cli.py b/services/os_management_hub/src/oci_cli_onboarding/generated/onboarding_cli.py
index be14870c..d7fa8893 100644
--- a/services/os_management_hub/src/oci_cli_onboarding/generated/onboarding_cli.py
+++ b/services/os_management_hub/src/oci_cli_onboarding/generated/onboarding_cli.py
@@ -166,7 +166,7 @@ def attach_software_sources_to_profile(ctx, from_json, profile_id, software_sour
@profile_group.command(name=cli_util.override('onboarding.change_profile_compartment.command_name', 'change-compartment'), help=u"""Moves the profile to a different compartment. \n[Command Reference](changeProfileCompartment)""")
@cli_util.option('--profile-id', required=True, help=u"""The [OCID] of the registration profile.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment to move the profile to.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the profile to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -199,7 +199,7 @@ def change_profile_compartment(ctx, from_json, profile_id, compartment_id, if_ma
@profile_group.command(name=cli_util.override('onboarding.create_profile.command_name', 'create'), help=u"""Creates a registration profile. A profile defines the content applied to the instance when registering it with the service. \n[Command Reference](createProfile)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the registration profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the registration profile.""")
@cli_util.option('--profile-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["SOFTWARESOURCE", "GROUP", "LIFECYCLE", "STATION", "WINDOWS_STANDALONE"]), help=u"""The type of profile.""")
@cli_util.option('--description', help=u"""User-specified description of the registration profile.""")
@cli_util.option('--management-station-id', help=u"""description: The [OCID] of the management station to associate with an instance once registered. This is required when creating a profile for non-OCI instances.""")
@@ -276,7 +276,7 @@ def create_profile(ctx, from_json, wait_for_state, max_wait_seconds, wait_interv
@profile_group.command(name=cli_util.override('onboarding.create_profile_create_group_profile_details.command_name', 'create-profile-create-group-profile-details'), help=u"""Creates a registration profile. A profile defines the content applied to the instance when registering it with the service. \n[Command Reference](createProfile)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the registration profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the registration profile.""")
@cli_util.option('--managed-instance-group-id', required=True, help=u"""The [OCID] of the managed instance group that the instance will join after registration.""")
@cli_util.option('--description', help=u"""User-specified description of the registration profile.""")
@cli_util.option('--management-station-id', help=u"""description: The [OCID] of the management station to associate with an instance once registered. This is required when creating a profile for non-OCI instances.""")
@@ -355,7 +355,7 @@ def create_profile_create_group_profile_details(ctx, from_json, wait_for_state,
@profile_group.command(name=cli_util.override('onboarding.create_profile_create_windows_stand_alone_profile_details.command_name', 'create-profile-create-windows-stand-alone-profile-details'), help=u"""Creates a registration profile. A profile defines the content applied to the instance when registering it with the service. \n[Command Reference](createProfile)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the registration profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the registration profile.""")
@cli_util.option('--vendor-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE", "MICROSOFT"]), help=u"""The vendor of the operating system for the instance.""")
@cli_util.option('--os-family', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_LINUX_9", "ORACLE_LINUX_8", "ORACLE_LINUX_7", "ORACLE_LINUX_6", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "WINDOWS_SERVER_2022", "ALL"]), help=u"""The operating system family.""")
@cli_util.option('--arch-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64", "I686", "NOARCH", "SRC", "I386"]), help=u"""The architecture type.""")
@@ -438,7 +438,7 @@ def create_profile_create_windows_stand_alone_profile_details(ctx, from_json, wa
@profile_group.command(name=cli_util.override('onboarding.create_profile_create_station_profile_details.command_name', 'create-profile-create-station-profile-details'), help=u"""Creates a registration profile. A profile defines the content applied to the instance when registering it with the service. \n[Command Reference](createProfile)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the registration profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the registration profile.""")
@cli_util.option('--description', help=u"""User-specified description of the registration profile.""")
@cli_util.option('--management-station-id', help=u"""description: The [OCID] of the management station to associate with an instance once registered. This is required when creating a profile for non-OCI instances.""")
@cli_util.option('--registration-type', help=u"""The type of instance to register.""")
@@ -527,7 +527,7 @@ def create_profile_create_station_profile_details(ctx, from_json, wait_for_state
@profile_group.command(name=cli_util.override('onboarding.create_profile_create_software_source_profile_details.command_name', 'create-profile-create-software-source-profile-details'), help=u"""Creates a registration profile. A profile defines the content applied to the instance when registering it with the service. \n[Command Reference](createProfile)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the registration profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the registration profile.""")
@cli_util.option('--vendor-name', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE", "MICROSOFT"]), help=u"""The vendor of the operating system for the instance.""")
@cli_util.option('--os-family', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_LINUX_9", "ORACLE_LINUX_8", "ORACLE_LINUX_7", "ORACLE_LINUX_6", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "WINDOWS_SERVER_2022", "ALL"]), help=u"""The operating system family.""")
@cli_util.option('--arch-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64", "I686", "NOARCH", "SRC", "I386"]), help=u"""The architecture type.""")
@@ -614,7 +614,7 @@ def create_profile_create_software_source_profile_details(ctx, from_json, wait_f
@profile_group.command(name=cli_util.override('onboarding.create_profile_create_lifecycle_profile_details.command_name', 'create-profile-create-lifecycle-profile-details'), help=u"""Creates a registration profile. A profile defines the content applied to the instance when registering it with the service. \n[Command Reference](createProfile)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the registration profile.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the registration profile.""")
@cli_util.option('--lifecycle-stage-id', required=True, help=u"""The [OCID] of the lifecycle stage that the instance will be associated with.""")
@cli_util.option('--description', help=u"""User-specified description of the registration profile.""")
@cli_util.option('--management-station-id', help=u"""description: The [OCID] of the management station to associate with an instance once registered. This is required when creating a profile for non-OCI instances.""")
@@ -839,7 +839,7 @@ def get_profile_version(ctx, from_json, profile_id, profile_version):
@cli_util.option('--profile-id', required=True, help=u"""The [OCID] of the registration profile.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@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].
Example: `50`""")
@@ -906,7 +906,7 @@ def list_profile_available_software_sources(ctx, from_json, all_pages, page_size
@profile_group.command(name=cli_util.override('onboarding.list_profiles.command_name', 'list'), help=u"""Lists registration profiles that match the specified compartment or profile OCID. Filter the list against a variety of criteria including but not limited to its name, status, vendor name, and architecture type. \n[Command Reference](listProfiles)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', multiple=True, help=u"""A filter to return resources that match the given display names.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@cli_util.option('--profile-type', type=custom_types.CliCaseInsensitiveChoice(["SOFTWARESOURCE", "GROUP", "LIFECYCLE", "STATION", "WINDOWS_STANDALONE"]), multiple=True, help=u"""A filter to return registration profiles that match the given profile type.""")
diff --git a/services/os_management_hub/src/oci_cli_onboarding/onboarding_cli_extended.py b/services/os_management_hub/src/oci_cli_onboarding/onboarding_cli_extended.py
index 0670823e..f09dabc6 100644
--- a/services/os_management_hub/src/oci_cli_onboarding/onboarding_cli_extended.py
+++ b/services/os_management_hub/src/oci_cli_onboarding/onboarding_cli_extended.py
@@ -32,7 +32,7 @@
@cli_util.copy_params_from_generated_command(onboarding_cli.create_profile_create_group_profile_details, params_to_exclude=['managed_instance_group_id'])
@onboarding_cli.profile_group.command(name=onboarding_cli.create_profile_create_group_profile_details.name, help=onboarding_cli.create_profile_create_group_profile_details.help)
-@cli_util.option('--group-id', required=True, help=u"""The OCID of the managed instance group from which the registration profile will inherit its software sources. [required]""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the managed instance group from which the registration profile will inherit its software sources. [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'os_management_hub', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'os_management_hub', 'class': 'dict(str, dict(str, object))'}}, output_type={'module': 'os_management_hub', 'class': 'Profile'})
@cli_util.wrap_exceptions
@@ -114,7 +114,7 @@ def list_profiles_extended(ctx, **kwargs):
# Manual changes for OSMH 3.0
@cli_util.copy_params_from_generated_command(onboarding_cli.attach_managed_instance_group_to_profile, params_to_exclude=['managed_instance_group_id'])
@onboarding_cli.profile_group.command(name=onboarding_cli.attach_managed_instance_group_to_profile.name, help=onboarding_cli.attach_managed_instance_group_to_profile.help)
-@cli_util.option('--group-id', required=True, help=u"""The [OCID] of the managed instance group that the profile will be associated with.""")
+@cli_util.option('--group-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the managed instance group that the profile will be associated with.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
diff --git a/services/os_management_hub/src/oci_cli_reporting_managed_instance/generated/reportingmanagedinstance_cli.py b/services/os_management_hub/src/oci_cli_reporting_managed_instance/generated/reportingmanagedinstance_cli.py
index c0479c75..d5a75677 100644
--- a/services/os_management_hub/src/oci_cli_reporting_managed_instance/generated/reportingmanagedinstance_cli.py
+++ b/services/os_management_hub/src/oci_cli_reporting_managed_instance/generated/reportingmanagedinstance_cli.py
@@ -42,7 +42,7 @@ def managed_instance_analytic_collection_group():
@managed_instance_group.command(name=cli_util.override('reporting_managed_instance.get_managed_instance_analytic_content.command_name', 'get-managed-instance-analytic-content'), help=u"""Returns a report of managed instances matching the given filters. You can select CSV, XML, or JSON format. \n[Command Reference](getManagedInstanceAnalyticContent)""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--managed-instance-group-id', help=u"""The [OCID] of the managed instance group. This filter returns resources associated with this group.""")
@cli_util.option('--lifecycle-environment-id', help=u"""The [OCID] of the lifecycle environment. This filter returns only resource contained with the specified lifecycle environment.""")
@cli_util.option('--lifecycle-stage-id', help=u"""The [OCID] of the lifecycle stage. This resource returns resources associated with this lifecycle stage.""")
@@ -200,7 +200,7 @@ def get_managed_instance_content(ctx, from_json, file, managed_instance_id, vuln
@managed_instance_analytic_collection_group.command(name=cli_util.override('reporting_managed_instance.summarize_managed_instance_analytics.command_name', 'summarize-managed-instance-analytics'), help=u"""Returns a list of user specified metrics for a collection of managed instances. \n[Command Reference](summarizeManagedInstanceAnalytics)""")
@cli_util.option('--metric-names', required=True, type=custom_types.CliCaseInsensitiveChoice(["TOTAL_INSTANCE_COUNT", "INSTANCE_WITH_AVAILABLE_SECURITY_UPDATES_COUNT", "INSTANCE_WITH_AVAILABLE_BUGFIX_UPDATES_COUNT", "NORMAL_INSTANCE_COUNT", "ERROR_INSTANCE_COUNT", "WARNING_INSTANCE_COUNT", "UNREACHABLE_INSTANCE_COUNT", "REGISTRATION_FAILED_INSTANCE_COUNT", "DELETING_INSTANCE_COUNT", "ONBOARDING_INSTANCE_COUNT", "INSTANCE_SECURITY_UPDATES_COUNT", "INSTANCE_BUGFIX_UPDATES_COUNT", "INSTANCE_SECURITY_ADVISORY_COUNT", "INSTANCE_BUGFIX_ADVISORY_COUNT", "REBOOTING_INSTANCE_COUNT", "NEEDS_REBOOTING_INSTANCE_COUNT"]), multiple=True, help=u"""A filter to return only metrics whose name matches the given metric names.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--managed-instance-group-id', help=u"""The [OCID] of the managed instance group. This filter returns resources associated with this group.""")
@cli_util.option('--lifecycle-environment-id', help=u"""The [OCID] of the lifecycle environment. This filter returns only resource contained with the specified lifecycle environment.""")
@cli_util.option('--lifecycle-stage-id', help=u"""The [OCID] of the lifecycle stage. This resource returns resources associated with this lifecycle stage.""")
diff --git a/services/os_management_hub/src/oci_cli_reporting_managed_instance/reportingmanagedinstance_cli_extended.py b/services/os_management_hub/src/oci_cli_reporting_managed_instance/reportingmanagedinstance_cli_extended.py
index e3b727f9..74a4593f 100644
--- a/services/os_management_hub/src/oci_cli_reporting_managed_instance/reportingmanagedinstance_cli_extended.py
+++ b/services/os_management_hub/src/oci_cli_reporting_managed_instance/reportingmanagedinstance_cli_extended.py
@@ -29,7 +29,7 @@
@cli_util.option('--bug-updates-eq', type=click.INT, help=u"""A filter to return instances with number of available bug updates equals to the number specified.""")
@cli_util.option('--bug-updates-gt', type=click.INT, help=u"""A filter to return instances with number of available bug updates greater than the number specified.""")
@cli_util.option('--lifecycle-env-id', help=u"""The OCID of the lifecycle environment.""")
-@cli_util.option('--group-id', help=u"""The OCID of the managed instance group for which to list resources.""")
+@cli_util.option('--group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the managed instance group for which to list resources.""")
@cli_util.option('--security-updates-eq', type=click.INT, help=u"""A filter to return instances with number of available security updates equals to the number specified.""")
@cli_util.option('--security-updates-gt', type=click.INT, help=u"""A filter to return instances with number of available security updates greater than the number specified.""")
@cli_util.option('--stage-id', help=u"""The OCID of the lifecycle stage for which to list resources.""")
@@ -82,7 +82,7 @@ def get_managed_instance_analytic_content_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(reportingmanagedinstance_cli.summarize_managed_instance_analytics, params_to_exclude=['lifecycle_environment_id', 'managed_instance_group_id', 'lifecycle_stage_id', 'location_not_equal_to', 'is_managed_by_autonomous_linux'])
@managedinstance_cli.managed_instance_group.command(name=reportingmanagedinstance_cli.summarize_managed_instance_analytics.name, help=reportingmanagedinstance_cli.summarize_managed_instance_analytics.help)
@cli_util.option('--lifecycle-env-id', help=u"""The OCID of the lifecycle environment.""")
-@cli_util.option('--group-id', help=u"""The OCID of the managed instance group for which to list resources.""")
+@cli_util.option('--group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the managed instance group for which to list resources.""")
@cli_util.option('--stage-id', help=u"""The OCID of the lifecycle stage for which to list resources.""")
@cli_util.option('--location-ne', type=custom_types.CliCaseInsensitiveChoice(["ON_PREMISE", "OCI_COMPUTE", "AZURE", "EC2", "GCP"]), multiple=True, help="""A filter to return only resources whose location does not match the given value.""")
@cli_util.option('--is-managed-by-alx', type=click.BOOL, help="""Indicates whether to list only resources managed by the Autonomous Linux service.""")
diff --git a/services/os_management_hub/src/oci_cli_scheduled_job/generated/scheduledjob_cli.py b/services/os_management_hub/src/oci_cli_scheduled_job/generated/scheduledjob_cli.py
index 5d1dea44..bf71df16 100644
--- a/services/os_management_hub/src/oci_cli_scheduled_job/generated/scheduledjob_cli.py
+++ b/services/os_management_hub/src/oci_cli_scheduled_job/generated/scheduledjob_cli.py
@@ -35,7 +35,7 @@ def scheduled_job_group():
@scheduled_job_group.command(name=cli_util.override('scheduled_job.change_scheduled_job_compartment.command_name', 'change-compartment'), help=u"""Moves a scheduled job to another compartment. \n[Command Reference](changeScheduledJobCompartment)""")
@cli_util.option('--scheduled-job-id', required=True, help=u"""The [OCID] of the scheduled job.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the scheduled job to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the scheduled job to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -65,7 +65,7 @@ def change_scheduled_job_compartment(ctx, from_json, scheduled_job_id, compartme
@scheduled_job_group.command(name=cli_util.override('scheduled_job.create_scheduled_job.command_name', 'create'), help=u"""Creates a new scheduled job. \n[Command Reference](createScheduledJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the scheduled job.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the scheduled job.""")
@cli_util.option('--schedule-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ONETIME", "RECURRING"]), help=u"""The type of scheduling frequency for the scheduled job.""")
@cli_util.option('--time-next-execution', required=True, type=custom_types.CLI_DATETIME, help=u"""The desired time of the next execution of this scheduled job (in [RFC 3339] format).""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--operations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of operations this scheduled job needs to perform. A scheduled job supports only one operation type, unless it is one of the following: * UPDATE_PACKAGES * UPDATE_ALL * UPDATE_SECURITY * UPDATE_BUGFIX * UPDATE_ENHANCEMENT * UPDATE_OTHER * UPDATE_KSPLICE_USERSPACE * UPDATE_KSPLICE_KERNEL""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -264,7 +264,7 @@ def get_scheduled_job(ctx, from_json, scheduled_job_id):
@scheduled_job_group.command(name=cli_util.override('scheduled_job.list_scheduled_jobs.command_name', 'list'), help=u"""Lists scheduled jobs that match the specified compartment or scheduled job [OCID]. \n[Command Reference](listScheduledJobs)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', help=u"""A filter to return resources that match the given user-friendly name.""")
@cli_util.option('--display-name-contains', help=u"""A filter to return resources that may partially match the given display name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only scheduled jobs currently in the given state.""")
diff --git a/services/os_management_hub/src/oci_cli_scheduled_job/scheduledjob_cli_extended.py b/services/os_management_hub/src/oci_cli_scheduled_job/scheduledjob_cli_extended.py
index cb7a418c..18d23bd0 100644
--- a/services/os_management_hub/src/oci_cli_scheduled_job/scheduledjob_cli_extended.py
+++ b/services/os_management_hub/src/oci_cli_scheduled_job/scheduledjob_cli_extended.py
@@ -60,7 +60,7 @@ def create_scheduled_job_extended(ctx, **kwargs):
@scheduledjob_cli.scheduled_job_group.command(name=scheduledjob_cli.list_scheduled_jobs.name, help=scheduledjob_cli.list_scheduled_jobs.help)
@cli_util.option('--is-managed-by-alx', type=click.BOOL, help="""Indicates whether to list only resources managed by the Autonomous Linux service.""")
@cli_util.option('--location-ne', type=custom_types.CliCaseInsensitiveChoice(["ON_PREMISE", "OCI_COMPUTE", "AZURE", "EC2", "GCP"]), multiple=True, help="""A filter to return only resources whose location does not match the given value.""")
-@cli_util.option('--group-id', help=u"""The OCID of the managed instance group for which to list resources.""")
+@cli_util.option('--group-id', type=custom_types.CLI_OCID, help=u"""The OCID of the managed instance group for which to list resources.""")
@cli_util.option('--stage-id', help=u"""The OCID of the lifecycle stage for which to list resources.""")
@cli_util.option('--scheduled-job-id', help=u"""The OCID of the scheduled job.""")
@click.pass_context
diff --git a/services/os_management_hub/src/oci_cli_software_source/generated/softwaresource_cli.py b/services/os_management_hub/src/oci_cli_software_source/generated/softwaresource_cli.py
index 9ba8f09d..4d629e80 100644
--- a/services/os_management_hub/src/oci_cli_software_source/generated/softwaresource_cli.py
+++ b/services/os_management_hub/src/oci_cli_software_source/generated/softwaresource_cli.py
@@ -151,7 +151,7 @@ def change_availability_of_software_sources(ctx, from_json, software_source_avai
@software_source_group.command(name=cli_util.override('software_source.change_software_source_compartment.command_name', 'change-compartment'), help=u"""Moves the specified software sources to a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeSoftwareSourceCompartment)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the software source to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the software source to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -181,7 +181,7 @@ def change_software_source_compartment(ctx, from_json, software_source_id, compa
@software_source_group.command(name=cli_util.override('software_source.create_entitlement.command_name', 'create-entitlement'), help=u"""Registers the necessary entitlement credentials for OS vendor software sources for a tenancy. \n[Command Reference](createEntitlement)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy containing the entitlement.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy containing the entitlement.""")
@cli_util.option('--csi', required=True, help=u"""The Customer Support Identifier (CSI) which unlocks the software sources. The CSI is is a unique key given to a customer and it uniquely identifies the entitlement.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -206,7 +206,7 @@ def create_entitlement(ctx, from_json, compartment_id, csi):
@software_source_group.command(name=cli_util.override('software_source.create_software_source.command_name', 'create'), help=u"""Creates a new software source. \n[Command Reference](createSoftwareSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--software-source-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["VENDOR", "CUSTOM", "VERSIONED", "PRIVATE", "THIRD_PARTY"]), help=u"""Type of software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""User-specified description for the software source. Avoid entering confidential information.""")
@@ -277,7 +277,7 @@ def create_software_source(ctx, from_json, wait_for_state, max_wait_seconds, wai
@software_source_group.command(name=cli_util.override('software_source.create_software_source_create_custom_software_source_details.command_name', 'create-software-source-create-custom-software-source-details'), help=u"""Creates a new software source. \n[Command Reference](createSoftwareSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--vendor-software-sources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of vendor software sources.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""User-friendly name for the software source. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""User-specified description for the software source. Avoid entering confidential information.""")
@@ -378,7 +378,7 @@ def create_software_source_create_custom_software_source_details(ctx, from_json,
@software_source_group.command(name=cli_util.override('software_source.create_software_source_create_vendor_software_source_details.command_name', 'create-software-source-create-vendor-software-source-details'), help=u"""Creates a new software source. \n[Command Reference](createSoftwareSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--origin-software-source-id', required=True, help=u"""The [OCID] of the vendor software source in the root compartment that is being replicated.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""User-specified description for the software source. Avoid entering confidential information.""")
@@ -451,7 +451,7 @@ def create_software_source_create_vendor_software_source_details(ctx, from_json,
@software_source_group.command(name=cli_util.override('software_source.create_software_source_create_private_software_source_details.command_name', 'create-software-source-create-private-software-source-details'), help=u"""Creates a new software source. \n[Command Reference](createSoftwareSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--os-family', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_LINUX_9", "ORACLE_LINUX_8", "ORACLE_LINUX_7", "ORACLE_LINUX_6", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "WINDOWS_SERVER_2022", "ALL"]), help=u"""The OS family for the private software source.""")
@cli_util.option('--arch-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64", "I686", "NOARCH", "SRC", "I386"]), help=u"""The architecture type supported by the private software source.""")
@cli_util.option('--url', required=True, help=u"""URL for the private software source.""")
@@ -548,7 +548,7 @@ def create_software_source_create_private_software_source_details(ctx, from_json
@software_source_group.command(name=cli_util.override('software_source.create_software_source_create_versioned_custom_software_source_details.command_name', 'create-software-source-create-versioned-custom-software-source-details'), help=u"""Creates a new software source. \n[Command Reference](createSoftwareSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--vendor-software-sources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of vendor software sources.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--software-source-version', required=True, help=u"""The version to assign to this custom software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source. Does not have to be unique and you can change the name later. Avoid entering confidential information.""")
@@ -647,7 +647,7 @@ def create_software_source_create_versioned_custom_software_source_details(ctx,
@software_source_group.command(name=cli_util.override('software_source.create_software_source_create_third_party_software_source_details.command_name', 'create-software-source-create-third-party-software-source-details'), help=u"""Creates a new software source. \n[Command Reference](createSoftwareSource)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--os-family', required=True, type=custom_types.CliCaseInsensitiveChoice(["ORACLE_LINUX_9", "ORACLE_LINUX_8", "ORACLE_LINUX_7", "ORACLE_LINUX_6", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "WINDOWS_SERVER_2022", "ALL"]), help=u"""The OS family for the third-party software source.""")
@cli_util.option('--arch-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64", "I686", "NOARCH", "SRC", "I386"]), help=u"""The architecture type supported by the third-party software source.""")
@cli_util.option('--url', required=True, help=u"""URL for the third-party software source.""")
@@ -808,7 +808,7 @@ def delete_software_source(ctx, from_json, wait_for_state, max_wait_seconds, wai
@erratum_group.command(name=cli_util.override('software_source.get_erratum.command_name', 'get'), help=u"""Returns information about the specified erratum based on its advisory name. \n[Command Reference](getErratum)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
@cli_util.option('--name', required=True, help=u"""The erratum name (such as ELSA-2023-34678).""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1177,7 +1177,7 @@ def list_available_software_packages(ctx, from_json, all_pages, page_size, softw
@software_source_group.command(name=cli_util.override('software_source.list_entitlements.command_name', 'list-entitlements'), help=u"""Lists entitlements in the specified tenancy [OCID]. Filter the list against a variety of criteria including but not limited to its Customer Support Identifier (CSI), and vendor name. \n[Command Reference](listEntitlements)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
@cli_util.option('--csi', help=u"""A filter to return entitlements that match the given customer support identifier (CSI).""")
@cli_util.option('--vendor-name', type=custom_types.CliCaseInsensitiveChoice(["ORACLE", "MICROSOFT"]), help=u"""A filter to return only resources that match the given vendor name.""")
@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].
@@ -1241,7 +1241,7 @@ def list_entitlements(ctx, from_json, all_pages, page_size, compartment_id, csi,
@erratum_group.command(name=cli_util.override('software_source.list_errata.command_name', 'list-errata'), help=u"""Lists all of the currently available errata. Filter the list against a variety of criteria including but not limited to its name, classification type, advisory severity, and OS family. \n[Command Reference](listErrata)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
@cli_util.option('--name', multiple=True, help=u"""The assigned erratum name. It's unique and not changeable.
Example: `ELSA-2020-5804`""")
@@ -1473,7 +1473,7 @@ def list_module_streams(ctx, from_json, all_pages, page_size, software_source_id
@software_source_group.command(name=cli_util.override('software_source.list_package_groups.command_name', 'list-package-groups'), help=u"""Lists package groups that are associated with the specified software source [OCID]. Filter the list against a variety of criteria including but not limited to its name, and package group type. \n[Command Reference](listPackageGroups)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--name', help=u"""The name of the entity to be queried.""")
@cli_util.option('--name-contains', help=u"""A filter to return resources that may partially match the name given.""")
@cli_util.option('--group-type', type=custom_types.CliCaseInsensitiveChoice(["GROUP", "ENVIRONMENT", "CATEGORY"]), multiple=True, help=u"""A filter to return only package groups of the specified type.""")
@@ -1546,7 +1546,7 @@ def list_package_groups(ctx, from_json, all_pages, page_size, software_source_id
@software_source_group.command(name=cli_util.override('software_source.list_software_package_software_sources.command_name', 'list-software-package'), help=u"""Lists the software sources in the tenancy that contain the software package. Filter the list against a variety of criteria including but not limited to its name, type, architecture, and OS family. \n[Command Reference](listSoftwarePackageSoftwareSources)""")
@cli_util.option('--software-package-name', required=True, help=u"""The name of the software package.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
@cli_util.option('--software-source-type', type=custom_types.CliCaseInsensitiveChoice(["VENDOR", "CUSTOM", "VERSIONED", "PRIVATE", "THIRD_PARTY"]), multiple=True, help=u"""The type of the software source.""")
@cli_util.option('--os-family', type=custom_types.CliCaseInsensitiveChoice(["ORACLE_LINUX_9", "ORACLE_LINUX_8", "ORACLE_LINUX_7", "ORACLE_LINUX_6", "WINDOWS_SERVER_2016", "WINDOWS_SERVER_2019", "WINDOWS_SERVER_2022", "ALL"]), multiple=True, help=u"""A filter to return only resources that match the given operating system family.""")
@cli_util.option('--arch-type', type=custom_types.CliCaseInsensitiveChoice(["X86_64", "AARCH64", "I686", "NOARCH", "SRC", "I386"]), multiple=True, help=u"""A filter to return only instances whose architecture type matches the given architecture.""")
@@ -1707,7 +1707,7 @@ def list_software_packages(ctx, from_json, all_pages, page_size, software_source
@software_source_group.command(name=cli_util.override('software_source.list_software_source_vendors.command_name', 'list-software-source-vendors'), help=u"""Lists available software source vendors. Filter the list against a variety of criteria including but not limited to its name. \n[Command Reference](listSoftwareSourceVendors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This parameter is required and returns only resources contained within the specified compartment.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["name"]), help=u"""The field to sort software source vendors by. Only one sort order may be provided. Default order for name is ascending.""")
@cli_util.option('--name', help=u"""The name of the entity to be queried.""")
@@ -1736,7 +1736,7 @@ def list_software_source_vendors(ctx, from_json, all_pages, compartment_id, sort
@software_source_group.command(name=cli_util.override('software_source.list_software_sources.command_name', 'list'), help=u"""Lists software sources that match the specified tenancy or software source [OCID]. Filter the list against a variety of criteria including but not limited to its name, status, architecture, and OS family. \n[Command Reference](listSoftwareSources)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--software-source-id', help=u"""The [OCID] for the software source.""")
@cli_util.option('--software-source-type', type=custom_types.CliCaseInsensitiveChoice(["VENDOR", "CUSTOM", "VERSIONED", "PRIVATE", "THIRD_PARTY"]), multiple=True, help=u"""The type of the software source.""")
@cli_util.option('--vendor-name', type=custom_types.CliCaseInsensitiveChoice(["ORACLE", "MICROSOFT"]), help=u"""A filter to return only resources that match the given vendor name.""")
@@ -2126,7 +2126,7 @@ def software_source_generate_metadata(ctx, from_json, software_source_id, if_mat
@software_source_group.command(name=cli_util.override('software_source.update_software_source.command_name', 'update'), help=u"""Updates the specified software source's details, including but not limited to name, description, and tags. \n[Command Reference](updateSoftwareSource)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source.""")
@cli_util.option('--description', help=u"""User-specified description of the software source.""")
@cli_util.option('--software-source-type', type=custom_types.CliCaseInsensitiveChoice(["VENDOR", "CUSTOM", "VERSIONED", "PRIVATE", "THIRD_PARTY"]), help=u"""Type of the software source.""")
@@ -2214,7 +2214,7 @@ def update_software_source(ctx, from_json, force, wait_for_state, max_wait_secon
@software_source_group.command(name=cli_util.override('software_source.update_software_source_update_custom_software_source_details.command_name', 'update-software-source-update-custom-software-source-details'), help=u"""Updates the specified software source's details, including but not limited to name, description, and tags. \n[Command Reference](updateSoftwareSource)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source.""")
@cli_util.option('--description', help=u"""User-specified description of the software source.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2322,7 +2322,7 @@ def update_software_source_update_custom_software_source_details(ctx, from_json,
@software_source_group.command(name=cli_util.override('software_source.update_software_source_update_private_software_source_details.command_name', 'update-software-source-update-private-software-source-details'), help=u"""Updates the specified software source's details, including but not limited to name, description, and tags. \n[Command Reference](updateSoftwareSource)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source.""")
@cli_util.option('--description', help=u"""User-specified description of the software source.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2432,7 +2432,7 @@ def update_software_source_update_private_software_source_details(ctx, from_json
@software_source_group.command(name=cli_util.override('software_source.update_software_source_update_versioned_custom_software_source_details.command_name', 'update-software-source-update-versioned-custom-software-source-details'), help=u"""Updates the specified software source's details, including but not limited to name, description, and tags. \n[Command Reference](updateSoftwareSource)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source.""")
@cli_util.option('--description', help=u"""User-specified description of the software source.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2518,7 +2518,7 @@ def update_software_source_update_versioned_custom_software_source_details(ctx,
@software_source_group.command(name=cli_util.override('software_source.update_software_source_update_vendor_software_source_details.command_name', 'update-software-source-update-vendor-software-source-details'), help=u"""Updates the specified software source's details, including but not limited to name, description, and tags. \n[Command Reference](updateSoftwareSource)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source.""")
@cli_util.option('--description', help=u"""User-specified description of the software source.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2604,7 +2604,7 @@ def update_software_source_update_vendor_software_source_details(ctx, from_json,
@software_source_group.command(name=cli_util.override('software_source.update_software_source_update_third_party_software_source_details.command_name', 'update-software-source-update-third-party-software-source-details'), help=u"""Updates the specified software source's details, including but not limited to name, description, and tags. \n[Command Reference](updateSoftwareSource)""")
@cli_util.option('--software-source-id', required=True, help=u"""The [OCID] of the software source.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment that contains the software source.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the software source.""")
@cli_util.option('--display-name', help=u"""User-friendly name for the software source.""")
@cli_util.option('--description', help=u"""User-specified description of the software source.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/os_management_hub/src/oci_cli_work_request/generated/workrequest_cli.py b/services/os_management_hub/src/oci_cli_work_request/generated/workrequest_cli.py
index 497c1ea2..417b07c1 100644
--- a/services/os_management_hub/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/os_management_hub/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -178,7 +178,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_request.list_work_requests.command_name', 'list'), help=u"""Lists work requests that match the specified compartment or work request OCID. Filter the list against a variety of criteria including but not limited to its name, status, and operation type. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["WAITING", "ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), multiple=True, help=u"""A filter to return work requests that match the given status.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource. This filter returns resources associated with the specified resource.""")
diff --git a/services/osp_gateway/src/oci_cli_address_rule_service/generated/addressruleservice_cli.py b/services/osp_gateway/src/oci_cli_address_rule_service/generated/addressruleservice_cli.py
index 5ee0ef85..375d9861 100644
--- a/services/osp_gateway/src/oci_cli_address_rule_service/generated/addressruleservice_cli.py
+++ b/services/osp_gateway/src/oci_cli_address_rule_service/generated/addressruleservice_cli.py
@@ -34,7 +34,7 @@ def address_rule_group():
@address_rule_group.command(name=cli_util.override('address_rule_service.get_address_rule.command_name', 'get'), help=u"""Get the address rule for the compartment based on the country code \n[Command Reference](getAddressRule)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--country-code', required=True, help=u"""Country code for the address rule in ISO-3166-1 2-letter format.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
diff --git a/services/osp_gateway/src/oci_cli_address_service/generated/addressservice_cli.py b/services/osp_gateway/src/oci_cli_address_service/generated/addressservice_cli.py
index 953ce2cd..94b8926e 100644
--- a/services/osp_gateway/src/oci_cli_address_service/generated/addressservice_cli.py
+++ b/services/osp_gateway/src/oci_cli_address_service/generated/addressservice_cli.py
@@ -34,7 +34,7 @@ def address_group():
@address_group.command(name=cli_util.override('address_service.get_address.command_name', 'get'), help=u"""Get the address by id for the compartment \n[Command Reference](getAddress)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--address-id', required=True, help=u"""The identifier of the address.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -60,7 +60,7 @@ def get_address(ctx, from_json, osp_home_region, compartment_id, address_id):
@address_group.command(name=cli_util.override('address_service.verify_address.command_name', 'verify'), help=u"""Verify address \n[Command Reference](verifyAddress)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--address-key', help=u"""Address identifier.""")
@cli_util.option('--line1', help=u"""Address line 1.""")
@cli_util.option('--line2', help=u"""Address line 2.""")
diff --git a/services/osp_gateway/src/oci_cli_invoice_service/generated/invoiceservice_cli.py b/services/osp_gateway/src/oci_cli_invoice_service/generated/invoiceservice_cli.py
index cebe95cb..02fb80f5 100644
--- a/services/osp_gateway/src/oci_cli_invoice_service/generated/invoiceservice_cli.py
+++ b/services/osp_gateway/src/oci_cli_invoice_service/generated/invoiceservice_cli.py
@@ -34,7 +34,7 @@ def invoice_group():
@invoice_group.command(name=cli_util.override('invoice_service.download_pdf_content.command_name', 'download-pdf-content'), help=u"""Returns an invoice in pdf format \n[Command Reference](downloadPdfContent)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--internal-invoice-id', required=True, help=u"""The identifier of the invoice.""")
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -83,7 +83,7 @@ def download_pdf_content(ctx, from_json, file, osp_home_region, compartment_id,
@invoice_group.command(name=cli_util.override('invoice_service.get_invoice.command_name', 'get'), help=u"""Returns an invoice by invoice id \n[Command Reference](getInvoice)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--internal-invoice-id', required=True, help=u"""The identifier of the invoice.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -109,7 +109,7 @@ def get_invoice(ctx, from_json, osp_home_region, compartment_id, internal_invoic
@invoice_group.command(name=cli_util.override('invoice_service.list_invoice_lines.command_name', 'list-invoice-lines'), help=u"""Returns the invoice product list by invoice id \n[Command Reference](listInvoiceLines)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--internal-invoice-id', required=True, help=u"""The identifier of the invoice.""")
@cli_util.option('--page', help=u"""For list pagination. The value of the opc-next-page response header from the previous \"List\" call.""")
@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.""")
@@ -168,7 +168,7 @@ def list_invoice_lines(ctx, from_json, all_pages, page_size, osp_home_region, co
@invoice_group.command(name=cli_util.override('invoice_service.list_invoices.command_name', 'list'), help=u"""Returns a list of invoices \n[Command Reference](listInvoices)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--invoice-id', help=u"""The invoice query param (not unique).""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["HARDWARE", "SUBSCRIPTION", "SUPPORT", "LICENSE", "EDUCATION", "CONSULTING", "SERVICE", "USAGE"]), multiple=True, help=u"""A filter to only return resources that match the given type exactly.""")
@cli_util.option('--search-text', help=u"""A filter to only return resources that match the given value. Looking for partial matches in the following fileds: Invoice No., Reference No. (plan number), Payment Ref, Total Amount(plan number), Balance Due(plan number) and Party/Customer Name""")
@@ -251,7 +251,7 @@ def list_invoices(ctx, from_json, all_pages, page_size, osp_home_region, compart
@invoice_group.command(name=cli_util.override('invoice_service.pay_invoice.command_name', 'pay'), help=u"""Pay an invoice \n[Command Reference](payInvoice)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
@cli_util.option('--internal-invoice-id', required=True, help=u"""The identifier of the invoice.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--email', required=True, help=u"""User email""")
@cli_util.option('--language-code', help=u"""Language code""")
@cli_util.option('--return-url', help=u"""Callback URL""")
diff --git a/services/osp_gateway/src/oci_cli_subscription_service/generated/subscriptionservice_cli.py b/services/osp_gateway/src/oci_cli_subscription_service/generated/subscriptionservice_cli.py
index 0da1a9ae..16c637e9 100644
--- a/services/osp_gateway/src/oci_cli_subscription_service/generated/subscriptionservice_cli.py
+++ b/services/osp_gateway/src/oci_cli_subscription_service/generated/subscriptionservice_cli.py
@@ -34,8 +34,8 @@ def subscription_group():
@subscription_group.command(name=cli_util.override('subscription_service.authorize_subscription_payment.command_name', 'authorize-subscription-payment'), help=u"""PSD2 authorization for subscription payment \n[Command Reference](authorizeSubscriptionPayment)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription id(OCID).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription id(OCID).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--subscription', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language-code', required=True, help=u"""Language code""")
@cli_util.option('--email', required=True, help=u"""User email""")
@@ -72,9 +72,9 @@ def authorize_subscription_payment(ctx, from_json, osp_home_region, subscription
@subscription_group.command(name=cli_util.override('subscription_service.get_subscription.command_name', 'get'), help=u"""Get the subscription plan. \n[Command Reference](getSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription id(OCID).""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription id(OCID).""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -99,7 +99,7 @@ def get_subscription(ctx, from_json, subscription_id, osp_home_region, compartme
@subscription_group.command(name=cli_util.override('subscription_service.list_subscriptions.command_name', 'list'), help=u"""Get the subscription data for the compartment \n[Command Reference](listSubscriptions)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--page', help=u"""For list pagination. The value of the opc-next-page response header from the previous \"List\" call.""")
@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.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["INVOICE_NO", "REF_NO", "STATUS", "TYPE", "INVOICE_DATE", "DUE_DATE", "PAYM_REF", "TOTAL_AMOUNT", "BALANCE_DUE"]), help=u"""The field to sort by. Only one field can be selected for sorting.""")
@@ -157,8 +157,8 @@ def list_subscriptions(ctx, from_json, all_pages, page_size, osp_home_region, co
@subscription_group.command(name=cli_util.override('subscription_service.pay_subscription.command_name', 'pay'), help=u"""Pay a subscription \n[Command Reference](paySubscription)""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription id(OCID).""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription id(OCID).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--subscription', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--language-code', required=True, help=u"""Language code""")
@cli_util.option('--email', required=True, help=u"""User email""")
@@ -195,9 +195,9 @@ def pay_subscription(ctx, from_json, osp_home_region, subscription_id, compartme
@subscription_group.command(name=cli_util.override('subscription_service.update_subscription.command_name', 'update'), help=u"""Update plan of the subscription. \n[Command Reference](updateSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription id(OCID).""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription id(OCID).""")
@cli_util.option('--osp-home-region', required=True, help=u"""The home region's public name of the logged in user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--subscription', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--email', required=True, help=u"""User email""")
@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.""")
diff --git a/services/osub_billing_schedule/src/oci_cli_billing_schedule/generated/billingschedule_cli.py b/services/osub_billing_schedule/src/oci_cli_billing_schedule/generated/billingschedule_cli.py
index 2506024b..cf0b19c4 100644
--- a/services/osub_billing_schedule/src/oci_cli_billing_schedule/generated/billingschedule_cli.py
+++ b/services/osub_billing_schedule/src/oci_cli_billing_schedule/generated/billingschedule_cli.py
@@ -32,8 +32,8 @@ def billing_schedule_summary_group():
@billing_schedule_summary_group.command(name=cli_util.override('osub_billing_schedule.list_billing_schedules.command_name', 'list-billing-schedules'), help=u"""This list API returns all billing schedules for given subscription id and for a particular Subscribed Service if provided \n[Command Reference](listBillingSchedules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""This param is used to get only the billing schedules for a particular Subscription Id""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""This param is used to get only the billing schedules for a particular Subscription Id""")
@cli_util.option('--subscribed-service-id', help=u"""This param is used to get only the billing schedules for a particular Subscribed Service""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
diff --git a/services/osub_organization_subscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py b/services/osub_organization_subscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py
index 7ae212a8..e86a8a05 100644
--- a/services/osub_organization_subscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py
+++ b/services/osub_organization_subscription/src/oci_cli_organization_subscription/generated/organizationsubscription_cli.py
@@ -32,7 +32,7 @@ def subscription_group():
@subscription_group.command(name=cli_util.override('osub_organization_subscription.list_organization_subscriptions.command_name', 'list-organization'), help=u"""API that returns data for the list of subscription ids returned from Organizations API \n[Command Reference](listOrganizationSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--subscription-ids', required=True, help=u"""Comma separated list of subscription ids""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
diff --git a/services/osub_subscription/src/oci_cli_commitment/generated/commitment_cli.py b/services/osub_subscription/src/oci_cli_commitment/generated/commitment_cli.py
index 5e3bfb16..100c1458 100644
--- a/services/osub_subscription/src/oci_cli_commitment/generated/commitment_cli.py
+++ b/services/osub_subscription/src/oci_cli_commitment/generated/commitment_cli.py
@@ -69,7 +69,7 @@ def get_commitment(ctx, from_json, commitment_id, x_one_gateway_subscription_id,
@commitment_group.command(name=cli_util.override('commitment.list_commitments.command_name', 'list'), help=u"""This list API returns all commitments for a particular Subscribed Service \n[Command Reference](listCommitments)""")
@cli_util.option('--subscribed-service-id', required=True, help=u"""This param is used to get the commitments for a particular subscribed service""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
Example: `500`""")
diff --git a/services/osub_subscription/src/oci_cli_ratecard/generated/ratecard_cli.py b/services/osub_subscription/src/oci_cli_ratecard/generated/ratecard_cli.py
index be3a7b2d..8b2029dd 100644
--- a/services/osub_subscription/src/oci_cli_ratecard/generated/ratecard_cli.py
+++ b/services/osub_subscription/src/oci_cli_ratecard/generated/ratecard_cli.py
@@ -33,8 +33,8 @@ def rate_card_group():
@rate_card_group.command(name=cli_util.override('ratecard.list_rate_cards.command_name', 'list'), help=u"""List API that returns all ratecards for given Subscription Id and Account ID (if provided) and for a particular date range \n[Command Reference](listRateCards)""")
-@cli_util.option('--subscription-id', required=True, help=u"""Line level Subscription Id""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Line level Subscription Id""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--time-from', type=custom_types.CLI_DATETIME, help=u"""This param is used to get the rate card(s) whose effective start date starts on or after a particular date""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-to', type=custom_types.CLI_DATETIME, help=u"""This param is used to get the rate card(s) whose effective end date ends on or before a particular date""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--part-number', help=u"""This param is used to get the rate card(s) filterd by the partNumber""")
diff --git a/services/osub_subscription/src/oci_cli_subscription/generated/subscription_cli.py b/services/osub_subscription/src/oci_cli_subscription/generated/subscription_cli.py
index ab53d3ca..5f89f139 100644
--- a/services/osub_subscription/src/oci_cli_subscription/generated/subscription_cli.py
+++ b/services/osub_subscription/src/oci_cli_subscription/generated/subscription_cli.py
@@ -33,9 +33,9 @@ def subscription_group():
@subscription_group.command(name=cli_util.override('subscription.list_subscriptions.command_name', 'list'), help=u"""This list API returns all subscriptions for a given plan number or subscription id or buyer email and provides additional parameters to include ratecard and commitment details. This API expects exactly one of the above mentioned parameters as input. If more than one parameters are provided the API will throw a 400 - invalid parameters exception and if no parameters are provided it will throw a 400 - missing parameter exception \n[Command Reference](listSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--plan-number', help=u"""The Plan Number""")
-@cli_util.option('--subscription-id', help=u"""Line level Subscription Id""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""Line level Subscription Id""")
@cli_util.option('--buyer-email', help=u"""Buyer Email Id""")
@cli_util.option('--is-commit-info-required', type=click.BOOL, help=u"""Boolean value to decide whether commitment services will be shown""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. Default: (`50`)
diff --git a/services/osub_usage/src/oci_cli_computed_usage/generated/computedusage_cli.py b/services/osub_usage/src/oci_cli_computed_usage/generated/computedusage_cli.py
index d8770575..992cac60 100644
--- a/services/osub_usage/src/oci_cli_computed_usage/generated/computedusage_cli.py
+++ b/services/osub_usage/src/oci_cli_computed_usage/generated/computedusage_cli.py
@@ -40,7 +40,7 @@ def computed_usage_group():
@computed_usage_group.command(name=cli_util.override('osub_usage.get_computed_usage.command_name', 'get'), help=u"""This is an API which returns Computed Usage corresponding to the id passed \n[Command Reference](getComputedUsage)""")
@cli_util.option('--computed-usage-id', required=True, help=u"""The Computed Usage Id""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--fields', multiple=True, help=u"""Partial response refers to an optimization technique offered by the RESTful web APIs to return only the information (fields) required by the client. This parameter is used to control what fields to return.""")
@cli_util.option('--x-one-origin-region', help=u"""The OCI home region name in case home region is not us-ashburn-1 (IAD), e.g. ap-mumbai-1, us-phoenix-1 etc.""")
@json_skeleton_utils.get_cli_json_input_option({'fields': {'module': 'osub_usage', 'class': 'list[string]'}})
@@ -69,8 +69,8 @@ def get_computed_usage(ctx, from_json, computed_usage_id, compartment_id, fields
@computed_usage_aggregated_summary_group.command(name=cli_util.override('osub_usage.list_computed_usage_aggregateds.command_name', 'list-computed-usage-aggregateds'), help=u"""This is a collection API which returns a list of aggregated computed usage details (there can be multiple Parent Products under a given SubID each of which is represented under Subscription Service Line # in SPM). \n[Command Reference](listComputedUsageAggregateds)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
@cli_util.option('--time-from', required=True, type=custom_types.CLI_DATETIME, help=u"""Initial date to filter Computed Usage data in SPM. In the case of non aggregated data the time period between of fromDate and toDate , expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-to', required=True, type=custom_types.CLI_DATETIME, help=u"""Final date to filter Computed Usage data in SPM, expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--parent-product', help=u"""Product part number for subscribed service line, called parent product.""")
@@ -138,8 +138,8 @@ def list_computed_usage_aggregateds(ctx, from_json, all_pages, page_size, compar
@computed_usage_group.command(name=cli_util.override('osub_usage.list_computed_usages.command_name', 'list'), help=u"""This is a collection API which returns a list of Computed Usages for given filters. \n[Command Reference](listComputedUsages)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription Id is an identifier associated to the service used for filter the Computed Usage in SPM.""")
@cli_util.option('--time-from', required=True, type=custom_types.CLI_DATETIME, help=u"""Initial date to filter Computed Usage data in SPM. In the case of non aggregated data the time period between of fromDate and toDate , expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-to', required=True, type=custom_types.CLI_DATETIME, help=u"""Final date to filter Computed Usage data in SPM, expressed in RFC 3339 timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--parent-product', help=u"""Product part number for subscribed service line, called parent product.""")
diff --git a/services/psa/src/oci_cli_private_service_access/generated/privateserviceaccess_cli.py b/services/psa/src/oci_cli_private_service_access/generated/privateserviceaccess_cli.py
index 5b835d0e..65d881f4 100644
--- a/services/psa/src/oci_cli_private_service_access/generated/privateserviceaccess_cli.py
+++ b/services/psa/src/oci_cli_private_service_access/generated/privateserviceaccess_cli.py
@@ -94,7 +94,7 @@ def cancel_psa_work_request(ctx, from_json, work_request_id, if_match):
@private_service_access_group.command(name=cli_util.override('psa.change_private_service_access_compartment.command_name', 'change-compartment'), help=u"""Moves a PrivateServiceAccess 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](changePrivateServiceAccessCompartment)""")
@cli_util.option('--private-service-access-id', required=True, help=u"""The [OCID] of the PrivateServiceAccess.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the private service access should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the private service access should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELLING", "CANCELLED"]), 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.""")
@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.""")
@@ -154,8 +154,8 @@ def change_private_service_access_compartment(ctx, from_json, wait_for_state, ma
@private_service_access_group.command(name=cli_util.override('psa.create_private_service_access.command_name', 'create'), help=u"""Creates a private service access in the specified subnet (in the consumer's VCN) and the specified compartment for a particular service. \n[Command Reference](createPrivateServiceAccess)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to contain the private service access.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the VCN's subnet where the private service access's VNIC will reside.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to contain the private service access.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN's subnet where the private service access's VNIC will reside.""")
@cli_util.option('--service-id', required=True, help=u"""A unique service identifier for which the private service access was created.""")
@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].
@@ -345,11 +345,11 @@ def get_psa_work_request(ctx, from_json, work_request_id):
@private_service_access_collection_group.command(name=cli_util.override('psa.list_private_service_accesses.command_name', 'list-private-service-accesses'), help=u"""List the private service accesses in the specified compartment. You can optionally filter the list by specifying the [OCID] of a subnet in the cunsumer's VCN. \n[Command Reference](listPrivateServiceAccesses)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@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.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the resource.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--service-id', help=u"""The unique identifier of the OCI service.""")
@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].""")
@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].""")
@@ -583,7 +583,7 @@ def list_psa_work_request_logs(ctx, from_json, all_pages, page_size, work_reques
@work_request_group.command(name=cli_util.override('psa.list_psa_work_requests.command_name', 'list-psa'), help=u"""Lists the PrivateServiceAccess work requests in a compartment. \n[Command Reference](listPsaWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELLING", "CANCELLED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/psql/src/oci_cli_postgresql/generated/postgresql_cli.py b/services/psql/src/oci_cli_postgresql/generated/postgresql_cli.py
index 308ba793..252557a9 100644
--- a/services/psql/src/oci_cli_postgresql/generated/postgresql_cli.py
+++ b/services/psql/src/oci_cli_postgresql/generated/postgresql_cli.py
@@ -117,8 +117,8 @@ def backup_collection_group():
@backup_group.command(name=cli_util.override('psql.backup_copy.command_name', 'backup-copy'), help=u"""Backup Copy Request to copy back up in remote region. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](backupCopy)""")
-@cli_util.option('--backup-id', required=True, help=u"""A unique identifier for the backup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""target compartment to place a new backup""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the backup.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""target compartment to place a new backup""")
@cli_util.option('--regions', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of region names of the remote region""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--retention-period', type=click.INT, help=u"""Retention period in days of the backup copy.""")
@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.""")
@@ -184,8 +184,8 @@ def backup_copy(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_
@backup_group.command(name=cli_util.override('psql.change_backup_compartment.command_name', 'change-compartment'), help=u"""Moves a backup from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeBackupCompartment)""")
-@cli_util.option('--backup-id', required=True, help=u"""A unique identifier for the backup.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the backup will be moved.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the backup.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the backup will be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -246,7 +246,7 @@ def change_backup_compartment(ctx, from_json, wait_for_state, max_wait_seconds,
@configuration_group.command(name=cli_util.override('psql.change_configuration_compartment.command_name', 'change-compartment'), help=u"""Moves a configuration from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeConfigurationCompartment)""")
@cli_util.option('--configuration-id', required=True, help=u"""A unique identifier for the configuration.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the configuration will be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the configuration will be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -276,8 +276,8 @@ def change_configuration_compartment(ctx, from_json, configuration_id, compartme
@db_system_group.command(name=cli_util.override('psql.change_db_system_compartment.command_name', 'change-compartment'), help=u"""Moves a database system from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeDbSystemCompartment)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the database system should be moved.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the database system should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@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.""")
@@ -338,8 +338,8 @@ def change_db_system_compartment(ctx, from_json, wait_for_state, max_wait_second
@backup_group.command(name=cli_util.override('psql.create_backup.command_name', 'create'), help=u"""Creates a new backup. \n[Command Reference](createBackup)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the backup. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the backup.""")
-@cli_util.option('--db-system-id', required=True, help=u"""The ID of the database system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the backup.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the database system.""")
@cli_util.option('--description', help=u"""A description for the backup.""")
@cli_util.option('--retention-period', type=click.INT, help=u"""Backup retention period in days.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -411,7 +411,7 @@ def create_backup(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@configuration_group.command(name=cli_util.override('psql.create_configuration.command_name', 'create'), help=u"""Creates a new configuration. \n[Command Reference](createConfiguration)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the configuration. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the configuration.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the configuration.""")
@cli_util.option('--db-version', required=True, help=u"""Version of the PostgreSQL database.""")
@cli_util.option('--db-configuration-overrides', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""Details about the configuration set.""")
@@ -508,7 +508,7 @@ def create_configuration(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@db_system_group.command(name=cli_util.override('psql.create_db_system.command_name', 'create'), help=u"""Creates a new database system. \n[Command Reference](createDbSystem)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the database system. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the database system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the database system.""")
@cli_util.option('--db-version', required=True, help=u"""Version of database system software.""")
@cli_util.option('--storage-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--shape', required=True, help=u"""The name of the shape for the database instance node. Use the /shapes API for accepted shapes. Example: `VM.Standard.E4.Flex`""")
@@ -619,7 +619,7 @@ def create_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@db_system_group.command(name=cli_util.override('psql.create_db_system_oci_optimized_storage_details.command_name', 'create-db-system-oci-optimized-storage-details'), help=u"""Creates a new database system. \n[Command Reference](createDbSystem)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the database system. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the database system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the database system.""")
@cli_util.option('--db-version', required=True, help=u"""Version of database system software.""")
@cli_util.option('--shape', required=True, help=u"""The name of the shape for the database instance node. Use the /shapes API for accepted shapes. Example: `VM.Standard.E4.Flex`""")
@cli_util.option('--credentials', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -741,7 +741,7 @@ def create_db_system_oci_optimized_storage_details(ctx, from_json, wait_for_stat
@db_system_group.command(name=cli_util.override('psql.create_db_system_backup_source_details.command_name', 'create-db-system-backup-source-details'), help=u"""Creates a new database system. \n[Command Reference](createDbSystem)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the database system. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the database system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the database system.""")
@cli_util.option('--db-version', required=True, help=u"""Version of database system software.""")
@cli_util.option('--storage-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--shape', required=True, help=u"""The name of the shape for the database instance node. Use the /shapes API for accepted shapes. Example: `VM.Standard.E4.Flex`""")
@@ -857,7 +857,7 @@ def create_db_system_backup_source_details(ctx, from_json, wait_for_state, max_w
@db_system_group.command(name=cli_util.override('psql.create_db_system_none_source_details.command_name', 'create-db-system-none-source-details'), help=u"""Creates a new database system. \n[Command Reference](createDbSystem)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly display name for the database system. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the database system.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the database system.""")
@cli_util.option('--db-version', required=True, help=u"""Version of database system software.""")
@cli_util.option('--storage-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--shape', required=True, help=u"""The name of the shape for the database instance node. Use the /shapes API for accepted shapes. Example: `VM.Standard.E4.Flex`""")
@@ -966,7 +966,7 @@ def create_db_system_none_source_details(ctx, from_json, wait_for_state, max_wai
@backup_group.command(name=cli_util.override('psql.delete_backup.command_name', 'delete'), help=u"""Deletes a backup by identifier. \n[Command Reference](deleteBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""A unique identifier for the backup.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the backup.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -1086,7 +1086,7 @@ def delete_configuration(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@db_system_group.command(name=cli_util.override('psql.delete_db_system.command_name', 'delete'), help=u"""Deletes a database system by identifier. \n[Command Reference](deleteDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -1142,7 +1142,7 @@ def delete_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inte
@db_system_group.command(name=cli_util.override('psql.failover_db_system.command_name', 'failover'), help=u"""Runs a failover operation. Optionally, specify the desired AD for regions with three ADs. \n[Command Reference](failoverDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--ad', help=u"""The preferred AD for regions with three availability domains. This parameter is optional. If not set, the AD will be chosen based on availability.""")
@cli_util.option('--db-instance-id', help=u"""The [OCID] of the database instance node. This parameter is optional. If not set, an existing database instance node will be chosen based on availability.""")
@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.""")
@@ -1209,7 +1209,7 @@ def failover_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@backup_group.command(name=cli_util.override('psql.get_backup.command_name', 'get'), help=u"""Gets a backup by identifier. \n[Command Reference](getBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""A unique identifier for the backup.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the backup.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1253,7 +1253,7 @@ def get_configuration(ctx, from_json, configuration_id):
@connection_details_group.command(name=cli_util.override('psql.get_connection_details.command_name', 'get'), help=u"""Gets the database system connection details. \n[Command Reference](getConnectionDetails)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1275,7 +1275,7 @@ def get_connection_details(ctx, from_json, db_system_id):
@db_system_group.command(name=cli_util.override('psql.get_db_system.command_name', 'get'), help=u"""Gets a database system by identifier. \n[Command Reference](getDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--excluded-fields', type=custom_types.CliCaseInsensitiveChoice(["dbConfigurationParams"]), multiple=True, help=u"""A filter to exclude database configuration when this query parameter is set to OverrideDbConfig.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1322,7 +1322,7 @@ def get_default_configuration(ctx, from_json, default_configuration_id):
@db_system_group.command(name=cli_util.override('psql.get_primary_db_instance.command_name', 'get-primary-db-instance'), help=u"""Gets the primary database instance node details. \n[Command Reference](getPrimaryDbInstance)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1366,12 +1366,12 @@ def get_work_request(ctx, from_json, work_request_id):
@backup_collection_group.command(name=cli_util.override('psql.list_backups.command_name', 'list-backups'), help=u"""Returns a list of backups. \n[Command Reference](listBackups)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--time-started', type=custom_types.CLI_DATETIME, help=u"""The start date for getting backups. An [RFC 3339] formatted datetime string.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-ended', type=custom_types.CLI_DATETIME, help=u"""The end date for getting backups. An [RFC 3339] formatted datetime string.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources if their `lifecycleState` matches the given `lifecycleState`.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
-@cli_util.option('--backup-id', help=u"""A unique identifier for the backup.""")
+@cli_util.option('--backup-id', type=custom_types.CLI_OCID, help=u"""A unique identifier for the backup.""")
@cli_util.option('--id', help=u"""A unique identifier for the database system.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1437,7 +1437,7 @@ def list_backups(ctx, from_json, all_pages, page_size, compartment_id, time_star
@configuration_collection_group.command(name=cli_util.override('psql.list_configurations.command_name', 'list-configurations'), help=u"""Returns a list of configurations. \n[Command Reference](listConfigurations)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources if their `lifecycleState` matches the given `lifecycleState`.""")
@cli_util.option('--config-type', type=custom_types.CliCaseInsensitiveChoice(["DEFAULT", "CUSTOM", "COPIED"]), help=u"""A filter to return only resources if their `configType` matches the given `configType`.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@@ -1514,7 +1514,7 @@ def list_configurations(ctx, from_json, all_pages, page_size, compartment_id, li
@db_system_collection_group.command(name=cli_util.override('psql.list_db_systems.command_name', 'list-db-systems'), help=u"""Returns a list of database systems. \n[Command Reference](listDbSystems)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources if their `lifecycleState` matches the given `lifecycleState`.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""A unique identifier for the database system.""")
@@ -1647,7 +1647,7 @@ def list_default_configurations(ctx, from_json, all_pages, page_size, lifecycle_
@shape_summary_group.command(name=cli_util.override('psql.list_shapes.command_name', 'list-shapes'), help=u"""Returns the list of shapes allowed in the region. \n[Command Reference](listShapes)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""A filter to return the feature by the shape name.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -1817,7 +1817,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('psql.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources if their `lifecycleState` matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the request.""")
@@ -1879,7 +1879,7 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, wor
@db_system_group.command(name=cli_util.override('psql.patch_db_system.command_name', 'patch'), help=u"""Modifies the database system by adding or removing database instance nodes. \n[Command Reference](patchDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of patch instructions.
This option is a JSON list with items of type PatchInstruction. For documentation on PatchInstruction please see our API reference: https://docs.cloud.oracle.com/api/#/en/postgresql/20220915/datatypes/PatchInstruction.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1944,7 +1944,7 @@ def patch_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@db_system_group.command(name=cli_util.override('psql.reset_master_user_password.command_name', 'reset-master-user-password'), help=u"""Resets the database system's master password. \n[Command Reference](resetMasterUserPassword)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--password-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -2005,7 +2005,7 @@ def reset_master_user_password(ctx, from_json, wait_for_state, max_wait_seconds,
@db_system_group.command(name=cli_util.override('psql.reset_master_user_password_plain_text_password_details.command_name', 'reset-master-user-password-plain-text-password-details'), help=u"""Resets the database system's master password. \n[Command Reference](resetMasterUserPassword)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--password-details-password', required=True, help=u"""The database system password.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -2069,7 +2069,7 @@ def reset_master_user_password_plain_text_password_details(ctx, from_json, wait_
@db_system_group.command(name=cli_util.override('psql.reset_master_user_password_vault_secret_password_details.command_name', 'reset-master-user-password-vault-secret-password-details'), help=u"""Resets the database system's master password. \n[Command Reference](resetMasterUserPassword)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--password-details-secret-id', required=True, help=u"""The [OCID] of the secret where the password is stored.""")
@cli_util.option('--password-details-secret-version', required=True, help=u"""The secret version of the stored password.""")
@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.""")
@@ -2135,7 +2135,7 @@ def reset_master_user_password_vault_secret_password_details(ctx, from_json, wai
@db_system_group.command(name=cli_util.override('psql.restart_db_instance_in_db_system.command_name', 'restart-db-instance-in'), help=u"""Restarts the running database instance node. \n[Command Reference](restartDbInstanceInDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--db-instance-id', required=True, help=u"""A unique identifier for the database instance, or node.""")
@cli_util.option('--restart-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["NORMAL", "NODE_REBOOT"]), help=u"""The restart type for the database instance.""")
@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.""")
@@ -2198,8 +2198,8 @@ def restart_db_instance_in_db_system(ctx, from_json, wait_for_state, max_wait_se
@db_system_group.command(name=cli_util.override('psql.restore_db_system.command_name', 'restore'), help=u"""Restore the database system. \n[Command Reference](restoreDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
-@cli_util.option('--backup-id', required=True, help=u"""The [OCID] of the database system backup.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the database system backup.""")
@cli_util.option('--ad', help=u"""The desired AD for regions with three ADs. This parameter is optional. If not set, the AD is chosen based on the database system's current AD.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "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.""")
@@ -2263,7 +2263,7 @@ def restore_db_system(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@backup_group.command(name=cli_util.override('psql.update_backup.command_name', 'update'), help=u"""Updates the backup. \n[Command Reference](updateBackup)""")
-@cli_util.option('--backup-id', required=True, help=u"""A unique identifier for the backup.""")
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the backup.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the backup. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A description for the backup.""")
@cli_util.option('--retention-period', type=click.INT, help=u"""Backup retention period in days.""")
@@ -2423,7 +2423,7 @@ def update_configuration(ctx, from_json, force, wait_for_state, max_wait_seconds
@db_system_group.command(name=cli_util.override('psql.update_db_system.command_name', 'update'), help=u"""Updates the database system. \n[Command Reference](updateDbSystem)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name for the database system. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A user-provided description of the database system.""")
@cli_util.option('--shape', help=u"""The name of the shape for the database system nodes. Example: `VM.Standard.E4.Flex`""")
@@ -2531,7 +2531,7 @@ def update_db_system(ctx, from_json, force, wait_for_state, max_wait_seconds, wa
@db_system_group.command(name=cli_util.override('psql.update_db_system_db_instance.command_name', 'update-db-system-db-instance'), help=u"""Updates the database instance node. \n[Command Reference](updateDbSystemDbInstance)""")
-@cli_util.option('--db-system-id', required=True, help=u"""A unique identifier for the database system.""")
+@cli_util.option('--db-system-id', required=True, type=custom_types.CLI_OCID, help=u"""A unique identifier for the database system.""")
@cli_util.option('--db-instance-id', required=True, help=u"""A unique identifier for the database instance node.""")
@cli_util.option('--display-name', help=u"""A user-friendly display name of the database instance node. Avoid entering confidential information.""")
@cli_util.option('--description', help=u"""A user-provided description of the database instance node.""")
diff --git a/services/queue/src/oci_cli_queue_admin/generated/queueadmin_cli.py b/services/queue/src/oci_cli_queue_admin/generated/queueadmin_cli.py
index 6e318ac2..5a46f5e8 100644
--- a/services/queue/src/oci_cli_queue_admin/generated/queueadmin_cli.py
+++ b/services/queue/src/oci_cli_queue_admin/generated/queueadmin_cli.py
@@ -83,7 +83,7 @@ def work_request_log_entry_collection_group():
@queue_group.command(name=cli_util.override('queue_admin.change_queue_compartment.command_name', 'change-compartment'), help=u"""Moves a queue from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeQueueCompartment)""")
@cli_util.option('--queue-id', required=True, help=u"""The unique queue identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -219,7 +219,7 @@ def create_consumer_group(ctx, from_json, wait_for_state, max_wait_seconds, wait
@queue_group.command(name=cli_util.override('queue_admin.create_queue.command_name', 'create'), help=u"""Creates a new queue. \n[Command Reference](createQueue)""")
@cli_util.option('--display-name', required=True, help=u"""The user-friendly name of the queue.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing the queue.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing the queue.""")
@cli_util.option('--retention-in-seconds', type=click.INT, help=u"""The retention period of messages in the queue, in seconds.""")
@cli_util.option('--visibility-in-seconds', type=click.INT, help=u"""The default visibility timeout of the messages consumed from the queue, in seconds.""")
@cli_util.option('--timeout-in-seconds', type=click.INT, help=u"""The default polling timeout of the messages in the queue, in seconds.""")
@@ -551,7 +551,7 @@ def list_consumer_groups(ctx, from_json, all_pages, page_size, lifecycle_state,
@queue_collection_group.command(name=cli_util.override('queue_admin.list_queues.command_name', 'list-queues'), help=u"""Returns a list of queues. \n[Command Reference](listQueues)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "INACTIVE"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The unique queue identifier.""")
@@ -715,7 +715,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_summary_collection_group.command(name=cli_util.override('queue_admin.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@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].""")
@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].""")
diff --git a/services/recovery/src/oci_cli_database_recovery/generated/databaserecovery_cli.py b/services/recovery/src/oci_cli_database_recovery/generated/databaserecovery_cli.py
index 61cce29e..7f3b010f 100644
--- a/services/recovery/src/oci_cli_database_recovery/generated/databaserecovery_cli.py
+++ b/services/recovery/src/oci_cli_database_recovery/generated/databaserecovery_cli.py
@@ -121,7 +121,7 @@ def cancel_protected_database_deletion(ctx, from_json, protected_database_id, if
@protected_database_group.command(name=cli_util.override('recovery.change_protected_database_compartment.command_name', 'change-compartment'), help=u"""Moves a protected database resource from the existing compartment to the specified compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeProtectedDatabaseCompartment)""")
@cli_util.option('--protected-database-id', required=True, help=u"""The protected database OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the protected database should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the protected database should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "WAITING", "IN_PROGRESS", "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.""")
@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.""")
@@ -182,7 +182,7 @@ def change_protected_database_compartment(ctx, from_json, wait_for_state, max_wa
@protected_database_group.command(name=cli_util.override('recovery.change_protected_database_subscription.command_name', 'change-protected-database-subscription'), help=u"""Associates the protected database with a new cloud service environment, such as Microsoft Azure. \n[Command Reference](changeProtectedDatabaseSubscription)""")
@cli_util.option('--protected-database-id', required=True, help=u"""The protected database OCID.""")
-@cli_util.option('--subscription-id', help=u"""The OCID of the new cloud service subscription to which you want to link the protected database.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The OCID of the new cloud service subscription to which you want to link the protected database.""")
@cli_util.option('--is-default', type=click.BOOL, help=u"""Indicates whether it is a Universal Credit Model (UCM) subscription.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "WAITING", "IN_PROGRESS", "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.""")
@@ -249,7 +249,7 @@ def change_protected_database_subscription(ctx, from_json, wait_for_state, max_w
@protection_policy_group.command(name=cli_util.override('recovery.change_protection_policy_compartment.command_name', 'change-compartment'), help=u"""Moves a protection policy resource from the existing compartment to the specified compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeProtectionPolicyCompartment)""")
@cli_util.option('--protection-policy-id', required=True, help=u"""The protection policy OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the Protection Policy should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the Protection Policy should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "WAITING", "IN_PROGRESS", "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.""")
@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.""")
@@ -310,7 +310,7 @@ def change_protection_policy_compartment(ctx, from_json, wait_for_state, max_wai
@recovery_service_subnet_group.command(name=cli_util.override('recovery.change_recovery_service_subnet_compartment.command_name', 'change-compartment'), help=u"""Moves a recovery service subnet resource from the existing compartment to the specified compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeRecoveryServiceSubnetCompartment)""")
@cli_util.option('--recovery-service-subnet-id', required=True, help=u"""The recovery service subnet OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the Recovery Service subnet should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the Recovery Service subnet should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "WAITING", "IN_PROGRESS", "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.""")
@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.""")
@@ -375,14 +375,14 @@ def change_recovery_service_subnet_compartment(ctx, from_json, wait_for_state, m
@cli_util.option('--password', required=True, help=u"""Password credential which can be used to connect to Protected Database. It must contain at least 2 uppercase, 2 lowercase, 2 numeric and 2 special characters. The special characters must be underscore (_), number sign (#) or hyphen (-). The password must not contain the username \"admin\", regardless of casing.""")
@cli_util.option('--protection-policy-id', required=True, help=u"""The OCID of the protection policy associated with the protected database.""")
@cli_util.option('--recovery-service-subnets', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of recovery service subnet resources associated with the protected database.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the protected database.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the protected database.""")
@cli_util.option('--database-size', type=custom_types.CliCaseInsensitiveChoice(["XS", "S", "M", "L", "XL", "XXL", "AUTO"]), help=u"""The size of the protected database. XS - Less than 5GB, S - 5GB to 50GB, M - 50GB to 500GB, L - 500GB to 1TB, XL - 1TB to 5TB, XXL - Greater than 5TB.""")
-@cli_util.option('--database-id', help=u"""The OCID of the protected database.""")
+@cli_util.option('--database-id', type=custom_types.CLI_OCID, help=u"""The OCID of the protected database.""")
@cli_util.option('--database-size-in-gbs', type=click.INT, help=u"""The size of the database, in gigabytes.""")
@cli_util.option('--change-rate', help=u"""The percentage of data changes that exist in the database between successive incremental backups.""")
@cli_util.option('--compression-ratio', help=u"""The compression ratio of the protected database. The compression ratio represents the ratio of compressed block size to expanded block size.""")
@cli_util.option('--is-redo-logs-shipped', type=click.BOOL, help=u"""The value TRUE indicates that the protected database is configured to use Real-time data protection, and redo-data is sent from the protected database to Recovery Service. Real-time data protection substantially reduces the window of potential data loss that exists between successive archived redo log backups.""")
-@cli_util.option('--subscription-id', help=u"""The OCID of the cloud service subscription to which you want to link the protected database. For example, specify the Microsoft Azure subscription ID if you want to provision the protected database in Azure.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The OCID of the cloud service subscription to which you want to link the protected database. For example, specify the Microsoft Azure subscription ID if you want to provision the protected database in Azure.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`. For more information, see [Resource Tags]""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--opc-dry-run', type=click.BOOL, help=u"""Indicates if the request is to test the preparedness for creating a protected database, without actually creating a protected database.
@@ -484,7 +484,7 @@ def create_protected_database(ctx, from_json, wait_for_state, max_wait_seconds,
@protection_policy_group.command(name=cli_util.override('recovery.create_protection_policy.command_name', 'create'), help=u"""Creates a new Protection Policy. \n[Command Reference](createProtectionPolicy)""")
@cli_util.option('--display-name', required=True, help=u"""A user provided name for the protection policy. The 'displayName' does not have to be unique, and it can be modified. Avoid entering confidential information.""")
@cli_util.option('--backup-retention-period-in-days', required=True, type=click.INT, help=u"""The maximum number of days to retain backups for a protected database.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--must-enforce-cloud-locality', type=click.BOOL, help=u"""Indicates whether the protection policy enforces Recovery Service to retain backups in the same cloud service environment where your Oracle Database is provisioned. This parameter is applicable if your Oracle Database runs in a different cloud service environment, such as Microsoft Azure. If you set the mustEnforceCloudLocality parameter to TRUE, then Recovery Service stores the database backups locally in the same cloud service environment where the database resides. For example, if your Oracle Database is provisioned on Microsoft Azure, then Recovery Service stores the database backups in Azure. Note: You cannot change the mustEnforceCloudLocality setting for a protection policy after you create it.""")
@cli_util.option('--policy-locked-date-time', help=u"""An RFC3339 formatted datetime string that specifies the exact date and time for the retention lock to take effect and permanently lock the retention period defined in the policy.
@@ -558,9 +558,9 @@ def create_protection_policy(ctx, from_json, wait_for_state, max_wait_seconds, w
@recovery_service_subnet_group.command(name=cli_util.override('recovery.create_recovery_service_subnet.command_name', 'create'), help=u"""Creates a new Recovery Service Subnet. \n[Command Reference](createRecoveryServiceSubnet)""")
@cli_util.option('--display-name', required=True, help=u"""A user-provided name for the recovery service subnet. The 'displayName' does not have to be unique, and it can be modified. Avoid entering confidential information.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The OCID of the virtual cloud network (VCN) that contains the recovery service subnet. You can create a single recovery service subnet per VCN.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
-@cli_util.option('--subnet-id', help=u"""Deprecated. One of the subnets associated with the Recovery Service subnet.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the virtual cloud network (VCN) that contains the recovery service subnet. You can create a single recovery service subnet per VCN.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""Deprecated. One of the subnets associated with the Recovery Service subnet.""")
@cli_util.option('--subnets', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of OCIDs of the subnets associated with the Recovery Service subnet.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of network security group (NSG) OCIDs that are associated with the Recovery Service subnet. You can specify a maximum of 5 unique OCIDs, which implies that you can associate a maximum of 5 NSGs to each Recovery Service subnet. Specify an empty array if you want to remove all the associated NSGs from a Recovery Service subnet. See [Network Security Groups] for more information.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -949,7 +949,7 @@ def get_work_request(ctx, from_json, work_request_id):
@protected_database_collection_group.command(name=cli_util.override('recovery.list_protected_databases.command_name', 'list-protected-databases'), help=u"""Lists the protected databases based on the specified parameters. \n[Command Reference](listProtectedDatabases)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETE_SCHEDULED", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only the resources that match the specified lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire 'displayname' given.""")
@cli_util.option('--id', help=u"""The protected database OCID.""")
@@ -1018,7 +1018,7 @@ def list_protected_databases(ctx, from_json, all_pages, page_size, compartment_i
@protection_policy_collection_group.command(name=cli_util.override('recovery.list_protection_policies.command_name', 'list-protection-policies'), help=u"""Gets a list of protection policies based on the specified parameters. \n[Command Reference](listProtectionPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETE_SCHEDULED", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire 'displayname' given.""")
@cli_util.option('--protection-policy-id', help=u"""The protection policy OCID.""")
@@ -1084,11 +1084,11 @@ def list_protection_policies(ctx, from_json, all_pages, page_size, compartment_i
@recovery_service_subnet_collection_group.command(name=cli_util.override('recovery.list_recovery_service_subnets.command_name', 'list-recovery-service-subnets'), help=u"""Returns a list of Recovery Service Subnets. \n[Command Reference](listRecoveryServiceSubnets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETE_SCHEDULED", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only the resources that match the specified lifecycle state.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire 'displayname' given.""")
@cli_util.option('--id', help=u"""The recovery service subnet OCID.""")
-@cli_util.option('--vcn-id', help=u"""The OCID of the virtual cloud network (VCN) associated with the recovery service subnet.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The OCID of the virtual cloud network (VCN) associated with the recovery service subnet.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return per page.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (ASC) or descending (DESC). Allowed values are: - ASC - DESC""")
@@ -1264,7 +1264,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_summary_collection_group.command(name=cli_util.override('recovery.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--work-request-id', help=u"""Unique Oracle-assigned identifier of the work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "WAITING", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
diff --git a/services/redis/src/oci_cli_oci_cache_config_set/generated/ocicacheconfigset_cli.py b/services/redis/src/oci_cli_oci_cache_config_set/generated/ocicacheconfigset_cli.py
index 83d305d3..b5d6683b 100644
--- a/services/redis/src/oci_cli_oci_cache_config_set/generated/ocicacheconfigset_cli.py
+++ b/services/redis/src/oci_cli_oci_cache_config_set/generated/ocicacheconfigset_cli.py
@@ -48,7 +48,7 @@ def associated_oci_cache_cluster_summary_group():
@oci_cache_config_set_group.command(name=cli_util.override('oci_cache_config_set.change_oci_cache_config_set_compartment.command_name', 'change-compartment'), help=u"""Moves an OCI Cache Config Set into a different compartment within the same tenancy. \n[Command Reference](changeOciCacheConfigSetCompartment)""")
@cli_util.option('--oci-cache-config-set-id', required=True, help=u"""Unique OCI Cache Config Set identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@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.""")
@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.""")
@@ -109,7 +109,7 @@ def change_oci_cache_config_set_compartment(ctx, from_json, wait_for_state, max_
@oci_cache_config_set_group.command(name=cli_util.override('oci_cache_config_set.create_oci_cache_config_set.command_name', 'create'), help=u"""Create a new OCI Cache Config Set for the given OCI cache engine version. \n[Command Reference](createOciCacheConfigSet)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the OCI Cache Config Set.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the OCI Cache Config Set.""")
@cli_util.option('--software-version', required=True, help=u"""The OCI Cache engine version that the cluster is running.""")
@cli_util.option('--configuration-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""Description for the custom OCI Cache Config Set.""")
@@ -314,7 +314,7 @@ def list_associated_oci_cache_clusters(ctx, from_json, all_pages, page_size, oci
@oci_cache_config_set_summary_group.command(name=cli_util.override('oci_cache_config_set.list_oci_cache_config_sets.command_name', 'list-oci-cache-config-sets'), help=u"""Lists the OCI Cache Config Sets in the specified compartment. \n[Command Reference](listOciCacheConfigSets)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return the OCI Cache Config Set resources, whose lifecycle state matches with the given lifecycle state.""")
@cli_util.option('--software-version', type=custom_types.CliCaseInsensitiveChoice(["V7_0_5", "REDIS_7_0", "VALKEY_7_2"]), help=u"""A filter to return the OCI Cache Config Set resources, whose software version matches with the given software version.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
diff --git a/services/redis/src/oci_cli_oci_cache_default_config_set/generated/ocicachedefaultconfigset_cli.py b/services/redis/src/oci_cli_oci_cache_default_config_set/generated/ocicachedefaultconfigset_cli.py
index 141fcff8..a8bb815e 100644
--- a/services/redis/src/oci_cli_oci_cache_default_config_set/generated/ocicachedefaultconfigset_cli.py
+++ b/services/redis/src/oci_cli_oci_cache_default_config_set/generated/ocicachedefaultconfigset_cli.py
@@ -40,7 +40,7 @@ def oci_cache_default_config_set_summary_group():
@oci_cache_default_config_set_group.command(name=cli_util.override('oci_cache_default_config_set.get_oci_cache_default_config_set.command_name', 'get'), help=u"""Retrieves the specified OCI Cache Default Config Set. \n[Command Reference](getOciCacheDefaultConfigSet)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--oci-cache-default-config-set-id', required=True, help=u"""Unique OCI Cache Default Config Set identifier.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -64,7 +64,7 @@ def get_oci_cache_default_config_set(ctx, from_json, compartment_id, oci_cache_d
@oci_cache_default_config_set_summary_group.command(name=cli_util.override('oci_cache_default_config_set.list_oci_cache_default_config_sets.command_name', 'list-oci-cache-default-config-sets'), help=u"""Lists the OCI Cache Default Config Sets in the specified compartment. \n[Command Reference](listOciCacheDefaultConfigSets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--id', help=u"""Unique OCI Cache Default Config Set identifier.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), help=u"""A filter to return the OCI Cache Default Config Set resources, whose lifecycle state matches with the given lifecycle state.""")
@cli_util.option('--software-version', type=custom_types.CliCaseInsensitiveChoice(["V7_0_5", "REDIS_7_0", "VALKEY_7_2"]), help=u"""A filter to return the OCI Cache Config Set resources, whose software version matches with the given software version.""")
diff --git a/services/redis/src/oci_cli_oci_cache_user/generated/ocicacheuser_cli.py b/services/redis/src/oci_cli_oci_cache_user/generated/ocicacheuser_cli.py
index a44fe6c1..a290a349 100644
--- a/services/redis/src/oci_cli_oci_cache_user/generated/ocicacheuser_cli.py
+++ b/services/redis/src/oci_cli_oci_cache_user/generated/ocicacheuser_cli.py
@@ -55,7 +55,7 @@ def oci_cache_user_group():
@oci_cache_user_group.command(name=cli_util.override('oci_cache_user.change_oci_cache_user_compartment.command_name', 'change-compartment'), help=u"""Moves an OCI Cache User from one compartment to another within the same tenancy. \n[Command Reference](changeOciCacheUserCompartment)""")
@cli_util.option('--oci-cache-user-id', required=True, help=u"""A filter to return only resources, that match with the given OCI cache user ID (OCID).""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment into which the OCI cache user will be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment into which the OCI cache user will be moved.""")
@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.""")
@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.""")
@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.""")
@@ -117,7 +117,7 @@ def change_oci_cache_user_compartment(ctx, from_json, wait_for_state, max_wait_s
@create_oci_cache_user_details_group.command(name=cli_util.override('oci_cache_user.create_oci_cache_user.command_name', 'create-oci-cache-user'), help=u"""Creates a new OCI Cache user. OCI Cache user is required to authenticate to OCI Cache cluster. \n[Command Reference](createOciCacheUser)""")
@cli_util.option('--name', required=True, help=u"""OCI cache user name is required to connect to an OCI cache cluster.""")
@cli_util.option('--description', required=True, help=u"""Description of OCI cache user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCI cache user compartment ID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCI cache user compartment ID.""")
@cli_util.option('--authentication-mode', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--acl-string', required=True, help=u"""ACL string of OCI cache user.""")
@cli_util.option('--status', help=u"""OCI cache user status. ON enables and OFF disables the OCI cache user to login to the associated clusters. Default value is ON.""")
@@ -190,7 +190,7 @@ def create_oci_cache_user(ctx, from_json, wait_for_state, max_wait_seconds, wait
@create_oci_cache_user_details_group.command(name=cli_util.override('oci_cache_user.create_oci_cache_user_iam_authentication_mode.command_name', 'create-oci-cache-user-iam-authentication-mode'), help=u"""Creates a new OCI Cache user. OCI Cache user is required to authenticate to OCI Cache cluster. \n[Command Reference](createOciCacheUser)""")
@cli_util.option('--name', required=True, help=u"""OCI cache user name is required to connect to an OCI cache cluster.""")
@cli_util.option('--description', required=True, help=u"""Description of OCI cache user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCI cache user compartment ID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCI cache user compartment ID.""")
@cli_util.option('--acl-string', required=True, help=u"""ACL string of OCI cache user.""")
@cli_util.option('--status', help=u"""OCI cache user status. ON enables and OFF disables the OCI cache user to login to the associated clusters. Default value is ON.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -264,7 +264,7 @@ def create_oci_cache_user_iam_authentication_mode(ctx, from_json, wait_for_state
@create_oci_cache_user_details_group.command(name=cli_util.override('oci_cache_user.create_oci_cache_user_password_authentication_mode.command_name', 'create-oci-cache-user-password-authentication-mode'), help=u"""Creates a new OCI Cache user. OCI Cache user is required to authenticate to OCI Cache cluster. \n[Command Reference](createOciCacheUser)""")
@cli_util.option('--name', required=True, help=u"""OCI cache user name is required to connect to an OCI cache cluster.""")
@cli_util.option('--description', required=True, help=u"""Description of OCI cache user.""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCI cache user compartment ID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCI cache user compartment ID.""")
@cli_util.option('--acl-string', required=True, help=u"""ACL string of OCI cache user.""")
@cli_util.option('--authentication-mode-hashed-passwords', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""SHA-256 hashed passwords for OCI Cache user,required if authenticationType is set to PASSWORD.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--status', help=u"""OCI cache user status. ON enables and OFF disables the OCI cache user to login to the associated clusters. Default value is ON.""")
@@ -417,7 +417,7 @@ def get_oci_cache_user(ctx, from_json, oci_cache_user_id):
@attached_oci_cache_cluster_group.command(name=cli_util.override('oci_cache_user.list_attached_redis_clusters.command_name', 'list-attached-redis-clusters'), help=u"""Gets a list of associated redis cluster for an OCI cache user. \n[Command Reference](listAttachedRedisClusters)""")
@cli_util.option('--oci-cache-user-id', required=True, help=u"""A filter to return only resources, that match with the given OCI cache user ID (OCID).""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -479,7 +479,7 @@ def list_attached_redis_clusters(ctx, from_json, all_pages, page_size, oci_cache
@oci_cache_user_summary_group.command(name=cli_util.override('oci_cache_user.list_oci_cache_users.command_name', 'list-oci-cache-users'), help=u"""Lists the OCI Cache users based on the supplied parameters. \n[Command Reference](listOciCacheUsers)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--name', help=u"""A filter to return the resources that match with the given OCI cache user name.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return the resources, whose lifecycleState matches with the given lifecycleState.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/redis/src/oci_cli_redis_cluster/generated/rediscluster_cli.py b/services/redis/src/oci_cli_redis_cluster/generated/rediscluster_cli.py
index b7032302..b87a41ba 100644
--- a/services/redis/src/oci_cli_redis_cluster/generated/rediscluster_cli.py
+++ b/services/redis/src/oci_cli_redis_cluster/generated/rediscluster_cli.py
@@ -163,7 +163,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@redis_cluster_group.command(name=cli_util.override('redis_cluster.change_redis_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves an OCI Cache cluster into a different compartment within the same tenancy. A cluster is a memory-based storage solution. For more information, see [OCI Cache]. \n[Command Reference](changeRedisClusterCompartment)""")
@cli_util.option('--redis-cluster-id', required=True, help=u"""The [OCID] of the cluster.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the cluster should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the cluster should be moved.""")
@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.""")
@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.""")
@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.""")
@@ -224,11 +224,11 @@ def change_redis_cluster_compartment(ctx, from_json, wait_for_state, max_wait_se
@redis_cluster_group.command(name=cli_util.override('redis_cluster.create_redis_cluster.command_name', 'create'), help=u"""Creates a new OCI Cache cluster. A cluster is a memory-based storage solution. For more information, see [OCI Cache]. \n[Command Reference](createRedisCluster)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment that contains the cluster.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment that contains the cluster.""")
@cli_util.option('--node-count', required=True, type=click.INT, help=u"""The number of nodes per shard in the cluster when clusterMode is SHARDED. This is the total number of nodes when clusterMode is NONSHARDED.""")
@cli_util.option('--software-version', required=True, help=u"""The OCI Cache engine version that the cluster is running.""")
@cli_util.option('--node-memory-in-gbs', required=True, type=click.FLOAT, help=u"""The amount of memory allocated to the cluster's nodes, in gigabytes.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the cluster's subnet.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the cluster's subnet.""")
@cli_util.option('--oci-cache-config-set-id', help=u"""The ID of the corresponding OCI Cache Config Set for the cluster.""")
@cli_util.option('--cluster-mode', help=u"""Specifies whether the cluster is sharded or non-sharded.""")
@cli_util.option('--shard-count', type=click.INT, help=u"""The number of shards in sharded cluster. Only applicable when clusterMode is SHARDED.""")
@@ -478,7 +478,7 @@ def get_work_request(ctx, from_json, work_request_id):
@attached_oci_cache_user_group.command(name=cli_util.override('redis_cluster.list_attached_oci_cache_users.command_name', 'list'), help=u"""Gets a list of associated OCI cache users for a redis cluster. \n[Command Reference](listAttachedOciCacheUsers)""")
@cli_util.option('--redis-cluster-id', required=True, help=u"""The [OCID] of the cluster.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@@ -600,7 +600,7 @@ def list_redis_cluster_nodes(ctx, from_json, all_pages, page_size, redis_cluster
@redis_cluster_summary_group.command(name=cli_util.override('redis_cluster.list_redis_clusters.command_name', 'list-redis-clusters'), help=u"""Lists the OCI Cache clusters in the specified compartment. A cluster is a memory-based storage solution. For more information, see [OCI Cache]. \n[Command Reference](listRedisClusters)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The [OCID] of the cluster.""")
@@ -776,7 +776,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('redis_cluster.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/resource_analytics/src/oci_cli_resource_analytics_instance/generated/resourceanalyticsinstance_cli.py b/services/resource_analytics/src/oci_cli_resource_analytics_instance/generated/resourceanalyticsinstance_cli.py
index 18f498c1..84a3be9f 100644
--- a/services/resource_analytics/src/oci_cli_resource_analytics_instance/generated/resourceanalyticsinstance_cli.py
+++ b/services/resource_analytics/src/oci_cli_resource_analytics_instance/generated/resourceanalyticsinstance_cli.py
@@ -90,7 +90,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@resource_analytics_instance_group.command(name=cli_util.override('resource_analytics_instance.change_resource_analytics_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a ResourceAnalyticsInstance 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](changeResourceAnalyticsInstanceCompartment)""")
@cli_util.option('--resource-analytics-instance-id', required=True, help=u"""The [OCID] of the ResourceAnalyticsInstance.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the ResourceAnalyticsInstance to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the ResourceAnalyticsInstance to.""")
@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.""")
@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.""")
@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.""")
@@ -150,9 +150,9 @@ def change_resource_analytics_instance_compartment(ctx, from_json, wait_for_stat
@resource_analytics_instance_group.command(name=cli_util.override('resource_analytics_instance.create_resource_analytics_instance.command_name', 'create'), help=u"""Creates a ResourceAnalyticsInstance. \n[Command Reference](createResourceAnalyticsInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the ResourceAnalyticsInstance in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the ResourceAnalyticsInstance in.""")
@cli_util.option('--adw-admin-password', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the resource is associated with.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.""")
@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.""")
@cli_util.option('--description', help=u"""A description of the ResourceAnalyticsInstance instance.""")
@cli_util.option('--is-mutual-tls-required', type=click.BOOL, help=u"""Require mutual TLS (mTLS) when authenticating connections to the ADW database.""")
@@ -241,8 +241,8 @@ def create_resource_analytics_instance(ctx, from_json, wait_for_state, max_wait_
@resource_analytics_instance_group.command(name=cli_util.override('resource_analytics_instance.create_resource_analytics_instance_plain_text_password_details.command_name', 'create'), help=u"""Creates a ResourceAnalyticsInstance. \n[Command Reference](createResourceAnalyticsInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the ResourceAnalyticsInstance in.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the resource is associated with.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the ResourceAnalyticsInstance in.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.""")
@cli_util.option('--adw-admin-password-password', required=True, help=u"""Password for the ADW to be created in User Tenancy. The password must be between 12 and 30 characters long, and must contain at least 1 uppercase, 1 lowercase, and 1 numeric character. It cannot contain the double quote symbol (\") or the username \"admin\", regardless of casing.""")
@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.""")
@cli_util.option('--description', help=u"""A description of the ResourceAnalyticsInstance instance.""")
@@ -335,8 +335,8 @@ def create_resource_analytics_instance_plain_text_password_details(ctx, from_jso
@resource_analytics_instance_group.command(name=cli_util.override('resource_analytics_instance.create_resource_analytics_instance_vault_secret_password_details.command_name', 'create'), help=u"""Creates a ResourceAnalyticsInstance. \n[Command Reference](createResourceAnalyticsInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the ResourceAnalyticsInstance in.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet the resource is associated with.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the ResourceAnalyticsInstance in.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet the resource is associated with.""")
@cli_util.option('--adw-admin-password-secret-id', required=True, help=u"""The [OCID] of the vault secret to use as the ADW admin password.""")
@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.""")
@cli_util.option('--description', help=u"""A description of the ResourceAnalyticsInstance instance.""")
@@ -529,7 +529,7 @@ def get_work_request(ctx, from_json, work_request_id):
@resource_analytics_instance_collection_group.command(name=cli_util.override('resource_analytics_instance.list_resource_analytics_instances.command_name', 'list'), help=u"""Gets a list of ResourceAnalyticsInstances. \n[Command Reference](listResourceAnalyticsInstances)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly.""")
@cli_util.option('--id', help=u"""The [OCID] of the ResourceAnalyticsInstance.""")
@@ -705,7 +705,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('resource_analytics_instance.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/services/resource_analytics/src/oci_cli_tenancy_attachment/generated/tenancyattachment_cli.py b/services/resource_analytics/src/oci_cli_tenancy_attachment/generated/tenancyattachment_cli.py
index f4528613..11b76135 100644
--- a/services/resource_analytics/src/oci_cli_tenancy_attachment/generated/tenancyattachment_cli.py
+++ b/services/resource_analytics/src/oci_cli_tenancy_attachment/generated/tenancyattachment_cli.py
@@ -43,7 +43,7 @@ def tenancy_attachment_group():
@tenancy_attachment_group.command(name=cli_util.override('tenancy_attachment.create_tenancy_attachment.command_name', 'create'), help=u"""Creates a TenancyAttachment. \n[Command Reference](createTenancyAttachment)""")
@cli_util.option('--resource-analytics-instance-id', required=True, help=u"""The [OCID] of the ResourceAnalyticsInstance associated with this TenancyAttachment.""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The [OCID] of the tenancy associated with this TenancyAttachment.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy associated with this TenancyAttachment.""")
@cli_util.option('--description', help=u"""A description of the tenancy.""")
@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.""")
@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.""")
diff --git a/services/resource_manager/src/oci_cli_resource_manager/generated/resourcemanager_cli.py b/services/resource_manager/src/oci_cli_resource_manager/generated/resourcemanager_cli.py
index f039fd9d..5922e79a 100644
--- a/services/resource_manager/src/oci_cli_resource_manager/generated/resourcemanager_cli.py
+++ b/services/resource_manager/src/oci_cli_resource_manager/generated/resourcemanager_cli.py
@@ -187,7 +187,7 @@ def cancel_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_s
@configuration_source_provider_group.command(name=cli_util.override('resource_manager.change_configuration_source_provider_compartment.command_name', 'change-compartment'), help=u"""Moves a configuration source provider into a different compartment within the same tenancy. For more information, see [Moving a Configuration Source Provider]. \n[Command Reference](changeConfigurationSourceProviderCompartment)""")
@cli_util.option('--configuration-source-provider-id', required=True, help=u"""The [OCID] of the configuration source provider.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the configuration source provider to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the configuration source provider to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -218,7 +218,7 @@ def change_configuration_source_provider_compartment(ctx, from_json, configurati
@private_endpoint_group.command(name=cli_util.override('resource_manager.change_private_endpoint_compartment.command_name', 'change-compartment'), help=u"""Moves a private endpoint to a different compartment within the same tenancy. For more information, see [Moving a Private Endpoint]. \n[Command Reference](changePrivateEndpointCompartment)""")
@cli_util.option('--private-endpoint-id', required=True, help=u"""The [OCID] of the private endpoint.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the private endpoint to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the private endpoint to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -249,7 +249,7 @@ def change_private_endpoint_compartment(ctx, from_json, private_endpoint_id, com
@stack_group.command(name=cli_util.override('resource_manager.change_stack_compartment.command_name', 'change-compartment'), help=u"""Moves a stack (and its associated jobs) into a different compartment within the same tenancy. For more information, see [Moving a Stack]. \n[Command Reference](changeStackCompartment)""")
@cli_util.option('--stack-id', required=True, help=u"""The [OCID] of the stack.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the Stack should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the Stack should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -310,7 +310,7 @@ def change_stack_compartment(ctx, from_json, wait_for_state, max_wait_seconds, w
@template_group.command(name=cli_util.override('resource_manager.change_template_compartment.command_name', 'change-compartment'), help=u"""Moves a template into a different compartment within the same tenancy. For more information, see [Moving a Private Template]. \n[Command Reference](changeTemplateCompartment)""")
@cli_util.option('--template-id', required=True, help=u"""The [OCID] of the template.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the configuration source provider to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the configuration source provider to.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -341,7 +341,7 @@ def change_template_compartment(ctx, from_json, template_id, compartment_id, if_
@configuration_source_provider_group.command(name=cli_util.override('resource_manager.create_configuration_source_provider.command_name', 'create'), help=u"""Creates a configuration source provider in the specified compartment. For more information, see [Creating a Configuration Source Provider]. \n[Command Reference](createConfigurationSourceProvider)""")
@cli_util.option('--config-source-provider-type', required=True, help=u"""The type of configuration source provider. The `GITLAB_ACCESS_TOKEN` type corresponds to GitLab. The `GITHUB_ACCESS_TOKEN` type corresponds to GitHub. The `BITBUCKET_CLOUD_USERNAME_APPPASSWORD` type corresponds to Bitbucket Cloud. The `BITBUCKET_SERVER_ACCESS_TOKEN` type corresponds to Bitbucket Server.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
@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.""")
@cli_util.option('--description', help=u"""Description of the configuration source provider. Avoid entering confidential information.""")
@cli_util.option('--private-server-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -415,7 +415,7 @@ def create_configuration_source_provider(ctx, from_json, wait_for_state, max_wai
@configuration_source_provider_group.command(name=cli_util.override('resource_manager.create_configuration_source_provider_create_gitlab_access_token_configuration_source_provider_details.command_name', 'create-configuration-source-provider-create-gitlab-access-token-configuration-source-provider-details'), help=u"""Creates a configuration source provider in the specified compartment. For more information, see [Creating a Configuration Source Provider]. \n[Command Reference](createConfigurationSourceProvider)""")
@cli_util.option('--api-endpoint', required=True, help=u"""The Git service endpoint. Example: `https://gitlab.com`""")
@cli_util.option('--access-token', required=True, help=u"""The personal access token to be configured on the GitLab repository. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
@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.""")
@cli_util.option('--description', help=u"""Description of the configuration source provider. Avoid entering confidential information.""")
@cli_util.option('--private-server-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -492,8 +492,8 @@ def create_configuration_source_provider_create_gitlab_access_token_configuratio
@configuration_source_provider_group.command(name=cli_util.override('resource_manager.create_configuration_source_provider_create_bitbucket_cloud_username_app_password_configuration_source_provider_details.command_name', 'create-configuration-source-provider-create-bitbucket-cloud-username-app-password-configuration-source-provider-details'), help=u"""Creates a configuration source provider in the specified compartment. For more information, see [Creating a Configuration Source Provider]. \n[Command Reference](createConfigurationSourceProvider)""")
@cli_util.option('--api-endpoint', required=True, help=u"""The Bitbucket cloud service endpoint. Example: `https://bitbucket.org/`""")
@cli_util.option('--username', required=True, help=u"""The username for the user of the Bitbucket cloud repository.""")
-@cli_util.option('--secret-id', required=True, help=u"""The secret ocid which is used to authorize the user.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The secret ocid which is used to authorize the user.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
@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.""")
@cli_util.option('--description', help=u"""Description of the configuration source provider. Avoid entering confidential information.""")
@cli_util.option('--private-server-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -571,7 +571,7 @@ def create_configuration_source_provider_create_bitbucket_cloud_username_app_pas
@configuration_source_provider_group.command(name=cli_util.override('resource_manager.create_configuration_source_provider_create_github_access_token_configuration_source_provider_details.command_name', 'create-configuration-source-provider-create-github-access-token-configuration-source-provider-details'), help=u"""Creates a configuration source provider in the specified compartment. For more information, see [Creating a Configuration Source Provider]. \n[Command Reference](createConfigurationSourceProvider)""")
@cli_util.option('--api-endpoint', required=True, help=u"""The GitHub service endpoint. Example: `https://github.com/`""")
@cli_util.option('--access-token', required=True, help=u"""The personal access token to be configured on the GitHub repository. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
@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.""")
@cli_util.option('--description', help=u"""Description of the configuration source provider. Avoid entering confidential information.""")
@cli_util.option('--private-server-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -646,9 +646,9 @@ def create_configuration_source_provider_create_github_access_token_configuratio
@configuration_source_provider_group.command(name=cli_util.override('resource_manager.create_configuration_source_provider_create_bitbucket_server_access_token_configuration_source_provider_details.command_name', 'create-configuration-source-provider-create-bitbucket-server-access-token-configuration-source-provider-details'), help=u"""Creates a configuration source provider in the specified compartment. For more information, see [Creating a Configuration Source Provider]. \n[Command Reference](createConfigurationSourceProvider)""")
-@cli_util.option('--secret-id', required=True, help=u"""The secret ocid which is used to authorize the user.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The secret ocid which is used to authorize the user.""")
@cli_util.option('--api-endpoint', required=True, help=u"""The Bitbucket Server service endpoint Example: `https://bitbucket.org/`""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the configuration source provider.""")
@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.""")
@cli_util.option('--description', help=u"""Description of the configuration source provider. Avoid entering confidential information.""")
@cli_util.option('--private-server-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1296,10 +1296,10 @@ def create_job_create_destroy_job_operation_details(ctx, from_json, wait_for_sta
@private_endpoint_group.command(name=cli_util.override('resource_manager.create_private_endpoint.command_name', 'create'), help=u"""Creates a private endpoint in the specified compartment. For more information, see [Creating a Private Endpoint]. \n[Command Reference](createPrivateEndpoint)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing this private endpoint.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing this private endpoint.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--vcn-id', required=True, help=u"""The [OCID] of the VCN for the private endpoint.""")
-@cli_util.option('--subnet-id', required=True, help=u"""The [OCID] of the subnet within the VCN for the private endpoint.""")
+@cli_util.option('--vcn-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN for the private endpoint.""")
+@cli_util.option('--subnet-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet within the VCN for the private endpoint.""")
@cli_util.option('--description', help=u"""Description of the private endpoint. Avoid entering confidential information.""")
@cli_util.option('--dns-zones', type=custom_types.CLI_COMPLEX_TYPE, help=u"""DNS Proxy forwards any DNS FQDN queries over into the consumer DNS resolver if the DNS FQDN is included in the dns zones list otherwise it goes to service provider VCN resolver.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--nsg-id-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The [OCIDs] of [network security groups (NSGs)] for the private endpoint. Order does not matter.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1385,7 +1385,7 @@ def create_private_endpoint(ctx, from_json, wait_for_state, max_wait_seconds, wa
@stack_group.command(name=cli_util.override('resource_manager.create_stack.command_name', 'create'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
@cli_util.option('--description', help=u"""Description of the stack.""")
@@ -1468,7 +1468,7 @@ def create_stack(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_dev_ops_config_source_details.command_name', 'create-stack-create-dev-ops-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-project-id', required=True, help=u"""The [OCID] of the [DevOps project].""")
@cli_util.option('--config-source-repository-id', required=True, help=u"""The [OCID] of the [DevOps repository].""")
@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.""")
@@ -1564,7 +1564,7 @@ def create_stack_create_dev_ops_config_source_details(ctx, from_json, wait_for_s
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_bitbucket_cloud_config_source_details.command_name', 'create-stack-create-bitbucket-cloud-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-configuration-source-provider-id', required=True, help=u"""The [OCID] of the Bitbucket Cloud configuration source.""")
@cli_util.option('--config-source-repository-url', required=True, help=u"""The URL of the Bitbucket Cloud repository for the configuration source.""")
@cli_util.option('--config-source-workspace-id', required=True, help=u"""The id of the workspace in Bitbucket Cloud for the configuration source""")
@@ -1662,7 +1662,7 @@ def create_stack_create_bitbucket_cloud_config_source_details(ctx, from_json, wa
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_zip_upload_config_source_details.command_name', 'create-stack-create-zip-upload-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-zip-file-base64-encoded', required=True, help=u"""""")
@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.""")
@cli_util.option('--description', help=u"""Description of the stack.""")
@@ -1752,7 +1752,7 @@ def create_stack_create_zip_upload_config_source_details(ctx, from_json, wait_fo
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_bitbucket_server_config_source_details.command_name', 'create-stack-create-bitbucket-server-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-configuration-source-provider-id', required=True, help=u"""Unique identifier ([OCID]) for the Bitbucket Server configuration source.""")
@cli_util.option('--config-source-repository-url', required=True, help=u"""The URL of the Bitbucket Server repository.""")
@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.""")
@@ -1856,7 +1856,7 @@ def create_stack_create_bitbucket_server_config_source_details(ctx, from_json, w
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_git_config_source_details.command_name', 'create-stack-create-git-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-configuration-source-provider-id', required=True, help=u"""Unique identifier ([OCID]) for the Git configuration source.""")
@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.""")
@cli_util.option('--description', help=u"""Description of the stack.""")
@@ -1954,7 +1954,7 @@ def create_stack_create_git_config_source_details(ctx, from_json, wait_for_state
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_object_storage_config_source_details.command_name', 'create-stack-create-object-storage-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-region', required=True, help=u"""The name of the bucket's region. Example: `us-phoenix-1`""")
@cli_util.option('--config-source-namespace', required=True, help=u"""The Object Storage namespace that contains the bucket.""")
@cli_util.option('--config-source-bucket-name', required=True, help=u"""The name of the bucket that contains the Terraform configuration files.""")
@@ -2048,7 +2048,7 @@ def create_stack_create_object_storage_config_source_details(ctx, from_json, wai
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_compartment_config_source_details.command_name', 'create-stack-create-compartment-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-compartment-id', required=True, help=u"""The [OCID] of the compartment to use for creating the stack. The new stack will include definitions for supported resource types in scope of the specified compartment OCID (tenancy level for root compartment, compartment level otherwise).""")
@cli_util.option('--config-source-region', required=True, help=u"""The region to use for creating the stack. The new stack will include definitions for supported resource types in this region.""")
@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.""")
@@ -2144,7 +2144,7 @@ def create_stack_create_compartment_config_source_details(ctx, from_json, wait_f
@stack_group.command(name=cli_util.override('resource_manager.create_stack_create_stack_template_config_source_details.command_name', 'create-stack-create-stack-template-config-source-details'), help=u"""Creates a stack in the specified compartment. You can create a stack from a Terraform configuration. The Terraform configuration can be directly uploaded or referenced from a source code control system. You can also create a stack from an existing compartment, which generates a Terraform configuration. You can also upload the Terraform configuration from an Object Storage bucket. For more information, see [Creating a Stack]. \n[Command Reference](createStack)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Unique identifier ([OCID]) of the compartment in which the stack resides.""")
@cli_util.option('--config-source-template-id', required=True, help=u"""""")
@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.""")
@cli_util.option('--description', help=u"""Description of the stack.""")
@@ -2234,7 +2234,7 @@ def create_stack_create_stack_template_config_source_details(ctx, from_json, wai
@template_group.command(name=cli_util.override('resource_manager.create_template.command_name', 'create'), help=u"""Creates a private template in the specified compartment. For more information, see [Creating a Private Template]. \n[Command Reference](createTemplate)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing this template.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing this template.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--description', required=True, help=u"""Description of the template. Avoid entering confidential information.""")
@cli_util.option('--template-config-source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2305,7 +2305,7 @@ def create_template(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@template_group.command(name=cli_util.override('resource_manager.create_template_create_template_zip_upload_config_source_details.command_name', 'create-template-create-template-zip-upload-config-source-details'), help=u"""Creates a private template in the specified compartment. For more information, see [Creating a Private Template]. \n[Command Reference](createTemplate)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment containing this template.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment containing this template.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@cli_util.option('--description', required=True, help=u"""Description of the template. Avoid entering confidential information.""")
@cli_util.option('--template-config-source-zip-file-base64-encoded', required=True, help=u"""""")
@@ -3255,7 +3255,7 @@ def get_work_request(ctx, from_json, work_request_id):
@configuration_source_provider_summary_group.command(name=cli_util.override('resource_manager.list_configuration_source_providers.command_name', 'list-configuration-source-providers'), help=u"""Lists configuration source providers according to the specified filter. For more information, see [Listing Configuration Source Providers]. - For `compartmentId`, lists all configuration source providers in the matching compartment. - For `configurationSourceProviderId`, lists the matching configuration source provider. \n[Command Reference](listConfigurationSourceProviders)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--configuration-source-provider-id', help=u"""A filter to return only configuration source providers that match the provided [OCID].""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly. Use this filter to list a resource by name. Requires `sortBy` set to `DISPLAYNAME`. Alternatively, when you know the resource OCID, use the related Get operation.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to use when sorting returned resources. By default, `TIMECREATED` is ordered descending. By default, `DISPLAYNAME` is ordered ascending. Note that you can sort only on one field.""")
@@ -3318,7 +3318,7 @@ def list_configuration_source_providers(ctx, from_json, all_pages, page_size, co
@associated_resource_summary_group.command(name=cli_util.override('resource_manager.list_job_associated_resources.command_name', 'list-job-associated-resources'), help=u"""Gets the list of resources associated with the specified job. For more information, see [Listing Job Resources]. \n[Command Reference](listJobAssociatedResources)""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--terraform-resource-type', help=u"""A filter to return only specified resource types. For more information about resource types supported for the Oracle Cloud Infrastructure [OCI] provider, see [Oracle Cloud Infrastructure Provider].""")
@cli_util.option('--limit', type=click.INT, help=u"""The number of items returned in a paginated `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the preceding `List` call. For information about pagination, see [List Pagination].""")
@@ -3375,7 +3375,7 @@ def list_job_associated_resources(ctx, from_json, all_pages, page_size, job_id,
@job_output_summary_group.command(name=cli_util.override('resource_manager.list_job_outputs.command_name', 'list-job-outputs'), help=u"""Gets the list of outputs associated with the specified job. For more information, see [Listing Job Outputs]. \n[Command Reference](listJobOutputs)""")
@cli_util.option('--job-id', required=True, help=u"""The [OCID] of the job.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The number of items returned in a paginated `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the preceding `List` call. For information about pagination, see [List Pagination].""")
@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.""")
@@ -3430,7 +3430,7 @@ def list_job_outputs(ctx, from_json, all_pages, page_size, job_id, compartment_i
@job_group.command(name=cli_util.override('resource_manager.list_jobs.command_name', 'list'), help=u"""Lists jobs according to the specified filter. By default, the list is ordered by time created. For more information, see [Listing Jobs].
- To list all jobs in a stack, provide the stack [OCID]. - To list all jobs in a compartment, provide the compartment [OCID]. - To return a specific job, provide the job [OCID]. (Equivalent to [GetStack].) \n[Command Reference](listJobs)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--stack-id', help=u"""The stack [OCID] on which to filter.""")
@cli_util.option('--id', help=u"""The [OCID] on which to query for jobs.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter that returns all resources that match the specified lifecycle state. The state value is case-insensitive.""")
@@ -3495,10 +3495,10 @@ def list_jobs(ctx, from_json, all_pages, page_size, compartment_id, stack_id, id
@private_endpoint_summary_group.command(name=cli_util.override('resource_manager.list_private_endpoints.command_name', 'list-private-endpoints'), help=u"""Lists private endpoints according to the specified filter. For more information, see [Listing Private Endpoints]. - For `compartmentId`, lists all private endpoints in the matching compartment. - For `privateEndpointId`, lists the matching private endpoint. \n[Command Reference](listPrivateEndpoints)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--private-endpoint-id', help=u"""The [OCID] of the private endpoint.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly. Use this filter to list a resource by name. Requires `sortBy` set to `DISPLAYNAME`. Alternatively, when you know the resource OCID, use the related Get operation.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "DISPLAYNAME"]), help=u"""The field to use when sorting returned resources. By default, `TIMECREATED` is ordered descending. By default, `DISPLAYNAME` is ordered ascending. Note that you can sort only on one field.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use when sorting returned resources. Ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--limit', type=click.INT, help=u"""The number of items returned in a paginated `List` call. For information about pagination, see [List Pagination].""")
@@ -3557,7 +3557,7 @@ def list_private_endpoints(ctx, from_json, all_pages, page_size, compartment_id,
@stack_group.command(name=cli_util.override('resource_manager.list_resource_discovery_services.command_name', 'list-resource-discovery-services'), help=u"""Returns a list of supported services for [Resource Discovery]. For reference on service names, see the [Terraform provider documentation]. For more information, see [Listing Resource Discovery Services]. \n[Command Reference](listResourceDiscoveryServices)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3580,7 +3580,7 @@ def list_resource_discovery_services(ctx, from_json, all_pages, compartment_id):
@associated_resource_summary_group.command(name=cli_util.override('resource_manager.list_stack_associated_resources.command_name', 'list-stack-associated-resources'), help=u"""Gets the list of resources associated with the specified stack. For more information, see [Listing Stack Resources]. \n[Command Reference](listStackAssociatedResources)""")
@cli_util.option('--stack-id', required=True, help=u"""The [OCID] of the stack.""")
@cli_util.option('--terraform-resource-type', help=u"""A filter to return only specified resource types. For more information about resource types supported for the Oracle Cloud Infrastructure [OCI] provider, see [Oracle Cloud Infrastructure Provider].""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The number of items returned in a paginated `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the preceding `List` call. For information about pagination, see [List Pagination].""")
@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.""")
@@ -3692,7 +3692,7 @@ def list_stack_resource_drift_details(ctx, from_json, all_pages, page_size, stac
@stack_group.command(name=cli_util.override('resource_manager.list_stacks.command_name', 'list'), help=u"""Lists stacks according to the specified filter. For more information, see [Listing Stacks]. - If called using the compartment ID, returns all stacks in the specified compartment. - If called using the stack ID, returns the specified stack. (See also [GetStack].) \n[Command Reference](listStacks)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--id', help=u"""The [OCID] on which to query for a stack.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter that returns only those resources that match the specified lifecycle state. The state value is case-insensitive. For more information about stack lifecycle states, see [Key Concepts].""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly. Use this filter to list a resource by name. Requires `sortBy` set to `DISPLAYNAME`. Alternatively, when you know the resource OCID, use the related Get operation.""")
@@ -3772,7 +3772,7 @@ def list_template_categories(ctx, from_json, all_pages, ):
@template_group.command(name=cli_util.override('resource_manager.list_templates.command_name', 'list'), help=u"""Lists templates according to the specified filter. The attributes `compartmentId` and `templateCategoryId` are required unless `templateId` is specified. For more information, see [Listing Templates]. \n[Command Reference](listTemplates)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--template-category-id', help=u"""Unique identifier for the template category. Possible values are `0` (Quickstarts), `1` (Service), `2` (Architecture), and `3` (Private). Template category labels are displayed in the Console page listing templates. Quickstarts, Service, and Architecture templates (categories 0, 1, and 2) are available in all compartments. Each private template (category 3) is available in the compartment where it was created.""")
@cli_util.option('--template-id', help=u"""The [OCID] of the template.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the given display name exactly. Use this filter to list a resource by name. Requires `sortBy` set to `DISPLAYNAME`. Alternatively, when you know the resource OCID, use the related Get operation.""")
@@ -3834,7 +3834,7 @@ def list_templates(ctx, from_json, all_pages, page_size, compartment_id, templat
@stack_group.command(name=cli_util.override('resource_manager.list_terraform_versions.command_name', 'list-terraform-versions'), help=u"""Returns a list of supported Terraform versions for use with stacks. For more information, see [Listing Terraform Versions]. \n[Command Reference](listTerraformVersions)""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -3856,7 +3856,7 @@ def list_terraform_versions(ctx, from_json, all_pages, compartment_id):
@work_request_group.command(name=cli_util.override('resource_manager.list_work_request_errors.command_name', 'list-work-request-errors'), help=u"""Returns a paginated list of errors for the specified work request. For more information, see [Listing Errors for a Work Request]. \n[Command Reference](listWorkRequestErrors)""")
@cli_util.option('--work-request-id', required=True, help=u"""The [OCID] of the work request.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The number of items returned in a paginated `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the preceding `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use when sorting returned resources. Ascending (`ASC`) or descending (`DESC`).""")
@@ -3913,7 +3913,7 @@ def list_work_request_errors(ctx, from_json, all_pages, page_size, work_request_
@work_request_group.command(name=cli_util.override('resource_manager.list_work_request_logs.command_name', 'list-work-request-logs'), help=u"""Returns a paginated list of logs for the specified work request. For more information, see [Listing Logs for a Work Request]. \n[Command Reference](listWorkRequestLogs)""")
@cli_util.option('--work-request-id', required=True, help=u"""The [OCID] of the work request.""")
-@cli_util.option('--compartment-id', help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--limit', type=click.INT, help=u"""The number of items returned in a paginated `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the preceding `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use when sorting returned resources. Ascending (`ASC`) or descending (`DESC`).""")
@@ -3969,7 +3969,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('resource_manager.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in the specified compartment or for the specified resource. For more information, see [Listing Work Requests]. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""A filter to return only resources that exist in the compartment, identified by [OCID].""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource.""")
@cli_util.option('--limit', type=click.INT, help=u"""The number of items returned in a paginated `List` call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the preceding `List` call. For information about pagination, see [List Pagination].""")
@@ -4112,7 +4112,7 @@ def update_configuration_source_provider(ctx, from_json, force, wait_for_state,
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--api-endpoint', help=u"""The Bitbucket service endpoint. Example: `https://bitbucket.org/`""")
@cli_util.option('--username', help=u"""The username for the user of the Bitbucket cloud repository.""")
-@cli_util.option('--secret-id', help=u"""The secret ocid which is used to authorize the user.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The secret ocid which is used to authorize the user.""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -4204,7 +4204,7 @@ def update_configuration_source_provider_update_bitbucket_cloud_username_app_pas
@cli_util.option('--private-server-config-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Free-form tags associated with the resource. Each tag is a key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--secret-id', help=u"""The secret ocid which is used to authorize the user.""")
+@cli_util.option('--secret-id', type=custom_types.CLI_OCID, help=u"""The secret ocid which is used to authorize the user.""")
@cli_util.option('--api-endpoint', help=u"""The Bitbucket server service endpoint Example: `https://bitbucket.org/`""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@@ -4543,8 +4543,8 @@ def update_job(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_int
@cli_util.option('--private-endpoint-id', required=True, help=u"""The [OCID] of the private endpoint.""")
@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.""")
@cli_util.option('--description', help=u"""Description of the private endpoint. Avoid entering confidential information.""")
-@cli_util.option('--vcn-id', help=u"""The [OCID] of the VCN for the private endpoint.""")
-@cli_util.option('--subnet-id', help=u"""The [OCID] of the subnet within the VCN for the private endpoint.""")
+@cli_util.option('--vcn-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the VCN for the private endpoint.""")
+@cli_util.option('--subnet-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the subnet within the VCN for the private endpoint.""")
@cli_util.option('--dns-zones', type=custom_types.CLI_COMPLEX_TYPE, help=u"""DNS Proxy forwards any DNS FQDN queries over into the consumer DNS resolver if the DNS FQDN is included in the dns zones list otherwise it goes to service provider VCN resolver.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--nsg-id-list', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The [OCIDs] of [network security groups (NSGs)] for the private endpoint. Order does not matter.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--is-used-with-configuration-source-provider', type=click.BOOL, help=u"""When `true`, allows the private endpoint to be used with a configuration source provider.""")
diff --git a/services/resource_scheduler/src/oci_cli_schedule/generated/schedule_cli.py b/services/resource_scheduler/src/oci_cli_schedule/generated/schedule_cli.py
index b5cabd20..adb83e33 100644
--- a/services/resource_scheduler/src/oci_cli_schedule/generated/schedule_cli.py
+++ b/services/resource_scheduler/src/oci_cli_schedule/generated/schedule_cli.py
@@ -140,7 +140,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@schedule_group.command(name=cli_util.override('resource_scheduler.change_schedule_compartment.command_name', 'change-compartment'), help=u"""This API) moves a schedule 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](changeScheduleCompartment)""")
@cli_util.option('--schedule-id', required=True, help=u"""This is the [OCID] of the schedule.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the schedule to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the schedule to.""")
@cli_util.option('--if-match', help=u"""This is used 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.""")
@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.""")
@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.""")
@@ -200,7 +200,7 @@ def change_schedule_compartment(ctx, from_json, wait_for_state, max_wait_seconds
@schedule_group.command(name=cli_util.override('resource_scheduler.create_schedule.command_name', 'create'), help=u"""This API creates a schedule. You must provide either resources or resourceFilters. \n[Command Reference](createSchedule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which the schedule is created""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which the schedule is created""")
@cli_util.option('--action', required=True, type=custom_types.CliCaseInsensitiveChoice(["START_RESOURCE", "STOP_RESOURCE"]), help=u"""This is the action that will be executed by the schedule.""")
@cli_util.option('--recurrence-details', required=True, help=u"""This is the frequency of recurrence of a schedule. The frequency field can either conform to RFC-5545 formatting or UNIX cron formatting for recurrences, based on the value specified by the recurrenceType field.""")
@cli_util.option('--recurrence-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["CRON", "ICAL"]), help=u"""Type of recurrence of a schedule""")
@@ -462,7 +462,7 @@ def get_work_request(ctx, from_json, work_request_id):
@resource_type_collection_group.command(name=cli_util.override('resource_scheduler.list_resource_types.command_name', 'list-resource-types'), help=u"""This API gets a list of schedule resource types. \n[Command Reference](listResourceTypes)""")
-@cli_util.option('--compartment-id', help=u"""This is the [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""This is the [OCID] of the compartment in which to list resources.""")
@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].""")
@cli_util.option('--page', help=u"""This used 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].""")
@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.""")
@@ -509,7 +509,7 @@ def list_resource_types(ctx, from_json, all_pages, page_size, compartment_id, li
@schedule_group.command(name=cli_util.override('resource_scheduler.list_schedules.command_name', 'list'), help=u"""This API gets a list of schedules. You must provide either a compartmentId or a scheduleId or both. You can list resources in this compartment [OCID]. This is required unless a specific schedule ID is passed. \n[Command Reference](listSchedules)""")
-@cli_util.option('--compartment-id', help=u"""This is the [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""This is the [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE", "CREATING", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""This is a filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""This is a filter to return only resources that match the given display name exactly.""")
@cli_util.option('--schedule-id', help=u"""This is the [OCID] of the schedule.""")
@@ -688,7 +688,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('resource_scheduler.list_work_requests.command_name', 'list'), help=u"""This API gets a list of work requests. You must provide either a compartmentId or a workRequestId or both. You can list work requests in this compartment [OCID]. This is required unless a specific workRequestId is passed. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""This is the [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""This is the [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""This is the [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""This is a filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""This is the [OCID] of the resource affected by the work request.""")
diff --git a/services/rover/src/oci_cli_rover_cluster/generated/rovercluster_cli.py b/services/rover/src/oci_cli_rover_cluster/generated/rovercluster_cli.py
index 23b0cb05..a3794a2c 100644
--- a/services/rover/src/oci_cli_rover_cluster/generated/rovercluster_cli.py
+++ b/services/rover/src/oci_cli_rover_cluster/generated/rovercluster_cli.py
@@ -41,7 +41,7 @@ def rover_cluster_certificate_group():
@rover_cluster_group.command(name=cli_util.override('rover_cluster.change_rover_cluster_compartment.command_name', 'change-compartment'), help=u"""Moves a cluster into a different compartment. \n[Command Reference](changeRoverClusterCompartment)""")
@cli_util.option('--rover-cluster-id', required=True, help=u"""Unique RoverCluster identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resources should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resources should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -72,7 +72,7 @@ def change_rover_cluster_compartment(ctx, from_json, rover_cluster_id, compartme
@rover_cluster_group.command(name=cli_util.override('rover_cluster.create_rover_cluster.command_name', 'create'), help=u"""Creates a new RoverCluster. \n[Command Reference](createRoverCluster)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the RoverCluster.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the RoverCluster.""")
@cli_util.option('--cluster-size', required=True, type=click.INT, help=u"""Number of nodes desired in the cluster, in standalone clusters, between 5 and 15 inclusive. In station clusters, between 15 and 30 inclusive.""")
@cli_util.option('--customer-shipping-address', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--cluster-workloads', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of existing workloads that should be provisioned on the nodes.
@@ -88,7 +88,7 @@ def change_rover_cluster_compartment(ctx, from_json, rover_cluster_id, compartme
@cli_util.option('--shipping-vendor', help=u"""Shipping vendor of choice for orace to customer shipping.""")
@cli_util.option('--time-pickup-expected', type=custom_types.CLI_DATETIME, help=u"""Expected date when customer wants to pickup the cluster if they chose customer pickup.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--oracle-shipping-tracking-url', help=u"""Tracking Url for the shipped Rover Cluster.""")
-@cli_util.option('--subscription-id', help=u"""ID provided to customer after successful subscription to Rover Stations.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""ID provided to customer after successful subscription to Rover Stations.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""The current state of the RoverCluster.""")
@cli_util.option('--lifecycle-state-details', help=u"""A property that can contain details on the lifecycle.""")
@cli_util.option('--is-import-requested', type=click.BOOL, help=u"""The flag indicating that customer requests data to be imported to OCI upon Rover cluster return.""")
@@ -326,7 +326,7 @@ def get_rover_cluster_certificate(ctx, from_json, rover_cluster_id):
@rover_cluster_group.command(name=cli_util.override('rover_cluster.list_rover_clusters.command_name', 'list'), help=u"""Returns a list of RoverClusters. \n[Command Reference](listRoverClusters)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--cluster-type', type=custom_types.CliCaseInsensitiveChoice(["STANDALONE", "STATION"]), help=u"""A filter to return only Clusters of type matched with the given cluster type.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -468,7 +468,7 @@ def request_additional_nodes(ctx, from_json, wait_for_state, max_wait_seconds, w
@cli_util.option('--point-of-contact-phone-number', help=u"""Phone number of point of contact for this order if customer is picking up.""")
@cli_util.option('--shipping-preference', type=custom_types.CliCaseInsensitiveChoice(["ORACLE_SHIPPED", "CUSTOMER_PICKUP"]), help=u"""Preference for device delivery.""")
@cli_util.option('--oracle-shipping-tracking-url', help=u"""Tracking Url for the shipped Rover Cluster.""")
-@cli_util.option('--subscription-id', help=u"""ID provided to customer after successful subscription to Rover Stations.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""ID provided to customer after successful subscription to Rover Stations.""")
@cli_util.option('--shipping-vendor', help=u"""Shipping vendor of choice for orace to customer shipping.""")
@cli_util.option('--time-pickup-expected', type=custom_types.CLI_DATETIME, help=u"""Expected date when customer wants to pickup the device if they chose customer pickup.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--is-import-requested', type=click.BOOL, help=u"""The flag indicating that customer requests data to be imported to OCI upon Rover cluster return.""")
diff --git a/services/rover/src/oci_cli_rover_cluster/rovercluster_cli_extended.py b/services/rover/src/oci_cli_rover_cluster/rovercluster_cli_extended.py
index 5de98158..d7437efe 100644
--- a/services/rover/src/oci_cli_rover_cluster/rovercluster_cli_extended.py
+++ b/services/rover/src/oci_cli_rover_cluster/rovercluster_cli_extended.py
@@ -228,7 +228,7 @@ def change_rover_cluster_compartment(ctx, **kwargs):
@rovercluster_cli.rover_cluster_group.command(name="add-workload", help=u"""Add workload information to Rover Cluster""")
@cli_util.option('--cluster-id', required=True, help=u"""Unique RoverStandalone Cluster identifier""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["BUCKET", "IMAGE"]), help=u"""Type of workload""")
-@cli_util.option('--image-id', help=u"""Object Store Image OCID for the workload""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Object Store Image OCID for the workload""")
@cli_util.option('--bucket-name', help=u"""Object Store Bucket name for the workload""")
@cli_util.option('--prefix', help=u"""List of objects with names matching this prefix would be part of this export job.""")
@cli_util.option('--range-start', help=u"""Object names returned by a list query must be greater or equal to this parameter.""")
@@ -281,7 +281,7 @@ def get_rover_cluster_certificate_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(rovercluster_cli.create_rover_cluster, params_to_exclude=['customer_shipping_address', 'cluster_workloads', 'super_user_password', 'unlock_passphrase', 'oracle_shipping_tracking_url', 'shipping_vendor', 'time_pickup_expected', 'cluster_size'])
@rover_station_group.command(name=cli_util.override('rover_cluster.create_rover_cluster.command_name', 'create'), help=u"""Creates a new RoverStation Cluster. \n[Command Reference](createRoverStation)""")
-@cli_util.option('--subscription-id', required=True, help=u"""Subscription ID of RoverStation Cluster""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""Subscription ID of RoverStation Cluster""")
@cli_util.option('--cluster-size', required=True, type=click.IntRange(15, 30), help=u"""Number of nodes desired in the RoverStation Cluster, between 15 and 30.""")
@cli_util.option('--addressee', help=u"""Company or person to send the appliance to""")
@cli_util.option('--care-of', help=u"""Place/person to direct the package to.""")
@@ -321,7 +321,7 @@ def show_rover_station_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(rovercluster_cli.update_rover_cluster, params_to_exclude=['customer_shipping_address', 'rover_cluster_id', 'cluster_workloads', 'super_user_password', 'unlock_passphrase', 'oracle_shipping_tracking_url', 'shipping_vendor', 'time_pickup_expected'])
@rover_station_group.command(name=cli_util.override('rover_cluster.update_rover_cluster.command_name', 'update'), help=u"""Update a RoverStation.""")
@cli_util.option('--cluster-id', required=True, help=u"""Unique RoverStation Cluster identifier""")
-@cli_util.option('--subscription-id', help=u"""Subscription ID of cluster""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""Subscription ID of cluster""")
@cli_util.option('--addressee', help=u"""Company or person to send the appliance to""")
@cli_util.option('--care-of', help=u"""Place/person to direct the package to.""")
@cli_util.option('--address1', help=u"""Address line 1.""")
@@ -343,7 +343,7 @@ def update_rover_station_extended(ctx, **kwargs):
@rover_station_group.command(name="request-approval", help=u"""Submit request for Rover Station""")
@cli_util.option('--cluster-id', required=True, help=u"""Unique RoverStation Cluster identifier""")
-@cli_util.option('--subscription-id', help=u"""Subscription ID of RoverStation Cluster""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""Subscription ID of RoverStation Cluster""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -391,7 +391,7 @@ def change_rover_station_compartment(ctx, **kwargs):
@rover_station_group.command(name="add-workload", help=u"""Add workload information to Rover Station""")
@cli_util.option('--cluster-id', required=True, help=u"""Unique RoverStation Cluster identifier""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["BUCKET", "IMAGE"]), help=u"""Type of workload""")
-@cli_util.option('--image-id', help=u"""Object Store Image OCID for the workload""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Object Store Image OCID for the workload""")
@cli_util.option('--bucket-name', help=u"""Object Store Bucket name for the workload""")
@cli_util.option('--prefix', help=u"""List of objects with names matching this prefix would be part of this export job.""")
@cli_util.option('--range-start', help=u"""Object names returned by a list query must be greater or equal to this parameter.""")
diff --git a/services/rover/src/oci_cli_rover_entitlement/generated/roverentitlement_cli.py b/services/rover/src/oci_cli_rover_entitlement/generated/roverentitlement_cli.py
index 30f137b9..b4ad4ecb 100644
--- a/services/rover/src/oci_cli_rover_entitlement/generated/roverentitlement_cli.py
+++ b/services/rover/src/oci_cli_rover_entitlement/generated/roverentitlement_cli.py
@@ -34,7 +34,7 @@ def rover_entitlement_group():
@rover_entitlement_group.command(name=cli_util.override('rover_entitlement.change_rover_entitlement_compartment.command_name', 'change-compartment'), help=u"""Moves an entitlement into a different compartment. \n[Command Reference](changeRoverEntitlementCompartment)""")
@cli_util.option('--rover-entitlement-id', required=True, help=u"""ID of the rover node or cluster entitlement""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resources should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resources should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -64,7 +64,7 @@ def change_rover_entitlement_compartment(ctx, from_json, rover_entitlement_id, c
@rover_entitlement_group.command(name=cli_util.override('rover_entitlement.create_rover_entitlement.command_name', 'create'), help=u"""Create the Entitlement to use a Rover Device. It requires some offline process of review and signatures before request is granted. \n[Command Reference](createRoverEntitlement)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the RoverEntitlement.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the RoverEntitlement.""")
@cli_util.option('--requestor-name', required=True, help=u"""Requestor name for the entitlement.""")
@cli_util.option('--requestor-email', required=True, help=u"""Requestor email for the entitlement.""")
@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.""")
@@ -214,7 +214,7 @@ def delete_rover_entitlement(ctx, from_json, wait_for_state, max_wait_seconds, w
@rover_entitlement_group.command(name=cli_util.override('rover_entitlement.get_rover_entitlement.command_name', 'get'), help=u"""Describes the Rover Device Entitlement in detail \n[Command Reference](getRoverEntitlement)""")
@cli_util.option('--rover-entitlement-id', required=True, help=u"""ID of the rover node or cluster entitlement""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -237,7 +237,7 @@ def get_rover_entitlement(ctx, from_json, rover_entitlement_id, compartment_id):
@rover_entitlement_group.command(name=cli_util.override('rover_entitlement.list_rover_entitlements.command_name', 'list'), help=u"""Returns a list of RoverEntitlements. \n[Command Reference](listRoverEntitlements)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""filtering by Rover Device Entitlement id""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
diff --git a/services/rover/src/oci_cli_rover_node/generated/rovernode_cli.py b/services/rover/src/oci_cli_rover_node/generated/rovernode_cli.py
index 240afa40..5504d548 100644
--- a/services/rover/src/oci_cli_rover_node/generated/rovernode_cli.py
+++ b/services/rover/src/oci_cli_rover_node/generated/rovernode_cli.py
@@ -62,7 +62,7 @@ def rover_node_get_rpt_group():
@rover_node_group.command(name=cli_util.override('rover_node.change_rover_node_compartment.command_name', 'change-compartment'), help=u"""Moves a rover node into a different compartment. \n[Command Reference](changeRoverNodeCompartment)""")
@cli_util.option('--rover-node-id', required=True, help=u"""Unique RoverNode identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resources should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resources should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -93,7 +93,7 @@ def change_rover_node_compartment(ctx, from_json, rover_node_id, compartment_id,
@rover_node_group.command(name=cli_util.override('rover_node.create_rover_node.command_name', 'create'), help=u"""Creates a new RoverNode. \n[Command Reference](createRoverNode)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the RoverNode.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the RoverNode.""")
@cli_util.option('--shape', help=u"""The shape of the node.""")
@cli_util.option('--customer-shipping-address', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--node-workloads', type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of existing workloads that should be provisioned on the node.
@@ -427,7 +427,7 @@ def get_rover_node_get_rpt(ctx, from_json, rover_node_id, jwt):
@rover_node_group.command(name=cli_util.override('rover_node.list_rover_nodes.command_name', 'list'), help=u"""Returns a list of RoverNodes. \n[Command Reference](listRoverNodes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--node-type', type=custom_types.CliCaseInsensitiveChoice(["STANDALONE", "CLUSTERED", "STATION"]), help=u"""A filter to return only Nodes of type matched with the given node type.""")
@cli_util.option('--shape', help=u"""A filter to return only Nodes of type matched with the given node shape.""")
diff --git a/services/rover/src/oci_cli_rover_node/rovernode_cli_extended.py b/services/rover/src/oci_cli_rover_node/rovernode_cli_extended.py
index 0bdeaa5d..580e799a 100644
--- a/services/rover/src/oci_cli_rover_node/rovernode_cli_extended.py
+++ b/services/rover/src/oci_cli_rover_node/rovernode_cli_extended.py
@@ -459,7 +459,7 @@ def delete_rover_node_extended(ctx, **kwargs):
@rovernode_cli.rover_node_group.command(name="add-workload", help=u"""Add workload information to Rover Node""")
@cli_util.option('--node-id', required=True, help=u"""Unique RoverNode identifier""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["BUCKET", "IMAGE"]), help=u"""Type of workload""")
-@cli_util.option('--image-id', help=u"""Object Store Image OCID for the workload""")
+@cli_util.option('--image-id', type=custom_types.CLI_OCID, help=u"""Object Store Image OCID for the workload""")
@cli_util.option('--bucket-name', help=u"""Object Store Bucket name for the workload""")
@cli_util.option('--prefix', help=u"""List of objects with names matching this prefix would be part of this export job.""")
@cli_util.option('--range-start', help=u"""Object names returned by a list query must be greater or equal to this parameter.""")
diff --git a/services/rover/src/oci_cli_shape/generated/shape_cli.py b/services/rover/src/oci_cli_shape/generated/shape_cli.py
index a032340f..2ec873e0 100644
--- a/services/rover/src/oci_cli_shape/generated/shape_cli.py
+++ b/services/rover/src/oci_cli_shape/generated/shape_cli.py
@@ -33,7 +33,7 @@ def shape_summary_group():
@shape_summary_group.command(name=cli_util.override('shape.list_shapes.command_name', 'list-shapes'), help=u"""Returns a list of Shapes. \n[Command Reference](listShapes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'asc' or 'desc'.""")
diff --git a/services/rover/src/oci_cli_work_requests/generated/workrequests_cli.py b/services/rover/src/oci_cli_work_requests/generated/workrequests_cli.py
index a8f770a7..95b6d527 100644
--- a/services/rover/src/oci_cli_work_requests/generated/workrequests_cli.py
+++ b/services/rover/src/oci_cli_work_requests/generated/workrequests_cli.py
@@ -195,7 +195,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_requests.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment in which to list resources.""")
@cli_util.option('--operation-type', type=custom_types.CliCaseInsensitiveChoice(["ADD_NODES"]), help=u"""Filter results by the type of the operation associated with the work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""Filter results by work request status.""")
@cli_util.option('--resource-id', help=u"""Filter work requests by the resource ocid.""")
diff --git a/services/sch/src/oci_cli_service_connector/generated/serviceconnector_cli.py b/services/sch/src/oci_cli_service_connector/generated/serviceconnector_cli.py
index 45ce39db..a644f648 100644
--- a/services/sch/src/oci_cli_service_connector/generated/serviceconnector_cli.py
+++ b/services/sch/src/oci_cli_service_connector/generated/serviceconnector_cli.py
@@ -119,7 +119,7 @@ def activate_service_connector(ctx, from_json, wait_for_state, max_wait_seconds,
When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeServiceConnectorCompartment)""")
@cli_util.option('--service-connector-id', required=True, help=u"""The [OCID] of the connector.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to move the connector to.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to move the connector to.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -184,7 +184,7 @@ def change_service_connector_compartment(ctx, from_json, wait_for_state, max_wai
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -265,7 +265,7 @@ def create_service_connector(ctx, from_json, wait_for_state, max_wait_seconds, w
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-log-sources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The logs for this Logging source.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -349,7 +349,7 @@ def create_service_connector_logging_source_details(ctx, from_json, wait_for_sta
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-monitoring-sources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""One or more compartment-specific lists of metric namespaces to retrieve data from.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -433,7 +433,7 @@ def create_service_connector_monitoring_source_details(ctx, from_json, wait_for_
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-stream-id', required=True, help=u"""The [OCID] of the stream.""")
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -521,7 +521,7 @@ def create_service_connector_streaming_source_details(ctx, from_json, wait_for_s
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--source-plugin-name', required=True, help=u"""The name of the connector plugin. This name indicates the service to be called by the connector plugin. For example, `QueueSource` indicates the Queue service. To find names of connector plugins, list the plugin using [ListConnectorPlugin].""")
@cli_util.option('--source-config-map', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The configuration map for the connector plugin. This map includes parameters specific to the connector plugin type. For example, for `QueueSource`, the map lists the OCID of the selected queue. To find the parameters for a connector plugin, get the plugin using [GetConnectorPlugin] and review its schema value.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -607,7 +607,7 @@ def create_service_connector_plugin_source_details(ctx, from_json, wait_for_stat
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-topic-id', required=True, help=u"""The [OCID] of the topic.""")
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -695,7 +695,7 @@ def create_service_connector_notifications_target_details(ctx, from_json, wait_f
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-bucket-name', required=True, help=u"""The name of the bucket. Valid characters are letters (upper or lower case), numbers, hyphens (-), underscores(_), and periods (.). Bucket names must be unique within an Object Storage namespace. Avoid entering confidential information. Example: my-new-bucket1""")
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -795,7 +795,7 @@ def create_service_connector_object_storage_target_details(ctx, from_json, wait_
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-compartment-id', required=True, help=u"""The [OCID] of the compartment containing the metric.""")
@cli_util.option('--target-metric-namespace', required=True, help=u"""The namespace of the metric. Example: `oci_computeagent`""")
@@ -889,7 +889,7 @@ def create_service_connector_monitoring_target_details(ctx, from_json, wait_for_
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-function-id', required=True, help=u"""The [OCID] of the function.""")
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -985,7 +985,7 @@ def create_service_connector_functions_target_details(ctx, from_json, wait_for_s
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-log-group-id', required=True, help=u"""The [OCID] of the Logging Analytics log group.""")
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -1073,7 +1073,7 @@ def create_service_connector_logging_analytics_target_details(ctx, from_json, wa
After you send your request, the new connector's state is temporarily CREATING. When the state changes to ACTIVE, data begins transferring from the source service to the target service. For instructions on deactivating and activating connectors, see [Activating a Connector]. \n[Command Reference](createServiceConnector)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name. It does not have to be unique, and it is changeable. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the comparment to create the connector in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the comparment to create the connector in.""")
@cli_util.option('--source', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--target-stream-id', required=True, help=u"""The [OCID] of the stream.""")
@cli_util.option('--description', help=u"""The description of the resource. Avoid entering confidential information.""")
@@ -1311,7 +1311,7 @@ def get_work_request(ctx, from_json, work_request_id):
@service_connector_group.command(name=cli_util.override('service_connector.list_service_connectors.command_name', 'list'), help=u"""Lists connectors in the specified compartment. For more information, see [Listing Connectors]. \n[Command Reference](listServiceConnectors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for this request.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for this request.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that match the given lifecycle state.
Example: `ACTIVE`""")
@@ -1477,7 +1477,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('service_connector.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in the specified compartment. For more information, see [Listing Work Requests]. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for this request.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for this request.""")
@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].""")
@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].""")
@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.""")
diff --git a/services/secrets/src/oci_cli_secrets/generated/secrets_cli.py b/services/secrets/src/oci_cli_secrets/generated/secrets_cli.py
index 931c0014..61c81be1 100644
--- a/services/secrets/src/oci_cli_secrets/generated/secrets_cli.py
+++ b/services/secrets/src/oci_cli_secrets/generated/secrets_cli.py
@@ -39,7 +39,7 @@ def secret_bundle_group():
@secret_bundle_group.command(name=cli_util.override('secrets.get_secret_bundle.command_name', 'get'), help=u"""Gets a secret bundle that matches either the specified `stage`, `secretVersionName`, or `versionNumber` parameter. If none of these parameters are provided, the bundle for the secret version marked as `CURRENT` will be returned. \n[Command Reference](getSecretBundle)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--version-number', type=click.INT, help=u"""The version number of the secret.""")
@cli_util.option('--secret-version-name', help=u"""The name of the secret. (This might be referred to as the name of the secret version. Names are unique across the different versions of a secret.)""")
@cli_util.option('--stage', type=custom_types.CliCaseInsensitiveChoice(["CURRENT", "PENDING", "LATEST", "PREVIOUS", "DEPRECATED"]), help=u"""The rotation state of the secret version.""")
@@ -71,7 +71,7 @@ def get_secret_bundle(ctx, from_json, secret_id, version_number, secret_version_
@secret_bundle_group.command(name=cli_util.override('secrets.get_secret_bundle_by_name.command_name', 'get-secret-bundle-by-name'), help=u"""Gets a secret bundle by secret name and vault ID, and secret version that matches either the specified `stage`, `secretVersionName`, or `versionNumber` parameter. If none of these parameters are provided, the bundle for the secret version marked as `CURRENT` is returned. \n[Command Reference](getSecretBundleByName)""")
@cli_util.option('--secret-name', required=True, help=u"""A user-friendly name for the secret. Secret names are unique within a vault. Secret names are case-sensitive.""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault that contains the secret.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault that contains the secret.""")
@cli_util.option('--version-number', type=click.INT, help=u"""The version number of the secret.""")
@cli_util.option('--secret-version-name', help=u"""The name of the secret. (This might be referred to as the name of the secret version. Names are unique across the different versions of a secret.)""")
@cli_util.option('--stage', type=custom_types.CliCaseInsensitiveChoice(["CURRENT", "PENDING", "LATEST", "PREVIOUS", "DEPRECATED"]), help=u"""The rotation state of the secret version.""")
@@ -100,7 +100,7 @@ def get_secret_bundle_by_name(ctx, from_json, secret_name, vault_id, version_num
@secret_bundle_version_summary_group.command(name=cli_util.override('secrets.list_secret_bundle_versions.command_name', 'list-secret-bundle-versions'), help=u"""Lists all secret bundle versions for the specified secret. \n[Command Reference](listSecretBundleVersions)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call. For information about pagination, see [List Pagination].""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call. For information about pagination, see [List Pagination].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["VERSION_NUMBER"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `VERSION_NUMBER` is descending.""")
diff --git a/services/security_attribute/src/oci_cli_security_attribute/generated/securityattribute_cli.py b/services/security_attribute/src/oci_cli_security_attribute/generated/securityattribute_cli.py
index 97dc176b..db497616 100644
--- a/services/security_attribute/src/oci_cli_security_attribute/generated/securityattribute_cli.py
+++ b/services/security_attribute/src/oci_cli_security_attribute/generated/securityattribute_cli.py
@@ -101,7 +101,7 @@ def bulk_delete_security_attributes(ctx, from_json, security_attribute_ids):
* Add a security attribute when it does not already exist on the resource. * Update the value for a security attribute when it is present on the resource. * Add a security attribute when it does not already exist on the resource or update the value when it is present on the resource. * Remove a security attribute from a resource. The security attribute is removed from the resource regardless of the value.
The edits can include a combination of operations and attributes. However, multiple operations cannot apply to the same attribute in the same request. \n[Command Reference](bulkEditSecurityAttributes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where the bulk edit request is submitted.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where the bulk edit request is submitted.""")
@cli_util.option('--resources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The resources to be updated.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--bulk-edit-operations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The operations associated with the request to bulk edit tags.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'resources': {'module': 'security_attribute', 'class': 'list[BulkEditResource]'}, 'bulk-edit-operations': {'module': 'security_attribute', 'class': 'list[BulkEditSecurityAttributeOperationDetails]'}})
@@ -170,7 +170,7 @@ def cascading_delete_security_attribute_namespace(ctx, from_json, security_attri
Moving a security attribute namespace moves all the security attributes contained in the security attribute namespace. \n[Command Reference](changeSecurityAttributeNamespaceCompartment)""")
@cli_util.option('--security-attribute-namespace-id', required=True, help=u"""The OCID of the security attribute namespace.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The Oracle Cloud ID (OCID) of the destination compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The Oracle Cloud ID (OCID) of the destination compartment.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -412,7 +412,7 @@ def create_security_attribute_default_security_attribute_validator(ctx, from_jso
You must also specify a *name* for the namespace, which must be unique across all namespaces in your tenancy and cannot be changed. The only valid characters for security attribute names are: \u00A00-9, A-Z, a-z, -, _ characters. Names are case insensitive. That means, for example, \"myNamespace\" and \"mynamespace\" are not allowed in the same tenancy. Once you created a namespace, you cannot change the name. If you specify a name that's already in use in the tenancy, a 409 error is returned.
You must also specify a *description* for the namespace. It does not have to be unique, and you can change it with [UpdateSecurityAttributeNamespace]. \n[Command Reference](createSecurityAttributeNamespace)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy containing the security attribute namespace.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy containing the security attribute namespace.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the security attribute namespace during creation. The name must be unique across all namespaces in the tenancy and cannot be changed.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the security attribute namespace during creation.""")
@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].
@@ -651,7 +651,7 @@ def get_security_attribute_work_request(ctx, from_json, work_request_id):
@security_attribute_namespace_group.command(name=cli_util.override('security_attribute.list_security_attribute_namespaces.command_name', 'list'), help=u"""Lists the security attribute namespaces in the specified compartment. \n[Command Reference](listSecurityAttributeNamespaces)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -817,7 +817,7 @@ def list_security_attribute_work_request_logs(ctx, from_json, all_pages, page_si
@security_attribute_work_request_group.command(name=cli_util.override('security_attribute.list_security_attribute_work_requests.command_name', 'list'), help=u"""Lists the security attribute work requests in compartment. \n[Command Reference](listSecurityAttributeWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--resource-identifier', help=u"""The identifier of the resource the work request affects.""")
diff --git a/services/service_catalog/src/oci_cli_service_catalog/generated/servicecatalog_cli.py b/services/service_catalog/src/oci_cli_service_catalog/generated/servicecatalog_cli.py
index 9201e83f..0140d16f 100644
--- a/services/service_catalog/src/oci_cli_service_catalog/generated/servicecatalog_cli.py
+++ b/services/service_catalog/src/oci_cli_service_catalog/generated/servicecatalog_cli.py
@@ -126,7 +126,7 @@ def bulk_replace_service_catalog_associations(ctx, from_json, force, service_cat
@private_application_group.command(name=cli_util.override('service_catalog.change_private_application_compartment.command_name', 'change-compartment'), help=u"""Moves the specified private application from one compartment to another. \n[Command Reference](changePrivateApplicationCompartment)""")
@cli_util.option('--private-application-id', required=True, help=u"""The unique identifier for the private application.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to move the private application.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to move the private application.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -189,7 +189,7 @@ def change_private_application_compartment(ctx, from_json, wait_for_state, max_w
@service_catalog_group.command(name=cli_util.override('service_catalog.change_service_catalog_compartment.command_name', 'change-compartment'), help=u"""Moves the specified service catalog from one compartment to another. \n[Command Reference](changeServiceCatalogCompartment)""")
@cli_util.option('--service-catalog-id', required=True, help=u"""The unique identifier for the service catalog.""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment where you want to move the service catalog.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to move the service catalog.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -221,7 +221,7 @@ def change_service_catalog_compartment(ctx, from_json, service_catalog_id, compa
@private_application_group.command(name=cli_util.override('service_catalog.create_private_application.command_name', 'create'), help=u"""Creates a private application along with a single package to be hosted. \n[Command Reference](createPrivateApplication)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the private application.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the private application.""")
@cli_util.option('--display-name', required=True, help=u"""The name of the private application.""")
@cli_util.option('--short-description', required=True, help=u"""A short description of the private application.""")
@cli_util.option('--package-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -296,7 +296,7 @@ def create_private_application(ctx, from_json, wait_for_state, max_wait_seconds,
@private_application_group.command(name=cli_util.override('service_catalog.create_private_application_create_private_application_stack_package.command_name', 'create-private-application-create-private-application-stack-package'), help=u"""Creates a private application along with a single package to be hosted. \n[Command Reference](createPrivateApplication)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment where you want to create the private application.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment where you want to create the private application.""")
@cli_util.option('--display-name', required=True, help=u"""The name of the private application.""")
@cli_util.option('--short-description', required=True, help=u"""A short description of the private application.""")
@cli_util.option('--package-details-version', required=True, help=u"""The package version.""")
@@ -376,7 +376,7 @@ def create_private_application_create_private_application_stack_package(ctx, fro
@service_catalog_group.command(name=cli_util.override('service_catalog.create_service_catalog.command_name', 'create'), help=u"""Creates a brand new service catalog in a given compartment. \n[Command Reference](createServiceCatalog)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment where the service catalog will be created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment where the service catalog will be created.""")
@cli_util.option('--display-name', required=True, help=u"""The display name of the service catalog.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), help=u"""The status of a service catalog.""")
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -614,7 +614,7 @@ def delete_service_catalog_association(ctx, from_json, service_catalog_associati
@configuration_group.command(name=cli_util.override('service_catalog.get_configuration.command_name', 'get'), help=u"""Get the detail of whether the tenancy is in service catalog mode or not. \n[Command Reference](getConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -833,7 +833,7 @@ def get_work_request(ctx, from_json, work_request_id):
@application_summary_group.command(name=cli_util.override('service_catalog.list_all_applications.command_name', 'list-all-applications'), help=u"""Lists all the available listings and private applications in a compartment. A new API for catalog manager use when creating/updating a service catalog. \n[Command Reference](listAllApplications)""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--entity-type', help=u"""The type of the application in the service catalog.""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@@ -904,7 +904,7 @@ def list_all_applications(ctx, from_json, all_pages, page_size, compartment_id,
@application_summary_group.command(name=cli_util.override('service_catalog.list_applications.command_name', 'list-applications'), help=u"""Lists all the applications in a service catalog or a tenancy. If no parameter is specified, all catalogs from all compartments in the tenancy will be scanned for any type of content. \n[Command Reference](listApplications)""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--service-catalog-id', help=u"""The unique identifier for the service catalog.""")
@cli_util.option('--entity-type', help=u"""The type of the application in the service catalog.""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@@ -1041,7 +1041,7 @@ def list_private_application_packages(ctx, from_json, all_pages, page_size, priv
@private_application_group.command(name=cli_util.override('service_catalog.list_private_applications.command_name', 'list'), help=u"""Lists all the private applications in a given compartment. \n[Command Reference](listPrivateApplications)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--private-application-id', help=u"""The unique identifier for the private application.""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@@ -1163,7 +1163,7 @@ def list_service_catalog_associations(ctx, from_json, all_pages, page_size, serv
@service_catalog_group.command(name=cli_util.override('service_catalog.list_service_catalogs.command_name', 'list'), help=u"""Lists all the service catalogs in the given compartment. \n[Command Reference](listServiceCatalogs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--service-catalog-id', help=u"""The unique identifier for the service catalog.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), help=u"""Status of the service catalog, use as a filter to filter out all active catalogs.""")
@cli_util.option('--limit', type=click.INT, help=u"""How many records to return. Specify a value greater than zero and less than or equal to 1000. The default is 30.""")
@@ -1340,7 +1340,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('service_catalog.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The unique identifier for the compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The unique identifier for the compartment.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "FAILED", "SUCCEEDED"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request""")
diff --git a/services/service_manager_proxy/src/oci_cli_service_manager_proxy/generated/servicemanagerproxy_cli.py b/services/service_manager_proxy/src/oci_cli_service_manager_proxy/generated/servicemanagerproxy_cli.py
index 4bbeb35c..7e46cc59 100644
--- a/services/service_manager_proxy/src/oci_cli_service_manager_proxy/generated/servicemanagerproxy_cli.py
+++ b/services/service_manager_proxy/src/oci_cli_service_manager_proxy/generated/servicemanagerproxy_cli.py
@@ -38,7 +38,7 @@ def service_environment_group():
@cli_util.option('--service-environment-id', required=True, help=u"""The unique identifier associated with the service environment.
**Note:** Not an [OCID].""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -61,7 +61,7 @@ def get_service_environment(ctx, from_json, service_environment_id, compartment_
@service_environment_group.command(name=cli_util.override('service_manager_proxy.list_service_environments.command_name', 'list'), help=u"""List the details of Software as a Service (SaaS) environments provisioned by Service Manager. Information includes the service instance endpoints and service definition details. \n[Command Reference](listServiceEnvironments)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the compartment.""")
@cli_util.option('--service-environment-id', help=u"""The unique identifier associated with the service environment.
**Note:** Not an [OCID].""")
diff --git a/services/stack_monitoring/src/oci_cli_stack_monitoring/generated/stackmonitoring_cli.py b/services/stack_monitoring/src/oci_cli_stack_monitoring/generated/stackmonitoring_cli.py
index e13aace4..d9b350ba 100644
--- a/services/stack_monitoring/src/oci_cli_stack_monitoring/generated/stackmonitoring_cli.py
+++ b/services/stack_monitoring/src/oci_cli_stack_monitoring/generated/stackmonitoring_cli.py
@@ -222,7 +222,7 @@ def apply_monitoring_template(ctx, from_json, wait_for_state, max_wait_seconds,
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.associate_monitored_resources.command_name', 'associate'), help=u"""Create an association between two monitored resources. Associations can be created between resources from different compartments as long they are in same tenancy. User should have required access in both the compartments. \n[Command Reference](associateMonitoredResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--association-type', required=True, help=u"""Association type to be created between source and destination resources.""")
@cli_util.option('--source-resource-id', required=True, help=u"""Source Monitored Resource Identifier [OCID].""")
@cli_util.option('--destination-resource-id', required=True, help=u"""Destination Monitored Resource Identifier [OCID].""")
@@ -261,7 +261,7 @@ def associate_monitored_resources(ctx, from_json, compartment_id, association_ty
When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeConfigCompartment)""")
@cli_util.option('--config-id', required=True, help=u"""Unique Config identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -292,7 +292,7 @@ def change_config_compartment(ctx, from_json, config_id, compartment_id, if_matc
@metric_extension_group.command(name=cli_util.override('stack_monitoring.change_metric_extension_compartment.command_name', 'change-compartment'), help=u"""Moves a Metric Extension resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMetricExtensionCompartment)""")
@cli_util.option('--metric-extension-id', required=True, help=u"""The [OCID] of the metric extension resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -323,7 +323,7 @@ def change_metric_extension_compartment(ctx, from_json, metric_extension_id, com
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.change_monitored_resource_compartment.command_name', 'change-compartment'), help=u"""Moves a monitored resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeMonitoredResourceCompartment)""")
@cli_util.option('--monitored-resource-id', required=True, help=u"""The [OCID] of monitored resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), 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.""")
@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.""")
@@ -384,7 +384,7 @@ def change_monitored_resource_compartment(ctx, from_json, wait_for_state, max_wa
@monitored_resource_task_group.command(name=cli_util.override('stack_monitoring.change_monitored_resource_task_compartment.command_name', 'change-compartment'), help=u"""Moves a stack monitoring resource task from one compartment to another. \n[Command Reference](changeMonitoredResourceTaskCompartment)""")
@cli_util.option('--monitored-resource-task-id', required=True, help=u"""The [OCID] of stack monitoring resource task.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -415,7 +415,7 @@ def change_monitored_resource_task_compartment(ctx, from_json, monitored_resourc
@process_set_group.command(name=cli_util.override('stack_monitoring.change_process_set_compartment.command_name', 'change-compartment'), help=u"""Moves a ProcessSet resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeProcessSetCompartment)""")
@cli_util.option('--process-set-id', required=True, help=u"""The Process Set ID""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -519,7 +519,7 @@ def create_alarm_condition(ctx, from_json, wait_for_state, max_wait_seconds, wai
@baselineable_metric_group.command(name=cli_util.override('stack_monitoring.create_baselineable_metric.command_name', 'create'), help=u"""Creates the specified Baseline-able metric \n[Command Reference](createBaselineableMetric)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment""")
@cli_util.option('--column', required=True, help=u"""metric column name""")
@cli_util.option('--namespace', required=True, help=u"""namespace of the metric""")
@cli_util.option('--name', help=u"""name of the metric""")
@@ -586,7 +586,7 @@ def create_baselineable_metric(ctx, from_json, wait_for_state, max_wait_seconds,
@config_group.command(name=cli_util.override('stack_monitoring.create_config.command_name', 'create'), help=u"""Creates a configuration item, for example to define whether resources of a specific type should be discovered automatically.
For example, when a new Management Agent gets registered in a certain compartment, this Management Agent can potentially get promoted to a HOST resource. The configuration item will determine if HOST resources in the selected compartment will be discovered automatically. \n[Command Reference](createConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment in which the configuration is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment in which the configuration is created.""")
@cli_util.option('--config-type', required=True, help=u"""The type of configuration.""")
@cli_util.option('--display-name', help=u"""The display name of the configuration.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -651,7 +651,7 @@ def create_config(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@config_group.command(name=cli_util.override('stack_monitoring.create_config_create_license_auto_assign_config_details.command_name', 'create-config-create-license-auto-assign-config-details'), help=u"""Creates a configuration item, for example to define whether resources of a specific type should be discovered automatically.
For example, when a new Management Agent gets registered in a certain compartment, this Management Agent can potentially get promoted to a HOST resource. The configuration item will determine if HOST resources in the selected compartment will be discovered automatically. \n[Command Reference](createConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment in which the configuration is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment in which the configuration is created.""")
@cli_util.option('--license', required=True, type=custom_types.CliCaseInsensitiveChoice(["STANDARD_EDITION", "ENTERPRISE_EDITION", "ENTERPRISE_EDITION_FOR_GPU_INFRASTRUCTURE"]), help=u"""License edition.""")
@cli_util.option('--display-name', help=u"""The display name of the configuration.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -718,7 +718,7 @@ def create_config_create_license_auto_assign_config_details(ctx, from_json, wait
@config_group.command(name=cli_util.override('stack_monitoring.create_config_create_onboard_config_details.command_name', 'create-config-create-onboard-config-details'), help=u"""Creates a configuration item, for example to define whether resources of a specific type should be discovered automatically.
For example, when a new Management Agent gets registered in a certain compartment, this Management Agent can potentially get promoted to a HOST resource. The configuration item will determine if HOST resources in the selected compartment will be discovered automatically. \n[Command Reference](createConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment in which the configuration is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment in which the configuration is created.""")
@cli_util.option('--is-manually-onboarded', required=True, type=click.BOOL, help=u"""True if customer decides marks configuration as manually configured.""")
@cli_util.option('--display-name', help=u"""The display name of the configuration.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -809,7 +809,7 @@ def create_config_create_onboard_config_details(ctx, from_json, wait_for_state,
@config_group.command(name=cli_util.override('stack_monitoring.create_config_create_auto_promote_config_details.command_name', 'create-config-create-auto-promote-config-details'), help=u"""Creates a configuration item, for example to define whether resources of a specific type should be discovered automatically.
For example, when a new Management Agent gets registered in a certain compartment, this Management Agent can potentially get promoted to a HOST resource. The configuration item will determine if HOST resources in the selected compartment will be discovered automatically. \n[Command Reference](createConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment in which the configuration is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment in which the configuration is created.""")
@cli_util.option('--resource-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["HOST"]), help=u"""The type of resource to configure for automatic promotion.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""True if automatic promotion is enabled, false if it is not enabled.""")
@cli_util.option('--display-name', help=u"""The display name of the configuration.""")
@@ -878,7 +878,7 @@ def create_config_create_auto_promote_config_details(ctx, from_json, wait_for_st
@config_group.command(name=cli_util.override('stack_monitoring.create_config_create_compute_auto_activate_plugin_config_details.command_name', 'create-config-create-compute-auto-activate-plugin-config-details'), help=u"""Creates a configuration item, for example to define whether resources of a specific type should be discovered automatically.
For example, when a new Management Agent gets registered in a certain compartment, this Management Agent can potentially get promoted to a HOST resource. The configuration item will determine if HOST resources in the selected compartment will be discovered automatically. \n[Command Reference](createConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment in which the configuration is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment in which the configuration is created.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""True if automatic activation of the Management Agent plugin is enabled, false if it is not enabled.""")
@cli_util.option('--display-name', help=u"""The display name of the configuration.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -945,7 +945,7 @@ def create_config_create_compute_auto_activate_plugin_config_details(ctx, from_j
@config_group.command(name=cli_util.override('stack_monitoring.create_config_create_license_enterprise_extensibility_config_details.command_name', 'create-config-create-license-enterprise-extensibility-config-details'), help=u"""Creates a configuration item, for example to define whether resources of a specific type should be discovered automatically.
For example, when a new Management Agent gets registered in a certain compartment, this Management Agent can potentially get promoted to a HOST resource. The configuration item will determine if HOST resources in the selected compartment will be discovered automatically. \n[Command Reference](createConfig)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment in which the configuration is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment in which the configuration is created.""")
@cli_util.option('--is-enabled', required=True, type=click.BOOL, help=u"""True if enterprise extensibility is enabled, false if it is not enabled.""")
@cli_util.option('--display-name', help=u"""The display name of the configuration.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1010,7 +1010,7 @@ def create_config_create_license_enterprise_extensibility_config_details(ctx, fr
@discovery_job_group.command(name=cli_util.override('stack_monitoring.create_discovery_job.command_name', 'create'), help=u"""API to create discovery Job and submit discovery Details to agent. \n[Command Reference](createDiscoveryJob)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of Compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of Compartment""")
@cli_util.option('--discovery-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--discovery-type', type=custom_types.CliCaseInsensitiveChoice(["ADD", "ADD_WITH_RETRY", "REFRESH"]), help=u"""Add option submits new discovery Job. Add with retry option to re-submit failed discovery job. Refresh option refreshes the existing discovered resources.""")
@cli_util.option('--discovery-client', help=u"""Client who submits discovery job.""")
@@ -1082,7 +1082,7 @@ def create_discovery_job(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@maintenance_window_group.command(name=cli_util.override('stack_monitoring.create_maintenance_window.command_name', 'create'), help=u"""Creates a new Maintenance Window for the given resources. It will create also the Alarms Suppression for each alarm that the resource migth trigger. \n[Command Reference](createMaintenanceWindow)""")
@cli_util.option('--name', required=True, help=u"""Maintenance Window name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--resources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of resource Ids which are part of the Maintenance Window""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--schedule', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""Maintenance Window description.""")
@@ -1153,7 +1153,7 @@ def create_maintenance_window(ctx, from_json, wait_for_state, max_wait_seconds,
@maintenance_window_group.command(name=cli_util.override('stack_monitoring.create_maintenance_window_recurrent_maintenance_window_schedule.command_name', 'create-maintenance-window-recurrent-maintenance-window-schedule'), help=u"""Creates a new Maintenance Window for the given resources. It will create also the Alarms Suppression for each alarm that the resource migth trigger. \n[Command Reference](createMaintenanceWindow)""")
@cli_util.option('--name', required=True, help=u"""Maintenance Window name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--resources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of resource Ids which are part of the Maintenance Window""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--schedule-maintenance-window-recurrences', required=True, help=u"""A RFC5545 formatted recurrence string which represents the Maintenance Window Recurrence. Please refer this for details:https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 FREQ: Frequency of the Maintenance Window. The supported values are: DAILY and WEEKLY. BYDAY: Comma separated days for Weekly Maintenance Window. BYHOUR: Specifies the start hour of each recurrence after `timeMaintenanceWindowStart` value. BYMINUTE: Specifies the start minute of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 BYSECOND: Specifies the start second of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 Other Rules are not supported.""")
@cli_util.option('--description', help=u"""Maintenance Window description.""")
@@ -1239,7 +1239,7 @@ def create_maintenance_window_recurrent_maintenance_window_schedule(ctx, from_js
@maintenance_window_group.command(name=cli_util.override('stack_monitoring.create_maintenance_window_one_time_maintenance_window_schedule.command_name', 'create-maintenance-window-one-time-maintenance-window-schedule'), help=u"""Creates a new Maintenance Window for the given resources. It will create also the Alarms Suppression for each alarm that the resource migth trigger. \n[Command Reference](createMaintenanceWindow)""")
@cli_util.option('--name', required=True, help=u"""Maintenance Window name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--resources', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of resource Ids which are part of the Maintenance Window""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""Maintenance Window description.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1321,7 +1321,7 @@ def create_maintenance_window_one_time_maintenance_window_schedule(ctx, from_jso
@cli_util.option('--name', required=True, help=u"""Metric Extension Resource name.""")
@cli_util.option('--display-name', required=True, help=u"""Metric Extension display name.""")
@cli_util.option('--resource-type', required=True, help=u"""Resource type to which Metric Extension applies""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID]""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID]""")
@cli_util.option('--collection-recurrences', required=True, help=u"""Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = \"FREQ\";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are \"MINUTELY\",\"HOURLY\",\"DAILY\" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1""")
@cli_util.option('--metric-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of metrics which are part of this metric extension""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--query-properties', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1386,7 +1386,7 @@ def create_metric_extension(ctx, from_json, wait_for_state, max_wait_seconds, wa
@cli_util.option('--name', required=True, help=u"""Metric Extension Resource name.""")
@cli_util.option('--display-name', required=True, help=u"""Metric Extension display name.""")
@cli_util.option('--resource-type', required=True, help=u"""Resource type to which Metric Extension applies""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID]""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID]""")
@cli_util.option('--collection-recurrences', required=True, help=u"""Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = \"FREQ\";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are \"MINUTELY\",\"HOURLY\",\"DAILY\" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1""")
@cli_util.option('--metric-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of metrics which are part of this metric extension""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--query-properties-command', required=True, help=u"""OS command to execute without arguments""")
@@ -1468,7 +1468,7 @@ def create_metric_extension_os_command_query_properties(ctx, from_json, wait_for
@cli_util.option('--name', required=True, help=u"""Metric Extension Resource name.""")
@cli_util.option('--display-name', required=True, help=u"""Metric Extension display name.""")
@cli_util.option('--resource-type', required=True, help=u"""Resource type to which Metric Extension applies""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID]""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID]""")
@cli_util.option('--collection-recurrences', required=True, help=u"""Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = \"FREQ\";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are \"MINUTELY\",\"HOURLY\",\"DAILY\" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1""")
@cli_util.option('--metric-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of metrics which are part of this metric extension""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--query-properties-sql-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["STATEMENT", "SQL_SCRIPT"]), help=u"""Type of SQL data collection method i.e. either a Statement or SQL Script File""")
@@ -1548,7 +1548,7 @@ def create_metric_extension_sql_query_properties(ctx, from_json, wait_for_state,
@cli_util.option('--name', required=True, help=u"""Metric Extension Resource name.""")
@cli_util.option('--display-name', required=True, help=u"""Metric Extension display name.""")
@cli_util.option('--resource-type', required=True, help=u"""Resource type to which Metric Extension applies""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID]""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID]""")
@cli_util.option('--collection-recurrences', required=True, help=u"""Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = \"FREQ\";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are \"MINUTELY\",\"HOURLY\",\"DAILY\" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1""")
@cli_util.option('--metric-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of metrics which are part of this metric extension""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--query-properties-managed-bean-query', required=True, help=u"""JMX Managed Bean Query or Metric Service Table name""")
@@ -1630,7 +1630,7 @@ def create_metric_extension_jmx_query_properties(ctx, from_json, wait_for_state,
@cli_util.option('--name', required=True, help=u"""Metric Extension Resource name.""")
@cli_util.option('--display-name', required=True, help=u"""Metric Extension display name.""")
@cli_util.option('--resource-type', required=True, help=u"""Resource type to which Metric Extension applies""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID]""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID]""")
@cli_util.option('--collection-recurrences', required=True, help=u"""Schedule of metric extension should use RFC 5545 format i.e. recur-rule-part = \"FREQ\";INTERVAL where FREQ rule part identifies the type of recurrence rule. Valid values are \"MINUTELY\",\"HOURLY\",\"DAILY\" to specify repeating events based on an interval of a minute, an hour and a day or more. Example- FREQ=DAILY;INTERVAL=1""")
@cli_util.option('--metric-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of metrics which are part of this metric extension""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--query-properties-url', required=True, help=u"""Http(s) end point URL""")
@@ -1705,7 +1705,7 @@ def create_metric_extension_http_query_properties(ctx, from_json, wait_for_state
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource.command_name', 'create'), help=u"""Creates a new monitored resource for the given resource type with the details and submits a work request for promoting the resource to agent. Once the resource is successfully added to agent, resource state will be marked active. \n[Command Reference](createMonitoredResource)""")
@cli_util.option('--name', required=True, help=u"""Monitored Resource Name.""")
@cli_util.option('--type', required=True, help=u"""Monitored Resource Type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--display-name', help=u"""Monitored resource display name.""")
@cli_util.option('--host-name', help=u"""Host name of the monitored resource.""")
@cli_util.option('--external-id', help=u"""External resource is any OCI resource identifier [OCID] which is not a Stack Monitoring service resource. Currently supports only OCI compute instance.""")
@@ -1827,7 +1827,7 @@ def create_monitored_resource(ctx, from_json, wait_for_state, max_wait_seconds,
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_pre_existing_credentials.command_name', 'create-monitored-resource-pre-existing-credentials'), help=u"""Creates a new monitored resource for the given resource type with the details and submits a work request for promoting the resource to agent. Once the resource is successfully added to agent, resource state will be marked active. \n[Command Reference](createMonitoredResource)""")
@cli_util.option('--name', required=True, help=u"""Monitored Resource Name.""")
@cli_util.option('--type', required=True, help=u"""Monitored Resource Type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--display-name', help=u"""Monitored resource display name.""")
@cli_util.option('--host-name', help=u"""Host name of the monitored resource.""")
@cli_util.option('--external-id', help=u"""External resource is any OCI resource identifier [OCID] which is not a Stack Monitoring service resource. Currently supports only OCI compute instance.""")
@@ -1964,7 +1964,7 @@ def create_monitored_resource_pre_existing_credentials(ctx, from_json, wait_for_
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_encrypted_credentials.command_name', 'create-monitored-resource-encrypted-credentials'), help=u"""Creates a new monitored resource for the given resource type with the details and submits a work request for promoting the resource to agent. Once the resource is successfully added to agent, resource state will be marked active. \n[Command Reference](createMonitoredResource)""")
@cli_util.option('--name', required=True, help=u"""Monitored Resource Name.""")
@cli_util.option('--type', required=True, help=u"""Monitored Resource Type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--credentials-key-id', required=True, help=u"""The master key should be created in OCI Vault owned by the client of this API. The user should have permission to access the vault key.""")
@cli_util.option('--credentials-properties', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The credential properties list. Credential property values will be encrypted format.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Monitored resource display name.""")
@@ -2105,7 +2105,7 @@ def create_monitored_resource_encrypted_credentials(ctx, from_json, wait_for_sta
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_plain_text_credentials.command_name', 'create-monitored-resource-plain-text-credentials'), help=u"""Creates a new monitored resource for the given resource type with the details and submits a work request for promoting the resource to agent. Once the resource is successfully added to agent, resource state will be marked active. \n[Command Reference](createMonitoredResource)""")
@cli_util.option('--name', required=True, help=u"""Monitored Resource Name.""")
@cli_util.option('--type', required=True, help=u"""Monitored Resource Type.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--credentials-properties', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The credential properties list. Credential property values will be either in plain text format or encrypted for encrypted credentials.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""Monitored resource display name.""")
@cli_util.option('--host-name', help=u"""Host name of the monitored resource.""")
@@ -2242,7 +2242,7 @@ def create_monitored_resource_plain_text_credentials(ctx, from_json, wait_for_st
@monitored_resource_task_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_task.command_name', 'create'), help=u"""Create a new stack monitoring resource task. \n[Command Reference](createMonitoredResourceTask)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment identifier.""")
@cli_util.option('--task-details', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--name', help=u"""Name of the task. If not provided by default the following names will be taken OCI tasks - namespace plus timestamp.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -2309,7 +2309,7 @@ def create_monitored_resource_task(ctx, from_json, wait_for_state, max_wait_seco
@monitored_resource_task_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_task_import_oci_telemetry_resources_task_details.command_name', 'create-monitored-resource-task-import-oci-telemetry-resources-task-details'), help=u"""Create a new stack monitoring resource task. \n[Command Reference](createMonitoredResourceTask)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment identifier.""")
@cli_util.option('--task-details-source', required=True, type=custom_types.CliCaseInsensitiveChoice(["OCI_TELEMETRY_NATIVE", "OCI_TELEMETRY_PROMETHEUS", "OCI_TELEMETRY_TELEGRAF", "OCI_TELEMETRY_COLLECTD"]), help=u"""Source from where the metrics pushed to telemetry. Possible values: * OCI_TELEMETRY_NATIVE - The metrics are pushed to telemetry from OCI Native Services. * OCI_TELEMETRY_PROMETHEUS - The metrics are pushed to telemetry from Prometheus. * OCI_TELEMETRY_TELEGRAF - The metrics are pushed to telemetry from Telegraf receiver. * OCI_TELEMETRY_COLLECTD - The metrics are pushed to telemetry from CollectD receiver.""")
@cli_util.option('--task-details-namespace', required=True, help=u"""Name space to be used for OCI Native service resources discovery.""")
@cli_util.option('--name', help=u"""Name of the task. If not provided by default the following names will be taken OCI tasks - namespace plus timestamp.""")
@@ -2429,7 +2429,7 @@ def create_monitored_resource_task_import_oci_telemetry_resources_task_details(c
@monitored_resource_task_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_task_update_agent_receiver_task_details.command_name', 'create-monitored-resource-task-update-agent-receiver-task-details'), help=u"""Create a new stack monitoring resource task. \n[Command Reference](createMonitoredResourceTask)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment identifier.""")
@cli_util.option('--task-details-agent-id', required=True, help=u"""Management Agent Identifier [OCID].""")
@cli_util.option('--task-details-handler-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["TELEGRAF", "COLLECTD"]), help=u"""Type of the handler.""")
@cli_util.option('--task-details-is-enable', required=True, type=click.BOOL, help=u"""True to enable the receiver and false to disable the receiver on the agent.""")
@@ -2507,7 +2507,7 @@ def create_monitored_resource_task_update_agent_receiver_task_details(ctx, from_
@monitored_resource_task_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_task_update_resource_type_config_task_details.command_name', 'create-monitored-resource-task-update-resource-type-config-task-details'), help=u"""Create a new stack monitoring resource task. \n[Command Reference](createMonitoredResourceTask)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment identifier.""")
@cli_util.option('--task-details-handler-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["TELEGRAF", "COLLECTD"]), help=u"""Type of the handler.""")
@cli_util.option('--task-details-resource-types-configuration', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A collection of resource type configuration details. User can provide availability proxy metrics list for resource types along with the telegraf/collectd handler configuration for the resource types.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--name', help=u"""Name of the task. If not provided by default the following names will be taken OCI tasks - namespace plus timestamp.""")
@@ -2580,7 +2580,7 @@ def create_monitored_resource_task_update_resource_type_config_task_details(ctx,
@monitored_resource_type_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_type.command_name', 'create'), help=u"""Creates a new monitored resource type. \n[Command Reference](createMonitoredResourceType)""")
@cli_util.option('--name', required=True, help=u"""A unique monitored resource type name. The name must be unique across tenancy. Name can not be changed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--display-name', help=u"""Monitored resource type display name.""")
@cli_util.option('--description', help=u"""A friendly description.""")
@cli_util.option('--metric-namespace', help=u"""Metric namespace for resource type.""")
@@ -2663,7 +2663,7 @@ def create_monitored_resource_type(ctx, from_json, wait_for_state, max_wait_seco
@monitored_resource_type_group.command(name=cli_util.override('stack_monitoring.create_monitored_resource_type_system_format_resource_type_metadata_details.command_name', 'create-monitored-resource-type-system-format-resource-type-metadata-details'), help=u"""Creates a new monitored resource type. \n[Command Reference](createMonitoredResourceType)""")
@cli_util.option('--name', required=True, help=u"""A unique monitored resource type name. The name must be unique across tenancy. Name can not be changed.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--display-name', help=u"""Monitored resource type display name.""")
@cli_util.option('--description', help=u"""A friendly description.""")
@cli_util.option('--metric-namespace', help=u"""Metric namespace for resource type.""")
@@ -2775,7 +2775,7 @@ def create_monitored_resource_type_system_format_resource_type_metadata_details(
@monitoring_template_group.command(name=cli_util.override('stack_monitoring.create_monitoring_template.command_name', 'create'), help=u"""Creates a new monitoring template for a given compartment. \n[Command Reference](createMonitoringTemplate)""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the monitoring template. It is unique and mutable in nature. Avoid entering confidential information.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment containing the monitoringTemplate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment containing the monitoringTemplate.""")
@cli_util.option('--destinations', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of destinations for alarm notifications. Each destination is represented by the OCID of a related resource, such as a topic.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--members', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""List of members of this monitoring template""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A user-friendly description for the monitoring template. It does not have to be unique, and it's changeable. Avoid entering confidential information.""")
@@ -2857,7 +2857,7 @@ def create_monitoring_template(ctx, from_json, wait_for_state, max_wait_seconds,
@process_set_group.command(name=cli_util.override('stack_monitoring.create_process_set.command_name', 'create'), help=u"""API to create Process Set. \n[Command Reference](createProcessSet)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', required=True, help=u"""Name of the Process Set.""")
@cli_util.option('--specification', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -3628,7 +3628,7 @@ def disable_metric_extension(ctx, from_json, wait_for_state, max_wait_seconds, w
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.disassociate_monitored_resources.command_name', 'disassociate'), help=u"""Removes associations between two monitored resources. \n[Command Reference](disassociateMonitoredResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--association-type', help=u"""Association type between source and destination resources.""")
@cli_util.option('--source-resource-id', help=u"""Source Monitored Resource Identifier [OCID].""")
@cli_util.option('--destination-resource-id', help=u"""Destination Monitored Resource Identifier [OCID].""")
@@ -4201,7 +4201,7 @@ def list_alarm_conditions(ctx, from_json, all_pages, page_size, monitoring_templ
@cli_util.option('--metric-namespace', help=u"""A filter to return monitored resource types that has the matching namespace.""")
@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].""")
@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].""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--baselineable-metric-id', help=u"""Identifier for the metric""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["name", "namespace", "resourceGroup"]), help=u"""The field to sort by. Only one sort order may be provided. Default order is ascending.""")
@@ -4265,7 +4265,7 @@ def list_baselineable_metrics(ctx, from_json, all_pages, page_size, resource_gro
@config_collection_group.command(name=cli_util.override('stack_monitoring.list_configs.command_name', 'list-configs'), help=u"""Get a list of configurations in a compartment. \n[Command Reference](listConfigs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["AUTO_PROMOTE", "COMPUTE_AUTO_ACTIVATE_PLUGIN", "LICENSE_AUTO_ASSIGN", "LICENSE_ENTERPRISE_EXTENSIBILITY", "ONBOARD"]), help=u"""A filter to return only configuration items for a given config type.""")
@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].""")
@@ -4328,7 +4328,7 @@ def list_configs(ctx, from_json, all_pages, page_size, compartment_id, display_n
@defined_monitoring_template_summary_group.command(name=cli_util.override('stack_monitoring.list_defined_monitoring_templates.command_name', 'list-defined-monitoring-templates'), help=u"""List Defined Monitoring Templates. \n[Command Reference](listDefinedMonitoringTemplates)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy(root) for which defined monitored templates should be listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy(root) for which defined monitored templates should be listed.""")
@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].""")
@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].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["namespace"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for 'namespace' is ascending.""")
@@ -4448,7 +4448,7 @@ def list_discovery_job_logs(ctx, from_json, all_pages, page_size, discovery_job_
@discovery_job_collection_group.command(name=cli_util.override('stack_monitoring.list_discovery_jobs.command_name', 'list-discovery-jobs'), help=u"""API to get the details of all Discovery Jobs. \n[Command Reference](listDiscoveryJobs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--name', help=u"""A filter to return only discovery jobs that match the entire resource name given.""")
@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].""")
@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].""")
@@ -4505,7 +4505,7 @@ def list_discovery_jobs(ctx, from_json, all_pages, page_size, compartment_id, na
@maintenance_window_group.command(name=cli_util.override('stack_monitoring.list_maintenance_windows.command_name', 'list'), help=u"""Returns a list of maintenance windows. \n[Command Reference](listMaintenanceWindows)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--name', help=u"""A filter to return maintenance windows that match exact resource name.""")
@cli_util.option('--lifecycle-details', type=custom_types.CliCaseInsensitiveChoice(["IN_PROGRESS", "SCHEDULED", "COMPLETED"]), help=u"""A filter to return maintenance windows with matching lifecycleDetails.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "INACTIVE", "ACTIVE", "DELETING", "DELETED", "FAILED", "NEEDS_ATTENTION"]), help=u"""A filter to return only maintenance windows with matching lifecycleState.""")
@@ -4572,7 +4572,7 @@ def list_maintenance_windows(ctx, from_json, all_pages, page_size, compartment_i
@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].""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["NAME", "TIME_CREATED", "ENABLED_ON_RESOURCE_COUNT"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for timeCreated is descending. Default order for resources is ascending.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--resource-type', help=u"""A filter to return resources based on resource type.""")
@cli_util.option('--name', help=u"""A filter to return resources based on name.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["DRAFT", "PUBLISHED"]), help=u"""A filter to return resources based on status e.g. Draft or Published""")
@@ -4639,7 +4639,7 @@ def list_metric_extensions(ctx, from_json, all_pages, page_size, limit, page, so
@monitored_resource_task_group.command(name=cli_util.override('stack_monitoring.list_monitored_resource_tasks.command_name', 'list'), help=u"""Returns a list of stack monitoring resource tasks in the compartment. \n[Command Reference](listMonitoredResourceTasks)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment for which stack monitoring resource tasks should be listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment for which stack monitoring resource tasks should be listed.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources that matches with lifecycleState given.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["timeUpdated"]), help=u"""The field to sort by. Only one sort order may be provided. Default order for 'timeUpdated' is descending.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -4696,7 +4696,7 @@ def list_monitored_resource_tasks(ctx, from_json, all_pages, page_size, compartm
@monitored_resource_type_group.command(name=cli_util.override('stack_monitoring.list_monitored_resource_types.command_name', 'list'), help=u"""Returns list of resource types accessible to the customer. There are two types of resource types - System resource types and User resource types. System resource types are available out of the box in the stack monitoring resource service and are accessible to all the tenant users. User resource types are created in the context of a tenancy and are visible only for the tenancy. By default, both System resource types and User resource types are returned. \n[Command Reference](listMonitoredResourceTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy for which monitored resource types should be listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy for which monitored resource types should be listed.""")
@cli_util.option('--name', help=u"""A filter to return monitored resource types that match exactly with the resource type name given.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources that matches with lifecycleState given.""")
@cli_util.option('--is-exclude-system-types', type=click.BOOL, help=u"""A filter to exclude system resource types. If set to true, system resource types will be excluded.""")
@@ -4776,7 +4776,7 @@ def list_monitored_resource_types(ctx, from_json, all_pages, page_size, compartm
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.list_monitored_resources.command_name', 'list'), help=u"""Returns a list of monitored resources. \n[Command Reference](listMonitoredResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--name', help=u"""A filter to return resources that match exact resource name.""")
@cli_util.option('--work-request-id', help=u"""A filter to return resources which were impacted as part of this work request identifier.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "INACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources with matching lifecycleState.""")
@@ -4839,7 +4839,7 @@ def list_monitored_resources(ctx, from_json, all_pages, page_size, compartment_i
@monitoring_template_group.command(name=cli_util.override('stack_monitoring.list_monitoring_templates.command_name', 'list'), help=u"""Returns a list of Monitoring Templates. \n[Command Reference](listMonitoringTemplates)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--monitoring-template-id', help=u"""A filter to return monitoring template based on input monitoringTemplateId""")
@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].""")
@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].""")
@@ -4913,7 +4913,7 @@ def list_monitoring_templates(ctx, from_json, all_pages, page_size, compartment_
@process_set_collection_group.command(name=cli_util.override('stack_monitoring.list_process_sets.command_name', 'list-process-sets'), help=u"""API to get the details of all Process Sets. \n[Command Reference](listProcessSets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@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].""")
@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].""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
@@ -5084,7 +5084,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_summary_collection_group.command(name=cli_util.override('stack_monitoring.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources their lifecycleState matches the given OperationStatus.""")
@cli_util.option('--resource-id', help=u"""The ID of the resource affected by the work request.""")
@@ -5229,7 +5229,7 @@ def publish_metric_extension(ctx, from_json, wait_for_state, max_wait_seconds, w
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.request_monitored_resources_summarized_count.command_name', 'request-monitored-resources-summarized-count'), help=u"""Gets resource count based on the aggregation criteria specified using \"groupBy\" parameter. \n[Command Reference](requestMonitoredResourcesSummarizedCount)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which data is listed.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which data is listed.""")
@cli_util.option('--group-by', type=custom_types.CliCaseInsensitiveChoice(["resourceType", "license", "parentResourceId", "namespace"]), help=u"""The field to group by. Default group by is 'resourceType'.""")
@cli_util.option('--license', type=custom_types.CliCaseInsensitiveChoice(["STANDARD_EDITION", "ENTERPRISE_EDITION", "ENTERPRISE_EDITION_FOR_GPU_INFRASTRUCTURE"]), help=u"""Filter to return resource counts that match with the given licence edition.""")
@cli_util.option('--resource-type', help=u"""A filter to return resource counts that match exact resource type.""")
@@ -5271,7 +5271,7 @@ def request_monitored_resources_summarized_count(ctx, from_json, compartment_id,
@metric_extension_group.command(name=cli_util.override('stack_monitoring.request_summarized_metric_extensions_metrics.command_name', 'request-summarized-metric-extensions-metrics'), help=u"""Gets metric extension metrics count based on the aggregation criteria specified using request body. Either metricExtensionId or compartmentId must be passed even when no other filter property is passed. \n[Command Reference](requestSummarizedMetricExtensionsMetrics)""")
@cli_util.option('--metric-extension-id', help=u"""The [OCID] of Metric Extension resource""")
@cli_util.option('--resource-type', help=u"""Resource type to which Metric Extension applies""")
-@cli_util.option('--compartment-id', help=u"""Compartment Identifier [OCID]""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID]""")
@cli_util.option('--contains-metric-with-name', help=u"""Filter for metric extension resources which contain the given metric name""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["COUNT"]), help=u"""Result will ne sorted by this parameter value""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""Sort orders""")
@@ -5322,7 +5322,7 @@ def request_summarized_metric_extensions_metrics(ctx, from_json, metric_extensio
@metric_extension_group.command(name=cli_util.override('stack_monitoring.request_summarized_metric_extensions_resources.command_name', 'request-summarized-metric-extensions-resources'), help=u"""Gets metric extension resources count based on the aggregation criteria specified using request body. Either metricExtensionId or compartmentId should be passed, if no other property is passed. \n[Command Reference](requestSummarizedMetricExtensionsResources)""")
@cli_util.option('--metric-extension-id', help=u"""The [OCID] of Metric Extension resource""")
@cli_util.option('--resource-type', help=u"""Resource type to which Metric Extension applies""")
-@cli_util.option('--compartment-id', help=u"""Compartment Identifier [OCID]""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID]""")
@cli_util.option('--association-status', type=custom_types.CliCaseInsensitiveChoice(["ENABLED", "DISABLED"]), help=u"""Filter to return metric extensions based on input enable status i.e. Enabled/Disabled""")
@cli_util.option('--resource-id', help=u"""The [OCID] of Monitored Resource""")
@cli_util.option('--group-by', type=custom_types.CliCaseInsensitiveChoice(["METRIC_EXTENSION_ID"]), help=u"""The field to group by""")
@@ -5434,7 +5434,7 @@ def retry_failed_maintenance_window_operation(ctx, from_json, wait_for_state, ma
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.search_associated_resources.command_name', 'search-associated-resources'), help=u"""List all associated resources recursively up-to a specified level, for the monitored resources of type specified. \n[Command Reference](searchAssociatedResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--resource-type', help=u"""A filter to return associated resources that match resources of type. Either resourceId or resourceType should be provided.""")
@cli_util.option('--resource-id', help=u"""Monitored resource identifier for which the associated resources should be fetched. Either resourceId or resourceType should be provided.""")
@cli_util.option('--limit-level', type=click.INT, help=u"""The field which determines the depth of hierarchy while searching for associated resources. Possible values - 0 for all levels. And positive number to indicate different levels. Default value is 1, which indicates 1st level associations.""")
@@ -5488,7 +5488,7 @@ def search_associated_resources(ctx, from_json, compartment_id, resource_type, r
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.search_monitored_resource_associations.command_name', 'search-monitored-resource-associations'), help=u"""Search associations in the given compartment based on the search criteria. \n[Command Reference](searchMonitoredResourceAssociations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--source-resource-id', help=u"""Source Monitored Resource Identifier [OCID].""")
@cli_util.option('--source-resource-name', help=u"""Source Monitored Resource Name.""")
@cli_util.option('--source-resource-type', help=u"""Source Monitored Resource Type.""")
@@ -5605,7 +5605,7 @@ def search_monitored_resource_members(ctx, from_json, monitored_resource_id, des
@monitored_resource_group.command(name=cli_util.override('stack_monitoring.search_monitored_resources.command_name', 'search'), help=u"""Gets a list of all monitored resources in a compartment for the given search criteria. \n[Command Reference](searchMonitoredResources)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier [OCID].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier [OCID].""")
@cli_util.option('--compartment-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Multiple compartment identifiers [OCID].""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--lifecycle-states', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Multiple lifecycle states filter.
@@ -6086,8 +6086,8 @@ def update_and_propagate_tags(ctx, from_json, wait_for_state, max_wait_seconds,
@cli_util.option('--is-out-of-box', required=True, type=click.BOOL, help=u"""Is the metric created out of box, default false""")
@cli_util.option('--baselineable-metric-id', required=True, help=u"""Identifier for the metric""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""The current lifecycle state of the metric extension""")
-@cli_util.option('--tenancy-id', help=u"""OCID of the tenancy""")
-@cli_util.option('--compartment-id', help=u"""OCID of the compartment""")
+@cli_util.option('--tenancy-id', type=custom_types.CLI_OCID, help=u"""OCID of the tenancy""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""OCID of the compartment""")
@cli_util.option('--resource-type', help=u"""Resource type of the metric""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/streaming/src/oci_cli_stream/generated/stream_cli.py b/services/streaming/src/oci_cli_stream/generated/stream_cli.py
index 268295f7..433c2360 100644
--- a/services/streaming/src/oci_cli_stream/generated/stream_cli.py
+++ b/services/streaming/src/oci_cli_stream/generated/stream_cli.py
@@ -49,7 +49,7 @@ def group_group():
@group_group.command(name=cli_util.override('stream.consumer_commit.command_name', 'consumer-commit'), help=u"""Provides a mechanism to manually commit offsets, if not using commit-on-get consumer semantics. This commits offsets assicated with the provided cursor, extends the timeout on each of the affected partitions, and returns an updated cursor.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](consumerCommit)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--cursor', required=True, help=u"""The group-cursor representing the offsets of the group. This cursor is retrieved from the CreateGroupCursor API call.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -75,7 +75,7 @@ def consumer_commit(ctx, from_json, stream_id, cursor):
@group_group.command(name=cli_util.override('stream.consumer_heartbeat.command_name', 'consumer-heartbeat'), help=u"""Allows long-running processes to extend the timeout on partitions reserved by a consumer instance.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](consumerHeartbeat)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--cursor', required=True, help=u"""The group-cursor representing the offsets of the group. This cursor is retrieved from the CreateGroupCursor API call.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -101,7 +101,7 @@ def consumer_heartbeat(ctx, from_json, stream_id, cursor):
@cursor_group.command(name=cli_util.override('stream.create_cursor.command_name', 'create'), help=u"""Creates a cursor. Cursors are used to consume a stream, starting from a specific point in the partition and going forward from there. You can create a cursor based on an offset, a time, the trim horizon, or the most recent message in the stream. As the oldest message inside the retention period boundary, using the trim horizon effectively lets you consume all messages in the stream. A cursor based on the most recent message allows consumption of only messages that are added to the stream after you create the cursor. Cursors expire five minutes after you receive them from the service.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](createCursor)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--partition', required=True, help=u"""The partition to get messages from.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["AFTER_OFFSET", "AT_OFFSET", "AT_TIME", "LATEST", "TRIM_HORIZON"]), help=u"""The type of cursor, which determines the starting point from which the stream will be consumed:
@@ -143,7 +143,7 @@ def create_cursor(ctx, from_json, stream_id, partition, type, offset, time):
@cursor_group.command(name=cli_util.override('stream.create_group_cursor.command_name', 'create-group'), help=u"""Creates a group-cursor.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](createGroupCursor)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["AT_TIME", "LATEST", "TRIM_HORIZON"]), help=u"""The type of the cursor. This value is only used when the group is created.""")
@cli_util.option('--group-name', required=True, help=u"""Name of the consumer group.""")
@cli_util.option('--time', type=custom_types.CLI_DATETIME, help=u"""The time to consume from if type is AT_TIME.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -191,7 +191,7 @@ def create_group_cursor(ctx, from_json, stream_id, type, group_name, time, insta
@group_group.command(name=cli_util.override('stream.get_group.command_name', 'get'), help=u"""Returns the current state of a consumer group.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getGroup)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--group-name', required=True, help=u"""The name of the consumer group.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -220,7 +220,7 @@ def get_group(ctx, from_json, stream_id, group_name):
@message_group.command(name=cli_util.override('stream.get_messages.command_name', 'get'), help=u"""Returns messages from the specified stream using the specified cursor as the starting point for consumption. By default, the number of messages returned is undefined, but the service returns as many as possible. To get messages, you must first obtain a cursor using the [CreateCursor] operation. In the response, retrieve the value of the 'opc-next-cursor' header to pass as a parameter to get the next batch of messages in the stream.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](getMessages)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--cursor', required=True, help=u"""The cursor used to consume the stream.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of messages to return. You can specify any value up to 10000. By default, the service returns as many messages as possible. Consider your average message size to help avoid exceeding throughput on the stream.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -249,7 +249,7 @@ def get_messages(ctx, from_json, stream_id, cursor, limit):
@message_group.command(name=cli_util.override('stream.put_messages.command_name', 'put'), help=u"""Emits messages to a stream. There's no limit to the number of messages in a request, but the total size of a message or request must be 1 MiB or less. The service calculates the partition ID from the message key and stores messages that share a key on the same partition. If a message does not contain a key or if the key is null, the service generates a message key for you. The partition ID cannot be passed as a parameter.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](putMessages)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--messages', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The array of messages to put into a stream.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'messages': {'module': 'streaming', 'class': 'list[PutMessagesDetailsEntry]'}})
@cli_util.help_option
@@ -279,7 +279,7 @@ def put_messages(ctx, from_json, stream_id, messages):
@group_group.command(name=cli_util.override('stream.update_group.command_name', 'update'), help=u"""Forcefully changes the current location of a group as a whole; reseting processing location of all consumers to a particular location in the stream.
The top level --endpoint parameter must be supplied for this operation. \n[Command Reference](updateGroup)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@cli_util.option('--group-name', required=True, help=u"""The name of the consumer group.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["AT_TIME", "LATEST", "TRIM_HORIZON"]), help=u"""The type of the cursor.""")
@cli_util.option('--time', type=custom_types.CLI_DATETIME, help=u"""The time to consume from if type is AT_TIME.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
diff --git a/services/streaming/src/oci_cli_stream_admin/generated/streamadmin_cli.py b/services/streaming/src/oci_cli_stream_admin/generated/streamadmin_cli.py
index 86b55f5a..f7694171 100644
--- a/services/streaming/src/oci_cli_stream_admin/generated/streamadmin_cli.py
+++ b/services/streaming/src/oci_cli_stream_admin/generated/streamadmin_cli.py
@@ -47,8 +47,8 @@ def connect_harness_group():
@connect_harness_group.command(name=cli_util.override('stream_admin.change_connect_harness_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeConnectHarnessCompartment)""")
-@cli_util.option('--connect-harness-id', required=True, help=u"""The OCID of the connect harness.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--connect-harness-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the connect harness.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -78,8 +78,8 @@ def change_connect_harness_compartment(ctx, from_json, connect_harness_id, compa
@stream_group.command(name=cli_util.override('stream_admin.change_stream_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. The stream will also be moved into the default stream pool in the destination compartment. \n[Command Reference](changeStreamCompartment)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -109,8 +109,8 @@ def change_stream_compartment(ctx, from_json, stream_id, compartment_id, if_matc
@stream_pool_group.command(name=cli_util.override('stream_admin.change_stream_pool_compartment.command_name', 'change-compartment'), help=u"""Moves a resource into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeStreamPoolCompartment)""")
-@cli_util.option('--stream-pool-id', required=True, help=u"""The OCID of the stream pool.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--stream-pool-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream pool.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -143,7 +143,7 @@ def change_stream_pool_compartment(ctx, from_json, stream_pool_id, compartment_i
@cli_util.option('--name', required=True, help=u"""The name of the connect harness. Avoid entering confidential information.
Example: `JDBCConnector`""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the connect harness.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the connect harness.""")
@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 that is applied with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see [Resource Tags].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -209,8 +209,8 @@ def create_connect_harness(ctx, from_json, wait_for_state, max_wait_seconds, wai
Example: `TelemetryEvents`""")
@cli_util.option('--partitions', required=True, type=click.INT, help=u"""The number of partitions in the stream.""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the stream.""")
-@cli_util.option('--stream-pool-id', help=u"""The OCID of the stream pool that contains the stream.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the stream.""")
+@cli_util.option('--stream-pool-id', type=custom_types.CLI_OCID, help=u"""The OCID of the stream pool that contains the stream.""")
@cli_util.option('--retention-in-hours', type=click.INT, help=u"""The retention period of the stream, in hours. Accepted values are between 24 and 168 (7 days). If not specified, the stream will have a retention period of 24 hours.""")
@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 that is applied with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see [Resource Tags].
@@ -282,7 +282,7 @@ def create_stream(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@stream_pool_group.command(name=cli_util.override('stream_admin.create_stream_pool.command_name', 'create'), help=u"""Starts the provisioning of a new stream pool. To track the progress of the provisioning, you can periodically call GetStreamPool. In the response, the `lifecycleState` parameter of the object tells you its current state. \n[Command Reference](createStreamPool)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the stream.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the stream.""")
@cli_util.option('--name', required=True, help=u"""The name of the stream pool. Avoid entering confidential information.
Example: `MyStreamPool`""")
@@ -365,7 +365,7 @@ def create_stream_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@connect_harness_group.command(name=cli_util.override('stream_admin.delete_connect_harness.command_name', 'delete'), help=u"""Deletes a connect harness and its content. Connect harness contents are deleted immediately. The service retains records of the connect harness itself for 90 days after deletion. The `lifecycleState` parameter of the `ConnectHarness` object changes to `DELETING` and the connect harness becomes inaccessible for read or write operations. To verify that a connect harness has been deleted, make a [GetConnectHarness] request. If the call returns the connect harness's lifecycle state as `DELETED`, then the connect harness has been deleted. If the call returns a \"404 Not Found\" error, that means all records of the connect harness have been deleted. \n[Command Reference](deleteConnectHarness)""")
-@cli_util.option('--connect-harness-id', required=True, help=u"""The OCID of the connect harness.""")
+@cli_util.option('--connect-harness-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the connect harness.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -429,7 +429,7 @@ def delete_connect_harness(ctx, from_json, wait_for_state, max_wait_seconds, wai
@stream_group.command(name=cli_util.override('stream_admin.delete_stream.command_name', 'delete'), help=u"""Deletes a stream and its content. Stream contents are deleted immediately. The service retains records of the stream itself for 90 days after deletion. The `lifecycleState` parameter of the `Stream` object changes to `DELETING` and the stream becomes inaccessible for read or write operations. To verify that a stream has been deleted, make a [GetStream] request. If the call returns the stream's lifecycle state as `DELETED`, then the stream has been deleted. If the call returns a \"404 Not Found\" error, that means all records of the stream have been deleted. \n[Command Reference](deleteStream)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -493,7 +493,7 @@ def delete_stream(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@stream_pool_group.command(name=cli_util.override('stream_admin.delete_stream_pool.command_name', 'delete'), help=u"""Deletes a stream pool. All containing streams will also be deleted. The default stream pool of a compartment cannot be deleted. \n[Command Reference](deleteStreamPool)""")
-@cli_util.option('--stream-pool-id', required=True, help=u"""The OCID of the stream pool.""")
+@cli_util.option('--stream-pool-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream pool.""")
@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.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "UPDATING"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -557,7 +557,7 @@ def delete_stream_pool(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@connect_harness_group.command(name=cli_util.override('stream_admin.get_connect_harness.command_name', 'get'), help=u"""Gets detailed information about a connect harness. \n[Command Reference](getConnectHarness)""")
-@cli_util.option('--connect-harness-id', required=True, help=u"""The OCID of the connect harness.""")
+@cli_util.option('--connect-harness-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the connect harness.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -579,7 +579,7 @@ def get_connect_harness(ctx, from_json, connect_harness_id):
@stream_group.command(name=cli_util.override('stream_admin.get_stream.command_name', 'get'), help=u"""Gets detailed information about a stream, including the number of partitions. \n[Command Reference](getStream)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -601,7 +601,7 @@ def get_stream(ctx, from_json, stream_id):
@stream_pool_group.command(name=cli_util.override('stream_admin.get_stream_pool.command_name', 'get'), help=u"""Gets detailed information about the stream pool, such as Kafka settings. \n[Command Reference](getStreamPool)""")
-@cli_util.option('--stream-pool-id', required=True, help=u"""The OCID of the stream pool.""")
+@cli_util.option('--stream-pool-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream pool.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -623,7 +623,7 @@ def get_stream_pool(ctx, from_json, stream_pool_id):
@connect_harness_group.command(name=cli_util.override('stream_admin.list_connect_harnesses.command_name', 'list'), help=u"""Lists the connectharness. \n[Command Reference](listConnectHarnesses)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--id', help=u"""A filter to return only resources that match the given ID exactly.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the given name exactly.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return. The value must be between 1 and 50. The default is 10.""")
@@ -686,7 +686,7 @@ def list_connect_harnesses(ctx, from_json, all_pages, page_size, compartment_id,
@stream_pool_group.command(name=cli_util.override('stream_admin.list_stream_pools.command_name', 'list'), help=u"""List the stream pools for a given compartment ID. \n[Command Reference](listStreamPools)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--id', help=u"""A filter to return only resources that match the given ID exactly.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the given name exactly.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return. The value must be between 1 and 50. The default is 10.""")
@@ -749,8 +749,8 @@ def list_stream_pools(ctx, from_json, all_pages, page_size, compartment_id, id,
@stream_group.command(name=cli_util.override('stream_admin.list_streams.command_name', 'list'), help=u"""Lists the streams in the given compartment id. If the compartment id is specified, it will list streams in the compartment, regardless of their stream pool. If the stream pool id is specified, the action will be scoped to that stream pool. The compartment id and stream pool id cannot be specified at the same time. \n[Command Reference](listStreams)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment. Is exclusive with the `streamPoolId` parameter. One of them is required.""")
-@cli_util.option('--stream-pool-id', help=u"""The OCID of the stream pool. Is exclusive with the `compartmentId` parameter. One of them is required.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment. Is exclusive with the `streamPoolId` parameter. One of them is required.""")
+@cli_util.option('--stream-pool-id', type=custom_types.CLI_OCID, help=u"""The OCID of the stream pool. Is exclusive with the `compartmentId` parameter. One of them is required.""")
@cli_util.option('--id', help=u"""A filter to return only resources that match the given ID exactly.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the given name exactly.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return. The value must be between 1 and 50. The default is 10.""")
@@ -814,7 +814,7 @@ def list_streams(ctx, from_json, all_pages, page_size, compartment_id, stream_po
@connect_harness_group.command(name=cli_util.override('stream_admin.update_connect_harness.command_name', 'update'), help=u"""Updates the tags applied to the connect harness. \n[Command Reference](updateConnectHarness)""")
-@cli_util.option('--connect-harness-id', required=True, help=u"""The OCID of the connect harness.""")
+@cli_util.option('--connect-harness-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the connect harness.""")
@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 that is applied with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see [Resource Tags].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -886,8 +886,8 @@ def update_connect_harness(ctx, from_json, force, wait_for_state, max_wait_secon
@stream_group.command(name=cli_util.override('stream_admin.update_stream.command_name', 'update'), help=u"""Updates the stream. Only specified values will be updated. \n[Command Reference](updateStream)""")
-@cli_util.option('--stream-id', required=True, help=u"""The OCID of the stream.""")
-@cli_util.option('--stream-pool-id', help=u"""The [OCID] of the stream pool where the stream should be moved.""")
+@cli_util.option('--stream-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream.""")
+@cli_util.option('--stream-pool-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the stream pool where the stream should be moved.""")
@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 that is applied with no predefined name, type, or namespace. Exists for cross-compatibility only. For more information, see [Resource Tags].
Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -962,7 +962,7 @@ def update_stream(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_
@stream_pool_group.command(name=cli_util.override('stream_admin.update_stream_pool.command_name', 'update'), help=u"""Updates the specified stream pool. \n[Command Reference](updateStreamPool)""")
-@cli_util.option('--stream-pool-id', required=True, help=u"""The OCID of the stream pool.""")
+@cli_util.option('--stream-pool-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the stream pool.""")
@cli_util.option('--name', help=u"""""")
@cli_util.option('--kafka-settings', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--custom-encryption-key-details', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/tenant_manager_control_plane/src/oci_cli_domain/generated/domain_cli.py b/services/tenant_manager_control_plane/src/oci_cli_domain/generated/domain_cli.py
index c6f14c8f..497e9ec9 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_domain/generated/domain_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_domain/generated/domain_cli.py
@@ -33,7 +33,7 @@ def domain_group():
@domain_group.command(name=cli_util.override('domain.create_domain.command_name', 'create'), help=u"""Begins the registration process for claiming a domain. \n[Command Reference](createDomain)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the tenancy.""")
@cli_util.option('--domain-name', required=True, help=u"""The domain name.""")
@cli_util.option('--subscription-email', help=u"""Email address to be used to notify the user, and that the ONS subscription will be created with.""")
@cli_util.option('--is-governance-enabled', type=click.BOOL, help=u"""Indicates whether governance should be enabled for this domain. Defaults to false.""")
@@ -190,7 +190,7 @@ def get_domain(ctx, from_json, domain_id):
@domain_group.command(name=cli_util.override('domain.list_domains.command_name', 'list'), help=u"""Return a (paginated) list of domains. \n[Command Reference](listDomains)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--domain-id', help=u"""The domain OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "FAILED", "TERMINATED"]), help=u"""The lifecycle state of the resource.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["PENDING", "RELEASING", "RELEASED", "EXPIRING", "REVOKING", "REVOKED", "ACTIVE", "FAILED"]), help=u"""The status of the domain.""")
diff --git a/services/tenant_manager_control_plane/src/oci_cli_domain_governance/generated/domaingovernance_cli.py b/services/tenant_manager_control_plane/src/oci_cli_domain_governance/generated/domaingovernance_cli.py
index 8ede6487..20610733 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_domain_governance/generated/domaingovernance_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_domain_governance/generated/domaingovernance_cli.py
@@ -33,7 +33,7 @@ def domain_governance_group():
@domain_governance_group.command(name=cli_util.override('domain_governance.create_domain_governance.command_name', 'create'), help=u"""Adds domain governance to a claimed domain. \n[Command Reference](createDomainGovernance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the tenancy.""")
@cli_util.option('--domain-id', required=True, help=u"""OCID of the domain.""")
@cli_util.option('--subscription-email', required=True, help=u"""Email address to be used to notify the user, and that the ONS subscription will be created with.""")
@cli_util.option('--ons-topic-id', required=True, help=u"""The ONS topic associated with this domain governance entity.""")
@@ -184,7 +184,7 @@ def get_domain_governance(ctx, from_json, domain_governance_id):
@domain_governance_group.command(name=cli_util.override('domain_governance.list_domain_governances.command_name', 'list'), help=u"""Return a (paginated) list of domain governance entities. \n[Command Reference](listDomainGovernances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--domain-id', help=u"""The domain OCID.""")
@cli_util.option('--domain-governance-id', help=u"""The domain governance OCID.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "FAILED", "TERMINATED"]), help=u"""The lifecycle state of the resource.""")
diff --git a/services/tenant_manager_control_plane/src/oci_cli_orders/generated/orders_cli.py b/services/tenant_manager_control_plane/src/oci_cli_orders/generated/orders_cli.py
index 63bfbdf2..483d57a2 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_orders/generated/orders_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_orders/generated/orders_cli.py
@@ -33,7 +33,7 @@ def order_group():
@order_group.command(name=cli_util.override('orders.activate_order.command_name', 'activate'), help=u"""Triggers an order activation workflow on behalf of the tenant, given by compartment ID in the body. \n[Command Reference](activateOrder)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Tenant ID to activate the order.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Tenant ID to activate the order.""")
@cli_util.option('--activation-token', required=True, help=u"""Activation token containing an order ID. A JWT RFC 7519-formatted string.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
diff --git a/services/tenant_manager_control_plane/src/oci_cli_organization/generated/organization_cli.py b/services/tenant_manager_control_plane/src/oci_cli_organization/generated/organization_cli.py
index b9651836..a1e87ba2 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_organization/generated/organization_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_organization/generated/organization_cli.py
@@ -47,7 +47,7 @@ def child_tenancy_group():
@organization_tenancy_group.command(name=cli_util.override('organization.approve_organization_tenancy_for_transfer.command_name', 'approve-organization-tenancy-for-transfer'), help=u"""Approve an organization's child tenancy for transfer. \n[Command Reference](approveOrganizationTenancyForTransfer)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--organization-tenancy-id', required=True, help=u"""OCID of the child tenancy.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -74,13 +74,13 @@ def approve_organization_tenancy_for_transfer(ctx, from_json, compartment_id, or
@child_tenancy_group.command(name=cli_util.override('organization.create_child_tenancy.command_name', 'create'), help=u"""Creates a child tenancy asynchronously. \n[Command Reference](createChildTenancy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The tenancy ID of the parent tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The tenancy ID of the parent tenancy.""")
@cli_util.option('--tenancy-name', required=True, help=u"""The tenancy name to use for the child tenancy.""")
@cli_util.option('--home-region', required=True, help=u"""The home region to use for the child tenancy. This must be a region where the parent tenancy is subscribed.""")
@cli_util.option('--admin-email', required=True, help=u"""Email address of the child tenancy administrator.""")
@cli_util.option('--policy-name', help=u"""The name to use for the administrator policy in the child tenancy. Must contain only letters and underscores.""")
@cli_util.option('--governance-status', type=custom_types.CliCaseInsensitiveChoice(["OPTED_IN", "OPTED_OUT"]), help=u"""The governance status of the child tenancy.""")
-@cli_util.option('--subscription-id', help=u"""OCID of the subscription that needs to be assigned to the child tenancy.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""OCID of the subscription that needs to be assigned to the child tenancy.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@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.""")
@@ -224,7 +224,7 @@ def get_organization(ctx, from_json, organization_id):
@organization_tenancy_group.command(name=cli_util.override('organization.get_organization_tenancy.command_name', 'get'), help=u"""Gets information about the organization's tenancy. \n[Command Reference](getOrganizationTenancy)""")
@cli_util.option('--organization-id', required=True, help=u"""OCID of the organization.""")
-@cli_util.option('--tenancy-id', required=True, help=u"""OCID of the tenancy to retrieve.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the tenancy to retrieve.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -301,7 +301,7 @@ def list_organization_tenancies(ctx, from_json, all_pages, page_size, organizati
@organization_group.command(name=cli_util.override('organization.list_organizations.command_name', 'list'), help=u"""Lists organizations associated with the caller. \n[Command Reference](listOrganizations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
@@ -404,7 +404,7 @@ def restore_organization_tenancy(ctx, from_json, wait_for_state, max_wait_second
@organization_tenancy_group.command(name=cli_util.override('organization.unapprove_organization_tenancy_for_transfer.command_name', 'unapprove-organization-tenancy-for-transfer'), help=u"""Cancel an organization's child tenancy for transfer. \n[Command Reference](unapproveOrganizationTenancyForTransfer)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--organization-tenancy-id', required=True, help=u"""OCID of the child tenancy.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
diff --git a/services/tenant_manager_control_plane/src/oci_cli_recipient_invitation/generated/recipientinvitation_cli.py b/services/tenant_manager_control_plane/src/oci_cli_recipient_invitation/generated/recipientinvitation_cli.py
index b8b528dc..628b6a3d 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_recipient_invitation/generated/recipientinvitation_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_recipient_invitation/generated/recipientinvitation_cli.py
@@ -161,7 +161,7 @@ def ignore_recipient_invitation(ctx, from_json, wait_for_state, max_wait_seconds
@recipient_invitation_group.command(name=cli_util.override('recipient_invitation.list_recipient_invitations.command_name', 'list'), help=u"""Return a (paginated) list of recipient invitations. \n[Command Reference](listRecipientInvitations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--sender-tenancy-id', help=u"""The tenancy that sent the invitation.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "FAILED", "TERMINATED"]), help=u"""The lifecycle state of the resource.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["PENDING", "CANCELED", "ACCEPTED", "IGNORED", "EXPIRED", "FAILED"]), help=u"""The status of the recipient invitation.""")
diff --git a/services/tenant_manager_control_plane/src/oci_cli_sender_invitation/generated/senderinvitation_cli.py b/services/tenant_manager_control_plane/src/oci_cli_sender_invitation/generated/senderinvitation_cli.py
index 3dde336e..4225f181 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_sender_invitation/generated/senderinvitation_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_sender_invitation/generated/senderinvitation_cli.py
@@ -88,7 +88,7 @@ def cancel_sender_invitation(ctx, from_json, wait_for_state, max_wait_seconds, w
@sender_invitation_group.command(name=cli_util.override('sender_invitation.create_sender_invitation.command_name', 'create'), help=u"""Creates a sender invitation and asynchronously sends the invitation to the recipient. \n[Command Reference](createSenderInvitation)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the sender tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the sender tenancy.""")
@cli_util.option('--recipient-tenancy-id', required=True, help=u"""OCID of the recipient tenancy.""")
@cli_util.option('--recipient-email-address', help=u"""Email address of the recipient.""")
@cli_util.option('--display-name', help=u"""A user-created name to describe the invitation. Avoid entering confidential information.""")
@@ -187,7 +187,7 @@ def get_sender_invitation(ctx, from_json, sender_invitation_id):
@sender_invitation_group.command(name=cli_util.override('sender_invitation.list_sender_invitations.command_name', 'list'), help=u"""Return a (paginated) list of sender invitations. \n[Command Reference](listSenderInvitations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--recipient-tenancy-id', help=u"""The tenancy that the invitation is addressed to.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "FAILED", "TERMINATED"]), help=u"""The lifecycle state of the resource.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["PENDING", "CANCELED", "ACCEPTED", "EXPIRED", "FAILED"]), help=u"""The status of the sender invitation.""")
diff --git a/services/tenant_manager_control_plane/src/oci_cli_subscription/generated/subscription_cli.py b/services/tenant_manager_control_plane/src/oci_cli_subscription/generated/subscription_cli.py
index adccfb4f..eeeddb72 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_subscription/generated/subscription_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_subscription/generated/subscription_cli.py
@@ -61,8 +61,8 @@ def assigned_subscription_line_item_summary_group():
@subscription_mapping_group.command(name=cli_util.override('subscription.create_subscription_mapping.command_name', 'create'), help=u"""Assign the tenancy record identified by the compartment ID to the given subscription ID. \n[Command Reference](createSubscriptionMapping)""")
-@cli_util.option('--compartment-id', required=True, help=u"""OCID of the compartment. Always a tenancy OCID.""")
-@cli_util.option('--subscription-id', required=True, help=u"""OCID of Subscription.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the compartment. Always a tenancy OCID.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of Subscription.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@@ -201,7 +201,7 @@ def get_assigned_subscription(ctx, from_json, assigned_subscription_id):
@subscription_group.command(name=cli_util.override('subscription.get_subscription.command_name', 'get'), help=u"""Gets the subscription details by subscription ID. \n[Command Reference](getSubscription)""")
-@cli_util.option('--subscription-id', required=True, help=u"""OCID of the subscription.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the subscription.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -302,8 +302,8 @@ def list_assigned_subscription_line_items(ctx, from_json, all_pages, page_size,
@assigned_subscription_group.command(name=cli_util.override('subscription.list_assigned_subscriptions.command_name', 'list'), help=u"""Lists subscriptions that are consumed by the compartment. Only the root compartment is allowed. \n[Command Reference](listAssignedSubscriptions)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
-@cli_util.option('--subscription-id', help=u"""The ID of the subscription to which the tenancy is associated.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The ID of the subscription to which the tenancy is associated.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, whether 'asc' or 'desc'.""")
@@ -362,7 +362,7 @@ def list_assigned_subscriptions(ctx, from_json, all_pages, page_size, compartmen
@subscription_group.command(name=cli_util.override('subscription.list_available_regions.command_name', 'list-available-regions'), help=u"""List the available regions based on subscription ID. \n[Command Reference](listAvailableRegions)""")
-@cli_util.option('--subscription-id', required=True, help=u"""OCID of the subscription.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the subscription.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -395,7 +395,7 @@ def list_available_regions(ctx, from_json, all_pages, subscription_id, page):
@subscription_line_item_summary_group.command(name=cli_util.override('subscription.list_subscription_line_items.command_name', 'list-subscription-line-items'), help=u"""Lists the line items in a subscription. \n[Command Reference](listSubscriptionLineItems)""")
-@cli_util.option('--subscription-id', required=True, help=u"""OCID of the subscription.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the subscription.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, whether 'asc' or 'desc'.""")
@@ -452,9 +452,9 @@ def list_subscription_line_items(ctx, from_json, all_pages, page_size, subscript
@subscription_mapping_group.command(name=cli_util.override('subscription.list_subscription_mappings.command_name', 'list'), help=u"""Lists the subscription mappings for all the subscriptions owned by a given compartmentId. Only the root compartment is allowed. \n[Command Reference](listSubscriptionMappings)""")
-@cli_util.option('--subscription-id', required=True, help=u"""OCID of the subscription.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""OCID of the subscription.""")
@cli_util.option('--subscription-mapping-id', help=u"""A unique ID for subscription and tenancy mapping.""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "INACTIVE", "UPDATING", "DELETING", "DELETED", "FAILED"]), help=u"""The lifecycle state of the resource.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -515,8 +515,8 @@ def list_subscription_mappings(ctx, from_json, all_pages, page_size, subscriptio
@subscription_group.command(name=cli_util.override('subscription.list_subscriptions.command_name', 'list'), help=u"""List the subscriptions that a compartment owns. Only the root compartment is allowed. \n[Command Reference](listSubscriptions)""")
-@cli_util.option('--compartment-id', help=u"""The ID of the compartment in which to list resources.""")
-@cli_util.option('--subscription-id', help=u"""The ID of the subscription to which the tenancy is associated.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--subscription-id', type=custom_types.CLI_OCID, help=u"""The ID of the subscription to which the tenancy is associated.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, whether 'asc' or 'desc'.""")
diff --git a/services/tenant_manager_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py b/services/tenant_manager_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py
index d4a6ec88..d9d4a0a5 100644
--- a/services/tenant_manager_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/tenant_manager_control_plane/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -177,7 +177,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_request.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, whether 'asc' or 'desc'.""")
diff --git a/services/threat_intelligence/src/oci_cli_threatintel/generated/threatintel_cli.py b/services/threat_intelligence/src/oci_cli_threatintel/generated/threatintel_cli.py
index 0dd5cb39..a43283bc 100644
--- a/services/threat_intelligence/src/oci_cli_threatintel/generated/threatintel_cli.py
+++ b/services/threat_intelligence/src/oci_cli_threatintel/generated/threatintel_cli.py
@@ -54,7 +54,7 @@ def indicator_count_collection_group():
@indicator_group.command(name=cli_util.override('threat_intelligence.get_indicator.command_name', 'get'), help=u"""Get detailed information about a threat indicator with a given identifier. \n[Command Reference](getIndicator)""")
@cli_util.option('--indicator-id', required=True, help=u"""The unique identifier (OCID) of the threat indicator.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -77,7 +77,7 @@ def get_indicator(ctx, from_json, indicator_id, compartment_id):
@indicator_count_collection_group.command(name=cli_util.override('threat_intelligence.list_indicator_counts.command_name', 'list-indicator-counts'), help=u"""Get the current count of each threat indicator type. Indicator counts can be sorted in ascending or descending order. \n[Command Reference](listIndicatorCounts)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -100,7 +100,7 @@ def list_indicator_counts(ctx, from_json, all_pages, compartment_id, sort_order)
@indicator_summary_collection_group.command(name=cli_util.override('threat_intelligence.list_indicators.command_name', 'list-indicators'), help=u"""Get a list of threat indicator summaries based on the search criteria. \n[Command Reference](listIndicators)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
@cli_util.option('--threat-type-name', multiple=True, help=u"""The threat type of entites to be returned. To filter for multiple threat types, repeat this parameter.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["DOMAIN_NAME", "FILE_NAME", "MD5_HASH", "SHA1_HASH", "SHA256_HASH", "IP_ADDRESS", "URL"]), help=u"""The indicator type of entities to be returned.""")
@cli_util.option('--value', help=u"""The indicator value of entities to be returned.""")
@@ -184,7 +184,7 @@ def list_indicators(ctx, from_json, all_pages, page_size, compartment_id, threat
@threat_types_collection_group.command(name=cli_util.override('threat_intelligence.list_threat_types.command_name', 'list-threat-types'), help=u"""Gets a list of threat types that are available to use as parameters when querying indicators. The list is sorted by threat type name according to the sort order query param. \n[Command Reference](listThreatTypes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -235,7 +235,7 @@ def list_threat_types(ctx, from_json, all_pages, page_size, compartment_id, limi
@indicator_group.command(name=cli_util.override('threat_intelligence.summarize_indicators.command_name', 'summarize'), help=u"""Get indicator summaries based on advanced search criteria. \n[Command Reference](summarizeIndicators)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy (root compartment) that is used to filter results.""")
@cli_util.option('--indicator-type', type=custom_types.CliCaseInsensitiveChoice(["DOMAIN_NAME", "FILE_NAME", "MD5_HASH", "SHA1_HASH", "SHA256_HASH", "IP_ADDRESS", "URL"]), help=u"""The type of indicator this is""")
@cli_util.option('--indicator-value', help=u"""The value for the type of indicator this is""")
@cli_util.option('--threat-types', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The threat type of entites to be returned.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/usage/src/oci_cli_resources/generated/resources_cli.py b/services/usage/src/oci_cli_resources/generated/resources_cli.py
index 7fd8d2b9..31b6b98f 100644
--- a/services/usage/src/oci_cli_resources/generated/resources_cli.py
+++ b/services/usage/src/oci_cli_resources/generated/resources_cli.py
@@ -41,7 +41,7 @@ def resource_quotum_summary_group():
@resource_quotum_summary_group.command(name=cli_util.override('resources.list_resource_quota.command_name', 'list-resource-quota'), help=u"""Returns the resource quota details under a tenancy > **Important**: Calls to this API will only succeed against the endpoint in the home region. \n[Command Reference](listResourceQuota)""")
@cli_util.option('--service-name', required=True, help=u"""Service Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--service-entitlement', help=u"""Service entitlement Id.""")
@cli_util.option('--page', help=u"""The value of the 'opc-next-page' response header from the previous call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in the paginated response.""")
@@ -102,7 +102,7 @@ def list_resource_quota(ctx, from_json, all_pages, page_size, service_name, comp
@resource_summary_group.command(name=cli_util.override('resources.list_resources.command_name', 'list-resources'), help=u"""Returns the resource details for a service > **Important**: Calls to this API will only succeed against the endpoint in the home region. \n[Command Reference](listResources)""")
@cli_util.option('--service-name', required=True, help=u"""Service Name.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
@cli_util.option('--entitlement-id', help=u"""Subscription or entitlement Id.""")
@cli_util.option('--page', help=u"""The value of the 'opc-next-page' response header from the previous call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in the paginated response.""")
diff --git a/services/usage/src/oci_cli_rewards/generated/rewards_cli.py b/services/usage/src/oci_cli_rewards/generated/rewards_cli.py
index 32a01d1c..2a526288 100644
--- a/services/usage/src/oci_cli_rewards/generated/rewards_cli.py
+++ b/services/usage/src/oci_cli_rewards/generated/rewards_cli.py
@@ -61,12 +61,12 @@ def product_summary_group():
@redeemable_user_group.command(name=cli_util.override('rewards.create_redeemable_user.command_name', 'create'), help=u"""Adds the list of redeemable user summary for a subscription ID. \n[Command Reference](createRedeemableUser)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The subscription ID for which rewards information is requested for.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The subscription ID for which rewards information is requested for.""")
@cli_util.option('--items', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of new user to be added to the list of user that can redeem rewards.
This option is a JSON list with items of type RedeemableUser. For documentation on RedeemableUser please see our API reference: https://docs.cloud.oracle.com/api/#/en/rewards/20190111/datatypes/RedeemableUser.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--user-id', help=u"""The user ID of the person to send a copy of an email.""")
+@cli_util.option('--user-id', type=custom_types.CLI_OCID, help=u"""The user ID of the person to send a copy of an email.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({'items': {'module': 'usage', 'class': 'list[RedeemableUser]'}})
@cli_util.help_option
@@ -102,8 +102,8 @@ def create_redeemable_user(ctx, from_json, tenancy_id, subscription_id, items, u
@redeemable_user_group.command(name=cli_util.override('rewards.delete_redeemable_user.command_name', 'delete'), help=u"""Deletes the list of redeemable user email ID for a subscription ID. \n[Command Reference](deleteRedeemableUser)""")
@cli_util.option('--email-id', required=True, help=u"""The email ID that needs to be deleted.""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The subscription ID for which rewards information is requested for.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The subscription ID for which rewards information is requested for.""")
@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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -131,8 +131,8 @@ def delete_redeemable_user(ctx, from_json, email_id, tenancy_id, subscription_id
@product_summary_group.command(name=cli_util.override('rewards.list_products.command_name', 'list-products'), help=u"""Provides product information that is specific to a reward usage period and its usage details. \n[Command Reference](listProducts)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The subscription ID for which rewards information is requested for.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The subscription ID for which rewards information is requested for.""")
@cli_util.option('--usage-period-key', required=True, help=u"""The SPM Identifier for the usage period.""")
@cli_util.option('--page', help=u"""The value of the 'opc-next-page' response header from the previous call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in the paginated response.""")
@@ -199,8 +199,8 @@ def list_products(ctx, from_json, all_pages, page_size, tenancy_id, subscription
@redeemable_user_summary_group.command(name=cli_util.override('rewards.list_redeemable_users.command_name', 'list-redeemable-users'), help=u"""Provides the list of user summary that can redeem rewards for the given subscription ID. \n[Command Reference](listRedeemableUsers)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The subscription ID for which rewards information is requested for.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The subscription ID for which rewards information is requested for.""")
@cli_util.option('--page', help=u"""The value of the 'opc-next-page' response header from the previous call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in the paginated response.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, which can be ascending (ASC) or descending (DESC).""")
@@ -260,8 +260,8 @@ def list_redeemable_users(ctx, from_json, all_pages, page_size, tenancy_id, subs
@redemption_summary_group.command(name=cli_util.override('rewards.list_redemptions.command_name', 'list-redemptions'), help=u"""Returns the list of redemption for the subscription ID. \n[Command Reference](listRedemptions)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The subscription ID for which rewards information is requested for.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The subscription ID for which rewards information is requested for.""")
@cli_util.option('--time-redeemed-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""The starting redeemed date filter for the redemption history.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-redeemed-less-than', type=custom_types.CLI_DATETIME, help=u"""The ending redeemed date filter for the redemption history.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--page', help=u"""The value of the 'opc-next-page' response header from the previous call.""")
@@ -327,8 +327,8 @@ def list_redemptions(ctx, from_json, all_pages, page_size, tenancy_id, subscript
@monthly_reward_summary_group.command(name=cli_util.override('rewards.list_rewards.command_name', 'list-rewards'), help=u"""Returns the list of rewards for a subscription ID. \n[Command Reference](listRewards)""")
-@cli_util.option('--tenancy-id', required=True, help=u"""The OCID of the tenancy.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The subscription ID for which rewards information is requested for.""")
+@cli_util.option('--tenancy-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the tenancy.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The subscription ID for which rewards information is requested for.""")
@cli_util.option('--all', 'all_pages', is_flag=True, help="""Fetches all pages of results.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
diff --git a/services/usage/src/oci_cli_usagelimits/generated/usagelimits_cli.py b/services/usage/src/oci_cli_usagelimits/generated/usagelimits_cli.py
index a7209f05..33f8d690 100644
--- a/services/usage/src/oci_cli_usagelimits/generated/usagelimits_cli.py
+++ b/services/usage/src/oci_cli_usagelimits/generated/usagelimits_cli.py
@@ -33,8 +33,8 @@ def usage_limit_summary_group():
@usage_limit_summary_group.command(name=cli_util.override('usagelimits.list_usage_limits.command_name', 'list-usage-limits'), help=u"""Returns the list of usage limit for the subscription ID and tenant ID. \n[Command Reference](listUsageLimits)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the root compartment.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The subscription ID for which rewards information is requested for.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the root compartment.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The subscription ID for which rewards information is requested for.""")
@cli_util.option('--limit-type', help=u"""Hard or soft limit. Hard limits lead to breaches, soft to alerts.""")
@cli_util.option('--resource-type', help=u"""Resource Name.""")
@cli_util.option('--service-type', help=u"""Service Name.""")
diff --git a/services/usage_api/src/oci_cli_usageapi/generated/usageapi_cli.py b/services/usage_api/src/oci_cli_usageapi/generated/usageapi_cli.py
index a0b0aa12..00cb0429 100644
--- a/services/usage_api/src/oci_cli_usageapi/generated/usageapi_cli.py
+++ b/services/usage_api/src/oci_cli_usageapi/generated/usageapi_cli.py
@@ -102,7 +102,7 @@ def custom_table_group():
@custom_table_group.command(name=cli_util.override('usage_api.create_custom_table.command_name', 'create'), help=u"""Returns the created custom table. \n[Command Reference](createCustomTable)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--saved-report-id', required=True, help=u"""The associated saved report OCID.""")
@cli_util.option('--saved-custom-table', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'saved-custom-table': {'module': 'usage_api', 'class': 'SavedCustomTable'}})
@@ -129,9 +129,9 @@ def create_custom_table(ctx, from_json, compartment_id, saved_report_id, saved_c
@email_recipients_group_group.command(name=cli_util.override('usage_api.create_email_recipients_group.command_name', 'create'), help=u"""Creates a list of email recipients that can receive usage statements for the subscription. \n[Command Reference](createEmailRecipientsGroup)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The customer tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The customer tenancy.""")
@cli_util.option('--recipients-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of recipients that will receive usage statement emails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
-@cli_util.option('--subscription-id', required=True, help=u"""The usage statement subscription unique OCID.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The usage statement subscription unique OCID.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@cli_util.option('--max-wait-seconds', type=click.INT, help="""The maximum time to wait for the resource to reach the lifecycle state defined by --wait-for-state. Defaults to 1200 seconds.""")
@cli_util.option('--wait-interval-seconds', type=click.INT, help="""Check every --wait-interval-seconds to see whether the resource has reached the lifecycle state defined by --wait-for-state. Defaults to 30 seconds.""")
@@ -185,7 +185,7 @@ def create_email_recipients_group(ctx, from_json, wait_for_state, max_wait_secon
@query_group.command(name=cli_util.override('usage_api.create_query.command_name', 'create'), help=u"""Returns the created query. \n[Command Reference](createQuery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--query-definition', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'query-definition': {'module': 'usage_api', 'class': 'QueryDefinition'}})
@cli_util.help_option
@@ -211,7 +211,7 @@ def create_query(ctx, from_json, compartment_id, query_definition):
@schedule_group.command(name=cli_util.override('usage_api.create_schedule.command_name', 'create'), help=u"""Returns the created schedule. \n[Command Reference](createSchedule)""")
@cli_util.option('--name', required=True, help=u"""The unique name of the user-created schedule.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The customer tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The customer tenancy.""")
@cli_util.option('--result-location', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--schedule-recurrences', required=True, help=u"""Specifies the frequency according to when the schedule will be run, in the x-obmcs-recurring-time format described in [RFC 5545 section 3.3.10]. Supported values are : ONE_TIME, DAILY, WEEKLY and MONTHLY.""")
@cli_util.option('--time-scheduled', required=True, type=custom_types.CLI_DATETIME, help=u"""The date and time of the first time job execution.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -292,7 +292,7 @@ def create_schedule(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@schedule_group.command(name=cli_util.override('usage_api.create_schedule_object_storage_location.command_name', 'create-schedule-object-storage-location'), help=u"""Returns the created schedule. \n[Command Reference](createSchedule)""")
@cli_util.option('--name', required=True, help=u"""The unique name of the user-created schedule.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The customer tenancy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The customer tenancy.""")
@cli_util.option('--schedule-recurrences', required=True, help=u"""Specifies the frequency according to when the schedule will be run, in the x-obmcs-recurring-time format described in [RFC 5545 section 3.3.10]. Supported values are : ONE_TIME, DAILY, WEEKLY and MONTHLY.""")
@cli_util.option('--time-scheduled', required=True, type=custom_types.CLI_DATETIME, help=u"""The date and time of the first time job execution.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--result-location-region', required=True, help=u"""The destination Object Store Region specified by the customer.""")
@@ -379,7 +379,7 @@ def create_schedule_object_storage_location(ctx, from_json, wait_for_state, max_
@usage_carbon_emissions_query_group.command(name=cli_util.override('usage_api.create_usage_carbon_emissions_query.command_name', 'create'), help=u"""Returns the created carbon emissions usage query. \n[Command Reference](createUsageCarbonEmissionsQuery)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment OCID.""")
@cli_util.option('--query-definition', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@json_skeleton_utils.get_cli_json_input_option({'query-definition': {'module': 'usage_api', 'class': 'UsageCarbonEmissionsQueryDefinition'}})
@cli_util.help_option
@@ -431,8 +431,8 @@ def delete_custom_table(ctx, from_json, custom_table_id, if_match):
@email_recipients_group_group.command(name=cli_util.override('usage_api.delete_email_recipients_group.command_name', 'delete'), help=u"""Deletes the email recipients group for the usage statement subscription. \n[Command Reference](deleteEmailRecipientsGroup)""")
@cli_util.option('--email-recipients-group-id', required=True, help=u"""The email recipients group OCID.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The usage statement subscription unique OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The usage statement subscription unique OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@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.""")
@cli_util.confirm_delete_option
@json_skeleton_utils.get_cli_json_input_option({})
@@ -602,8 +602,8 @@ def get_custom_table(ctx, from_json, custom_table_id):
@email_recipients_group_group.command(name=cli_util.override('usage_api.get_email_recipients_group.command_name', 'get'), help=u"""Returns the saved usage statement email recipients group. \n[Command Reference](getEmailRecipientsGroup)""")
@cli_util.option('--email-recipients-group-id', required=True, help=u"""The email recipients group OCID.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The usage statement subscription unique OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The usage statement subscription unique OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -718,7 +718,7 @@ def get_usage_carbon_emissions_query(ctx, from_json, usage_carbon_emissions_quer
@custom_table_group.command(name=cli_util.override('usage_api.list_custom_tables.command_name', 'list'), help=u"""Returns the saved custom table list. \n[Command Reference](listCustomTables)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@cli_util.option('--saved-report-id', required=True, help=u"""The saved report ID in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -776,8 +776,8 @@ def list_custom_tables(ctx, from_json, all_pages, page_size, compartment_id, sav
@email_recipients_group_group.command(name=cli_util.override('usage_api.list_email_recipients_groups.command_name', 'list'), help=u"""Returns the saved usage statement email recipients group. \n[Command Reference](listEmailRecipientsGroups)""")
-@cli_util.option('--subscription-id', required=True, help=u"""The usage statement subscription unique OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The usage statement subscription unique OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["displayName"]), help=u"""The field to sort by. If not specified, the default is displayName.""")
@@ -837,7 +837,7 @@ def list_email_recipients_groups(ctx, from_json, all_pages, page_size, subscript
@query_group.command(name=cli_util.override('usage_api.list_queries.command_name', 'list'), help=u"""Returns the saved query list. \n[Command Reference](listQueries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["displayName"]), help=u"""The field to sort by. If not specified, the default is displayName.""")
@@ -945,7 +945,7 @@ def list_scheduled_runs(ctx, from_json, all_pages, page_size, schedule_id, page,
@schedule_group.command(name=cli_util.override('usage_api.list_schedules.command_name', 'list'), help=u"""Returns the saved schedule list. \n[Command Reference](listSchedules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["name", "timeCreated"]), help=u"""The field to sort by. If not specified, the default is timeCreated.""")
@@ -1002,7 +1002,7 @@ def list_schedules(ctx, from_json, all_pages, page_size, compartment_id, page, l
@usage_carbon_emissions_query_group.command(name=cli_util.override('usage_api.list_usage_carbon_emissions_queries.command_name', 'list'), help=u"""Returns the carbon emissions usage saved query list. \n[Command Reference](listUsageCarbonEmissionsQueries)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["displayName"]), help=u"""The field to sort by. If not specified, the default is displayName.""")
@@ -1311,8 +1311,8 @@ def update_custom_table(ctx, from_json, force, saved_custom_table, custom_table_
@email_recipients_group_group.command(name=cli_util.override('usage_api.update_email_recipients_group.command_name', 'update'), help=u"""Updates a saved email recipients group. \n[Command Reference](updateEmailRecipientsGroup)""")
@cli_util.option('--recipients-list', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The list of recipients will receive usage statement emails.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--email-recipients-group-id', required=True, help=u"""The email recipients group OCID.""")
-@cli_util.option('--subscription-id', required=True, help=u"""The usage statement subscription unique OCID.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The compartment ID in which to list resources.""")
+@cli_util.option('--subscription-id', required=True, type=custom_types.CLI_OCID, help=u"""The usage statement subscription unique OCID.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The compartment ID in which to list resources.""")
@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.""")
@cli_util.option('--force', help="""Perform update without prompting for confirmation.""", is_flag=True)
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
diff --git a/services/vault/src/oci_cli_vaults/generated/vaults_cli.py b/services/vault/src/oci_cli_vaults/generated/vaults_cli.py
index dfdc9f88..3111560f 100644
--- a/services/vault/src/oci_cli_vaults/generated/vaults_cli.py
+++ b/services/vault/src/oci_cli_vaults/generated/vaults_cli.py
@@ -39,7 +39,7 @@ def secret_group():
@secret_group.command(name=cli_util.override('vault.cancel_secret_deletion.command_name', 'cancel-secret-deletion'), help=u"""Cancels the pending deletion of the specified secret. Canceling a scheduled deletion restores the secret's lifecycle state to what it was before you scheduled the secret for deletion. \n[Command Reference](cancelSecretDeletion)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -64,7 +64,7 @@ def cancel_secret_deletion(ctx, from_json, secret_id, if_match):
@secret_group.command(name=cli_util.override('vault.cancel_secret_rotation.command_name', 'cancel-secret-rotation'), help=u"""Cancels the ongoing secret rotation. The cancellation is contingent on how far the rotation process has progressed. Upon cancelling a rotation, all future rotations are also disabled. \n[Command Reference](cancelSecretRotation)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -89,7 +89,7 @@ def cancel_secret_rotation(ctx, from_json, secret_id, if_match):
@secret_version_group.command(name=cli_util.override('vault.cancel_secret_version_deletion.command_name', 'cancel-secret-version-deletion'), help=u"""Cancels the scheduled deletion of a secret version. \n[Command Reference](cancelSecretVersionDeletion)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--secret-version-number', required=True, type=click.INT, help=u"""The version number of the secret.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -121,8 +121,8 @@ def cancel_secret_version_deletion(ctx, from_json, secret_id, secret_version_num
@secret_group.command(name=cli_util.override('vault.change_secret_compartment.command_name', 'change-compartment'), help=u"""Moves a secret into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].
When provided, if-match is checked against the ETag values of the secret. \n[Command Reference](changeSecretCompartment)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -154,10 +154,10 @@ def change_secret_compartment(ctx, from_json, secret_id, compartment_id, if_matc
@secret_group.command(name=cli_util.override('vault.create_secret.command_name', 'create'), help=u"""Creates a new secret according to the details of the request.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](createSecret)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the secret.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the secret.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
@cli_util.option('--secret-name', required=True, help=u"""A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault where you want to create the secret.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault where you want to create the secret.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the secret. Avoid entering confidential information.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -253,10 +253,10 @@ def create_secret(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@secret_group.command(name=cli_util.override('vault.create_secret_base64_secret_content_details.command_name', 'create-secret-base64-secret-content-details'), help=u"""Creates a new secret according to the details of the request.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](createSecret)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the secret.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the secret.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
@cli_util.option('--secret-name', required=True, help=u"""A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault where you want to create the secret.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault where you want to create the secret.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the secret. Avoid entering confidential information.""")
@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]. Example: `{\"Department\": \"Finance\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -363,10 +363,10 @@ def create_secret_base64_secret_content_details(ctx, from_json, wait_for_state,
@secret_group.command(name=cli_util.override('vault.create_secret_passphrase_generation_context.command_name', 'create-secret-passphrase-generation-context'), help=u"""Creates a new secret according to the details of the request.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](createSecret)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the secret.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the secret.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
@cli_util.option('--secret-name', required=True, help=u"""A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault where you want to create the secret.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault where you want to create the secret.""")
@cli_util.option('--secret-generation-context-generation-template', required=True, type=custom_types.CliCaseInsensitiveChoice(["SECRETS_DEFAULT_PASSWORD", "DBAAS_DEFAULT_PASSWORD"]), help=u"""Name of passphrase generation template to generate passphrase type secret.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the secret. Avoid entering confidential information.""")
@@ -471,10 +471,10 @@ def create_secret_passphrase_generation_context(ctx, from_json, wait_for_state,
@secret_group.command(name=cli_util.override('vault.create_secret_ssh_key_generation_context.command_name', 'create-secret-ssh-key-generation-context'), help=u"""Creates a new secret according to the details of the request.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](createSecret)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the secret.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the secret.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
@cli_util.option('--secret-name', required=True, help=u"""A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault where you want to create the secret.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault where you want to create the secret.""")
@cli_util.option('--secret-generation-context-generation-template', required=True, type=custom_types.CliCaseInsensitiveChoice(["RSA_2048", "RSA_3072", "RSA_4096"]), help=u"""Name of SSH key generation template to generate SSH key type secret.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the secret. Avoid entering confidential information.""")
@@ -575,10 +575,10 @@ def create_secret_ssh_key_generation_context(ctx, from_json, wait_for_state, max
@secret_group.command(name=cli_util.override('vault.create_secret_bytes_generation_context.command_name', 'create-secret-bytes-generation-context'), help=u"""Creates a new secret according to the details of the request.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](createSecret)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment where you want to create the secret.""")
-@cli_util.option('--key-id', required=True, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment where you want to create the secret.""")
+@cli_util.option('--key-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the master encryption key that is used to encrypt the secret. You must specify a symmetric key to encrypt the secret during import to the vault. You cannot encrypt secrets with asymmetric keys. Furthermore, the key must exist in the vault that you specify.""")
@cli_util.option('--secret-name', required=True, help=u"""A user-friendly name for the secret. Secret names should be unique within a vault. Avoid entering confidential information. Valid characters are uppercase or lowercase letters, numbers, hyphens, underscores, and periods.""")
-@cli_util.option('--vault-id', required=True, help=u"""The OCID of the vault where you want to create the secret.""")
+@cli_util.option('--vault-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the vault where you want to create the secret.""")
@cli_util.option('--secret-generation-context-generation-template', required=True, type=custom_types.CliCaseInsensitiveChoice(["BYTES_512", "BYTES_1024"]), help=u"""Name of random bytes generation template for generating random byte type secret.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the secret. Avoid entering confidential information.""")
@@ -677,7 +677,7 @@ def create_secret_bytes_generation_context(ctx, from_json, wait_for_state, max_w
@secret_group.command(name=cli_util.override('vault.get_secret.command_name', 'get'), help=u"""Gets information about the specified secret. \n[Command Reference](getSecret)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -699,7 +699,7 @@ def get_secret(ctx, from_json, secret_id):
@secret_version_group.command(name=cli_util.override('vault.get_secret_version.command_name', 'get'), help=u"""Gets information about the specified version of a secret. \n[Command Reference](getSecretVersion)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--secret-version-number', required=True, type=click.INT, help=u"""The version number of the secret.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -726,7 +726,7 @@ def get_secret_version(ctx, from_json, secret_id, secret_version_number):
@secret_version_group.command(name=cli_util.override('vault.list_secret_versions.command_name', 'list'), help=u"""Lists all secret versions for the specified secret. \n[Command Reference](listSecretVersions)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["VERSION_NUMBER"]), help=u"""The field to sort by. Only one sort order may be provided. Time created is default ordered as descending. Display name is default ordered as ascending.""")
@@ -783,13 +783,13 @@ def list_secret_versions(ctx, from_json, all_pages, page_size, secret_id, limit,
@secret_group.command(name=cli_util.override('vault.list_secrets.command_name', 'list'), help=u"""Lists all secrets in the specified vault and compartment. \n[Command Reference](listSecrets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment.""")
@cli_util.option('--name', help=u"""The secret name.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated \"List\" call.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous \"List\" call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["TIMECREATED", "NAME"]), help=u"""The field to sort by. You can specify only one sort order. The default order for `TIMECREATED` is descending. The default order for `NAME` is ascending.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either ascending (`ASC`) or descending (`DESC`).""")
-@cli_util.option('--vault-id', help=u"""The OCID of the vault.""")
+@cli_util.option('--vault-id', type=custom_types.CLI_OCID, help=u"""The OCID of the vault.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "UPDATING", "DELETING", "DELETED", "SCHEDULING_DELETION", "PENDING_DELETION", "CANCELLING_DELETION", "FAILED"]), help=u"""A filter that returns only resources that match the specified lifecycle state. The state value is case-insensitive.""")
@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.""")
@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.""")
@@ -846,7 +846,7 @@ def list_secrets(ctx, from_json, all_pages, page_size, compartment_id, name, lim
@secret_group.command(name=cli_util.override('vault.rotate_secret.command_name', 'rotate'), help=u"""API to force rotation of an existing secret in Vault and the specified target system; expects secret to have a valid Target System Details object \n[Command Reference](rotateSecret)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "FAILED", "SUCCEEDED"]), 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.""")
@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.""")
@@ -909,7 +909,7 @@ def rotate_secret(ctx, from_json, wait_for_state, max_wait_seconds, wait_interva
@secret_group.command(name=cli_util.override('vault.schedule_secret_deletion.command_name', 'schedule-secret-deletion'), help=u"""Schedules the deletion of the specified secret. This sets the lifecycle state of the secret to `PENDING_DELETION` and then deletes it after the specified retention period ends. \n[Command Reference](scheduleSecretDeletion)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--time-of-deletion', type=custom_types.CLI_DATETIME, help=u"""An optional property indicating when to delete the secret version, expressed in [RFC 3339] timestamp format.""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -942,7 +942,7 @@ def schedule_secret_deletion(ctx, from_json, secret_id, time_of_deletion, if_mat
@secret_version_group.command(name=cli_util.override('vault.schedule_secret_version_deletion.command_name', 'schedule-secret-version-deletion'), help=u"""Schedules the deletion of the specified secret version. This deletes it after the specified retention period ends. You can only delete a secret version if the secret version rotation state is marked as `DEPRECATED`. \n[Command Reference](scheduleSecretVersionDeletion)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--secret-version-number', required=True, type=click.INT, help=u"""The version number of the secret.""")
@cli_util.option('--time-of-deletion', type=custom_types.CLI_DATETIME, help=u"""An optional property indicating when to delete the secret version, expressed in [RFC 3339] timestamp format. Example: `2019-04-03T21:10:29.600Z`""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@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.""")
@@ -982,7 +982,7 @@ def schedule_secret_version_deletion(ctx, from_json, secret_id, secret_version_n
@secret_group.command(name=cli_util.override('vault.update_secret.command_name', 'update'), help=u"""Updates the properties of a secret. Specifically, you can update the version number of the secret to make that version number the current version. You can also update a secret's description, its free-form or defined tags, rules and the secret contents. Updating the secret content automatically creates a new secret version. You cannot, however, update the current secret version number, secret contents, and secret rules at the same time. Furthermore, the secret must in an `ACTIVE` lifecycle state to be updated.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](updateSecret)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Details to update the secret version of the specified secret. The secret contents, version number, and rules can't be specified at the same time. Updating the secret contents automatically creates a new secret version.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the secret. Avoid entering confidential information.""")
@@ -1090,7 +1090,7 @@ def update_secret(ctx, from_json, force, wait_for_state, max_wait_seconds, wait_
@secret_group.command(name=cli_util.override('vault.update_secret_base64_secret_content_details.command_name', 'update-secret-base64-secret-content-details'), help=u"""Updates the properties of a secret. Specifically, you can update the version number of the secret to make that version number the current version. You can also update a secret's description, its free-form or defined tags, rules and the secret contents. Updating the secret content automatically creates a new secret version. You cannot, however, update the current secret version number, secret contents, and secret rules at the same time. Furthermore, the secret must in an `ACTIVE` lifecycle state to be updated.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](updateSecret)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Details to update the secret version of the specified secret. The secret contents, version number, and rules can't be specified at the same time. Updating the secret contents automatically creates a new secret version.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--description', help=u"""A brief description of the secret. Avoid entering confidential information.""")
@@ -1209,7 +1209,7 @@ def update_secret_base64_secret_content_details(ctx, from_json, force, wait_for_
@secret_group.command(name=cli_util.override('vault.update_secret_passphrase_generation_context.command_name', 'update-secret-passphrase-generation-context'), help=u"""Updates the properties of a secret. Specifically, you can update the version number of the secret to make that version number the current version. You can also update a secret's description, its free-form or defined tags, rules and the secret contents. Updating the secret content automatically creates a new secret version. You cannot, however, update the current secret version number, secret contents, and secret rules at the same time. Furthermore, the secret must in an `ACTIVE` lifecycle state to be updated.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](updateSecret)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--secret-generation-context-generation-template', required=True, type=custom_types.CliCaseInsensitiveChoice(["SECRETS_DEFAULT_PASSWORD", "DBAAS_DEFAULT_PASSWORD"]), help=u"""Name of passphrase generation template to generate passphrase type secret.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Details to update the secret version of the specified secret. The secret contents, version number, and rules can't be specified at the same time. Updating the secret contents automatically creates a new secret version.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1326,7 +1326,7 @@ def update_secret_passphrase_generation_context(ctx, from_json, force, wait_for_
@secret_group.command(name=cli_util.override('vault.update_secret_ssh_key_generation_context.command_name', 'update-secret-ssh-key-generation-context'), help=u"""Updates the properties of a secret. Specifically, you can update the version number of the secret to make that version number the current version. You can also update a secret's description, its free-form or defined tags, rules and the secret contents. Updating the secret content automatically creates a new secret version. You cannot, however, update the current secret version number, secret contents, and secret rules at the same time. Furthermore, the secret must in an `ACTIVE` lifecycle state to be updated.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](updateSecret)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--secret-generation-context-generation-template', required=True, type=custom_types.CliCaseInsensitiveChoice(["RSA_2048", "RSA_3072", "RSA_4096"]), help=u"""Name of SSH key generation template to generate SSH key type secret.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Details to update the secret version of the specified secret. The secret contents, version number, and rules can't be specified at the same time. Updating the secret contents automatically creates a new secret version.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -1439,7 +1439,7 @@ def update_secret_ssh_key_generation_context(ctx, from_json, force, wait_for_sta
@secret_group.command(name=cli_util.override('vault.update_secret_bytes_generation_context.command_name', 'update-secret-bytes-generation-context'), help=u"""Updates the properties of a secret. Specifically, you can update the version number of the secret to make that version number the current version. You can also update a secret's description, its free-form or defined tags, rules and the secret contents. Updating the secret content automatically creates a new secret version. You cannot, however, update the current secret version number, secret contents, and secret rules at the same time. Furthermore, the secret must in an `ACTIVE` lifecycle state to be updated.
This operation is not supported by the Oracle Cloud Infrastructure Terraform Provider. \n[Command Reference](updateSecret)""")
-@cli_util.option('--secret-id', required=True, help=u"""The OCID of the secret.""")
+@cli_util.option('--secret-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the secret.""")
@cli_util.option('--secret-generation-context-generation-template', required=True, type=custom_types.CliCaseInsensitiveChoice(["BYTES_512", "BYTES_1024"]), help=u"""Name of random bytes generation template for generating random byte type secret.""")
@cli_util.option('--current-version-number', type=click.INT, help=u"""Details to update the secret version of the specified secret. The secret contents, version number, and rules can't be specified at the same time. Updating the secret contents automatically creates a new secret version.""")
@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]. Example: `{\"Operations\": {\"CostCenter\": \"42\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
diff --git a/services/vbs_inst/src/oci_cli_vbs_instance/generated/vbsinstance_cli.py b/services/vbs_inst/src/oci_cli_vbs_instance/generated/vbsinstance_cli.py
index c2c2fc86..677f9965 100644
--- a/services/vbs_inst/src/oci_cli_vbs_instance/generated/vbsinstance_cli.py
+++ b/services/vbs_inst/src/oci_cli_vbs_instance/generated/vbsinstance_cli.py
@@ -61,7 +61,7 @@ def work_request_group():
@vbs_instance_group.command(name=cli_util.override('vbstudio.change_vbs_instance_compartment.command_name', 'change-compartment'), help=u"""Moves a VbsInstance resource from one compartment identifier to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeVbsInstanceCompartment)""")
@cli_util.option('--vbs-instance-id', required=True, help=u"""unique VbsInstance identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -121,7 +121,7 @@ def change_vbs_instance_compartment(ctx, from_json, wait_for_state, max_wait_sec
@vbs_instance_group.command(name=cli_util.override('vbstudio.create_vbs_instance.command_name', 'create'), help=u"""Creates a new VbsInstance. \n[Command Reference](createVbsInstance)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier""")
@cli_util.option('--name', required=True, help=u"""Service Instance Name""")
@cli_util.option('--display-name', required=True, help=u"""Display Name""")
@cli_util.option('--is-resource-usage-agreement-granted', type=click.BOOL, help=u"""Whether VBS is authorized to create and use resources in the customer tenancy""")
@@ -297,7 +297,7 @@ def get_work_request(ctx, from_json, work_request_id):
@vbs_instance_summary_collection_group.command(name=cli_util.override('vbstudio.list_vbs_instances.command_name', 'list-vbs-instances'), help=u"""Returns a list of VbsInstances. \n[Command Reference](listVbsInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources their lifecycleState matches the given lifecycleState.""")
@cli_util.option('--id', help=u"""unique VbsInstance identifier""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire name given.""")
@@ -474,7 +474,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('vbstudio.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/vbs_inst/src/oci_cli_vbs_instance/vbsinstance_cli_extended.py b/services/vbs_inst/src/oci_cli_vbs_instance/vbsinstance_cli_extended.py
index f3b07e94..3139bbb3 100644
--- a/services/vbs_inst/src/oci_cli_vbs_instance/vbsinstance_cli_extended.py
+++ b/services/vbs_inst/src/oci_cli_vbs_instance/vbsinstance_cli_extended.py
@@ -63,7 +63,7 @@ def create_vbs_instance_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(vbsinstance_cli.update_vbs_instance, params_to_exclude=['vbs_instance_id', 'is_resource_usage_agreement_granted', 'resource_compartment_id'])
@vbsinstance_cli.vbs_instance_group.command(name=vbsinstance_cli.update_vbs_instance.name, help=vbsinstance_cli.update_vbs_instance.help)
-@cli_util.option('--instance-id', required=True, help=u"""unique VbsInstance identifier [required]""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""unique VbsInstance identifier [required]""")
@cli_util.option('--is-cicd-authorized', type=click.BOOL, help=u"""Whether VBS is authorized to create and use resources in the customer tenancy""")
@cli_util.option('--cicd-compartment-id', help=u"""Compartment where VBS may create additional resources for the service instance""")
@click.pass_context
@@ -87,7 +87,7 @@ def update_vbs_instance_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(vbsinstance_cli.delete_vbs_instance, params_to_exclude=['vbs_instance_id'])
@vbsinstance_cli.vbs_instance_group.command(name=vbsinstance_cli.delete_vbs_instance.name, help=vbsinstance_cli.delete_vbs_instance.help)
-@cli_util.option('--instance-id', required=True, help=u"""unique VbsInstance identifier [required]""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""unique VbsInstance identifier [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
@cli_util.wrap_exceptions
@@ -101,7 +101,7 @@ def delete_vbs_instance_extended(ctx, **kwargs):
@cli_util.copy_params_from_generated_command(vbsinstance_cli.get_vbs_instance, params_to_exclude=['vbs_instance_id'])
@vbsinstance_cli.vbs_instance_group.command(name=vbsinstance_cli.get_vbs_instance.name, help=vbsinstance_cli.get_vbs_instance.help)
-@cli_util.option('--instance-id', required=True, help=u"""unique VbsInstance identifier [required]""")
+@cli_util.option('--instance-id', required=True, type=custom_types.CLI_OCID, help=u"""unique VbsInstance identifier [required]""")
@click.pass_context
@json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={}, output_type={'module': 'vbs_inst', 'class': 'VbsInstance'})
@cli_util.wrap_exceptions
diff --git a/services/visual_builder/src/oci_cli_vb_instance/generated/vbinstance_cli.py b/services/visual_builder/src/oci_cli_vb_instance/generated/vbinstance_cli.py
index 6ef41397..d3d4d54b 100644
--- a/services/visual_builder/src/oci_cli_vb_instance/generated/vbinstance_cli.py
+++ b/services/visual_builder/src/oci_cli_vb_instance/generated/vbinstance_cli.py
@@ -76,7 +76,7 @@ def work_request_log_entry_collection_group():
@vb_instance_group.command(name=cli_util.override('visual_builder.change_vb_instance_compartment.command_name', 'change-compartment'), help=u"""Change the compartment for an vb instance \n[Command Reference](changeVbInstanceCompartment)""")
@cli_util.option('--vb-instance-id', required=True, help=u"""Unique Vb Instance identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -137,7 +137,7 @@ def change_vb_instance_compartment(ctx, from_json, wait_for_state, max_wait_seco
@vb_instance_group.command(name=cli_util.override('visual_builder.create_vb_instance.command_name', 'create'), help=u"""Creates a new Vb Instance. \n[Command Reference](createVbInstance)""")
@cli_util.option('--display-name', required=True, help=u"""Vb Instance Identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--node-count', required=True, type=click.INT, help=u"""The number of Nodes""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -228,7 +228,7 @@ def create_vb_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@vb_instance_group.command(name=cli_util.override('visual_builder.create_vb_instance_private_endpoint_details.command_name', 'create-vb-instance-private-endpoint-details'), help=u"""Creates a new Vb Instance. \n[Command Reference](createVbInstance)""")
@cli_util.option('--display-name', required=True, help=u"""Vb Instance Identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--node-count', required=True, type=click.INT, help=u"""The number of Nodes""")
@cli_util.option('--network-endpoint-details-subnet-id', required=True, help=u"""The subnet OCID for the private endpoint.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -328,7 +328,7 @@ def create_vb_instance_private_endpoint_details(ctx, from_json, wait_for_state,
@vb_instance_group.command(name=cli_util.override('visual_builder.create_vb_instance_public_endpoint_details.command_name', 'create-vb-instance-public-endpoint-details'), help=u"""Creates a new Vb Instance. \n[Command Reference](createVbInstance)""")
@cli_util.option('--display-name', required=True, help=u"""Vb Instance Identifier.""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment Identifier.""")
@cli_util.option('--node-count', required=True, type=click.INT, help=u"""The number of Nodes""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--defined-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Usage of predefined tag keys. These predefined keys are scoped to namespaces. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -527,7 +527,7 @@ def get_work_request(ctx, from_json, work_request_id):
@vb_instance_summary_collection_group.command(name=cli_util.override('visual_builder.list_vb_instances.command_name', 'list-vb-instances'), help=u"""Returns a list of Vb Instances. \n[Command Reference](listVbInstances)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--display-name', help=u"""A user-friendly name. Does not have to be unique, and it's changeable.
Example: `My new resource`""")
@@ -589,7 +589,7 @@ def list_vb_instances(ctx, from_json, all_pages, page_size, compartment_id, disp
@work_request_error_collection_group.command(name=cli_util.override('visual_builder.list_work_request_errors.command_name', 'list-work-request-errors'), help=u"""Get the errors of a work request. \n[Command Reference](listWorkRequestErrors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', required=True, help=u"""The ID of the asynchronous request.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -644,7 +644,7 @@ def list_work_request_errors(ctx, from_json, all_pages, page_size, compartment_i
@work_request_log_entry_collection_group.command(name=cli_util.override('visual_builder.list_work_request_logs.command_name', 'list-work-request-logs'), help=u"""Get the logs of a work request. \n[Command Reference](listWorkRequestLogs)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', required=True, help=u"""The ID of the asynchronous request.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@@ -699,7 +699,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, compartment_id,
@work_request_summary_collection_group.command(name=cli_util.override('visual_builder.list_work_requests.command_name', 'list-work-requests'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--vb-instance-id', help=u"""The Vb Instance identifier to use to filter results""")
diff --git a/services/vn_monitoring/src/oci_cli_vn_monitoring/generated/vnmonitoring_cli.py b/services/vn_monitoring/src/oci_cli_vn_monitoring/generated/vnmonitoring_cli.py
index 0aaa2752..8448a7ef 100644
--- a/services/vn_monitoring/src/oci_cli_vn_monitoring/generated/vnmonitoring_cli.py
+++ b/services/vn_monitoring/src/oci_cli_vn_monitoring/generated/vnmonitoring_cli.py
@@ -76,7 +76,7 @@ def path_analyzer_test_group():
@path_analyzer_test_group.command(name=cli_util.override('vn_monitoring.change_path_analyzer_test_compartment.command_name', 'change-compartment'), help=u"""Moves a `PathAnalyzerTest` resource from one compartment to another based on the identifier. \n[Command Reference](changePathAnalyzerTestCompartment)""")
@cli_util.option('--path-analyzer-test-id', required=True, help=u"""The [OCID] of the `PathAnalyzerTest` resource.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the `PathAnalyzerTest` resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the `PathAnalyzerTest` resource should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -106,7 +106,7 @@ def change_path_analyzer_test_compartment(ctx, from_json, path_analyzer_test_id,
@path_analyzer_test_group.command(name=cli_util.override('vn_monitoring.create_path_analyzer_test.command_name', 'create'), help=u"""Creates a new `PathAnalyzerTest` resource. \n[Command Reference](createPathAnalyzerTest)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the `PathAnalyzerTest` resource's compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the `PathAnalyzerTest` resource's compartment.""")
@cli_util.option('--protocol', required=True, type=click.INT, help=u"""The IP protocol to use in the `PathAnalyzerTest` resource.""")
@cli_util.option('--source-endpoint', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--destination-endpoint', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -305,7 +305,7 @@ def get_path_analysis(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@path_analysis_work_request_result_group.command(name=cli_util.override('vn_monitoring.get_path_analysis_adhoc_get_path_analysis_details.command_name', 'get-path-analysis-adhoc-get-path-analysis-details'), help=u"""Use this method to initiate a [Network Path Analyzer] analysis. This method returns an opc-work-request-id, and you can poll the status of the work request until it either fails or succeeds.
If the work request status is successful, use [ListWorkRequestResults] with the work request ID to ask for the successful analysis results. If the work request status is failed, use [ListWorkRequestErrors] with the work request ID to ask for the analysis failure information. The information returned from either of these methods can be used to build a final report. \n[Command Reference](getPathAnalysis)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] for the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] for the compartment.""")
@cli_util.option('--protocol', required=True, type=click.INT, help=u"""The IP protocol to used for the path analysis.""")
@cli_util.option('--source-endpoint', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--destination-endpoint', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -481,7 +481,7 @@ def get_work_request(ctx, from_json, work_request_id):
@path_analyzer_test_collection_group.command(name=cli_util.override('vn_monitoring.list_path_analyzer_tests.command_name', 'list-path-analyzer-tests'), help=u"""Returns a list of all `PathAnalyzerTests` in a compartment. \n[Command Reference](listPathAnalyzerTests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "DELETED"]), help=u"""A filter that returns only resources whose `lifecycleState` matches the given `lifecycleState`.""")
@cli_util.option('--display-name', help=u"""A filter that returns only resources that match the entire display name given.""")
@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].
@@ -719,7 +719,7 @@ def list_work_request_results(ctx, from_json, all_pages, page_size, work_request
@work_request_group.command(name=cli_util.override('vn_monitoring.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--work-request-id', help=u"""The ID of the asynchronous work request.""")
@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].
diff --git a/services/vulnerability_scanning/src/oci_cli_vulnerability_scanning/generated/vulnerabilityscanning_cli.py b/services/vulnerability_scanning/src/oci_cli_vulnerability_scanning/generated/vulnerabilityscanning_cli.py
index 38202917..1c0ed789 100644
--- a/services/vulnerability_scanning/src/oci_cli_vulnerability_scanning/generated/vulnerabilityscanning_cli.py
+++ b/services/vulnerability_scanning/src/oci_cli_vulnerability_scanning/generated/vulnerabilityscanning_cli.py
@@ -131,7 +131,7 @@ def host_agent_scan_result_group():
@container_scan_recipe_group.command(name=cli_util.override('vulnerability_scanning.change_container_scan_recipe_compartment.command_name', 'change-compartment'), help=u"""Moves a ContainerScanRecipe into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeContainerScanRecipeCompartment)""")
@cli_util.option('--container-scan-recipe-id', required=True, help=u"""unique ContainerScanRecipe identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the container scan recipe should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the container scan recipe should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -162,7 +162,7 @@ def change_container_scan_recipe_compartment(ctx, from_json, container_scan_reci
@container_scan_result_group.command(name=cli_util.override('vulnerability_scanning.change_container_scan_result_compartment.command_name', 'change-compartment'), help=u"""Moves a ContainerScanResult into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeContainerScanResultCompartment)""")
@cli_util.option('--container-scan-result-id', required=True, help=u"""unique container scan identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the container scan should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the container scan should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -193,7 +193,7 @@ def change_container_scan_result_compartment(ctx, from_json, container_scan_resu
@container_scan_target_group.command(name=cli_util.override('vulnerability_scanning.change_container_scan_target_compartment.command_name', 'change-compartment'), help=u"""Moves a ContainerScanTarget into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeContainerScanTargetCompartment)""")
@cli_util.option('--container-scan-target-id', required=True, help=u"""unique ContainerScanTarget identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the container scan target should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the container scan target should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -224,7 +224,7 @@ def change_container_scan_target_compartment(ctx, from_json, container_scan_targ
@host_agent_scan_result_group.command(name=cli_util.override('vulnerability_scanning.change_host_agent_scan_result_compartment.command_name', 'change-compartment'), help=u"""Moves a HostAgentScanResult into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeHostAgentScanResultCompartment)""")
@cli_util.option('--host-agent-scan-result-id', required=True, help=u"""unique host agent scan identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the host agent scan should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the host agent scan should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -255,7 +255,7 @@ def change_host_agent_scan_result_compartment(ctx, from_json, host_agent_scan_re
@host_cis_benchmark_scan_result_group.command(name=cli_util.override('vulnerability_scanning.change_host_cis_benchmark_scan_result_compartment.command_name', 'change-compartment'), help=u"""Moves a HostCisBenchmarkScanResult into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeHostCisBenchmarkScanResultCompartment)""")
@cli_util.option('--host-cis-benchmark-scan-result-id', required=True, help=u"""unique host Cis benchmark scan identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the host port scan should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the host port scan should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -286,7 +286,7 @@ def change_host_cis_benchmark_scan_result_compartment(ctx, from_json, host_cis_b
@host_endpoint_protection_scan_result_group.command(name=cli_util.override('vulnerability_scanning.change_host_endpoint_protection_scan_result_compartment.command_name', 'change-compartment'), help=u"""Moves a HostEndpointProtectionScanResult into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeHostEndpointProtectionScanResultCompartment)""")
@cli_util.option('--host-endpoint-protection-scan-result-id', required=True, help=u"""unique host endpoint protection scan identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the host port scan should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the host port scan should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -317,7 +317,7 @@ def change_host_endpoint_protection_scan_result_compartment(ctx, from_json, host
@host_port_scan_result_group.command(name=cli_util.override('vulnerability_scanning.change_host_port_scan_result_compartment.command_name', 'change-compartment'), help=u"""Moves a HostPortScanResult into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeHostPortScanResultCompartment)""")
@cli_util.option('--host-port-scan-result-id', required=True, help=u"""unique host port scan identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the host port scan should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the host port scan should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -348,7 +348,7 @@ def change_host_port_scan_result_compartment(ctx, from_json, host_port_scan_resu
@host_scan_recipe_group.command(name=cli_util.override('vulnerability_scanning.change_host_scan_recipe_compartment.command_name', 'change-compartment'), help=u"""Moves a HostScanRecipe into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeHostScanRecipeCompartment)""")
@cli_util.option('--host-scan-recipe-id', required=True, help=u"""unique HostScanRecipe identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the host scan recipe should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the host scan recipe should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -379,7 +379,7 @@ def change_host_scan_recipe_compartment(ctx, from_json, host_scan_recipe_id, com
@host_scan_target_group.command(name=cli_util.override('vulnerability_scanning.change_host_scan_target_compartment.command_name', 'change-compartment'), help=u"""Moves a HostScanTarget into a different compartment. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeHostScanTargetCompartment)""")
@cli_util.option('--host-scan-target-id', required=True, help=u"""unique HostScanTarget identifier""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the host scan target should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the host scan target should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -409,7 +409,7 @@ def change_host_scan_target_compartment(ctx, from_json, host_scan_target_id, com
@container_scan_recipe_group.command(name=cli_util.override('vulnerability_scanning.create_container_scan_recipe.command_name', 'create'), help=u"""Creates a new ContainerScanRecipe. A recipe determines the types of security issues that you want scanned. \n[Command Reference](createContainerScanRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the container scan recipe's compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container scan recipe's compartment""")
@cli_util.option('--scan-settings', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""User friendly name of container scan recipe. If not present, will be auto-generated.""")
@cli_util.option('--image-count', type=click.INT, help=u"""This field is set equal to the number of images we want to scan in the first go when the recipe is created""")
@@ -480,7 +480,7 @@ def create_container_scan_recipe(ctx, from_json, wait_for_state, max_wait_second
@container_scan_target_group.command(name=cli_util.override('vulnerability_scanning.create_container_scan_target.command_name', 'create'), help=u"""Creates a new ContainerScanTarget. A container scan target specifies a group of one or more Docker image repositories in Oracle Cloud Infrastructure Registry (OCIR) that you want routinely scanned for security vulnerabilities. \n[Command Reference](createContainerScanTarget)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the container scan target's compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container scan target's compartment""")
@cli_util.option('--target-registry', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--container-scan-recipe-id', required=True, help=u"""ID of the container scan recipe this target applies.""")
@cli_util.option('--display-name', help=u"""User friendly name of container scan target. If not present, will be auto-generated.""")
@@ -553,7 +553,7 @@ def create_container_scan_target(ctx, from_json, wait_for_state, max_wait_second
@container_scan_target_group.command(name=cli_util.override('vulnerability_scanning.create_container_scan_target_create_ocir_container_scan_registry_details.command_name', 'create-container-scan-target-create-ocir-container-scan-registry-details'), help=u"""Creates a new ContainerScanTarget. A container scan target specifies a group of one or more Docker image repositories in Oracle Cloud Infrastructure Registry (OCIR) that you want routinely scanned for security vulnerabilities. \n[Command Reference](createContainerScanTarget)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the container scan target's compartment""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the container scan target's compartment""")
@cli_util.option('--container-scan-recipe-id', required=True, help=u"""ID of the container scan recipe this target applies.""")
@cli_util.option('--target-registry-compartment-id', required=True, help=u"""The [OCID] of the compartment to perform the scans in. All listed repositories must be in the compartment.""")
@cli_util.option('--display-name', help=u"""User friendly name of container scan target. If not present, will be auto-generated.""")
@@ -637,7 +637,7 @@ def create_container_scan_target_create_ocir_container_scan_registry_details(ctx
@host_scan_recipe_group.command(name=cli_util.override('vulnerability_scanning.create_host_scan_recipe.command_name', 'create'), help=u"""Creates a new HostScanRecipe. A recipe determines the types of security issues that you want scanned, and how often to scan. \n[Command Reference](createHostScanRecipe)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment ID of the scanning config. If no individual hosts are specified, all hosts in this compartment are scanned""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment ID of the scanning config. If no individual hosts are specified, all hosts in this compartment are scanned""")
@cli_util.option('--port-settings', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--agent-settings', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--schedule', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -712,7 +712,7 @@ def create_host_scan_recipe(ctx, from_json, wait_for_state, max_wait_seconds, wa
@host_scan_target_group.command(name=cli_util.override('vulnerability_scanning.create_host_scan_target.command_name', 'create'), help=u"""Creates a new HostScanTarget. A host scan target is a collection of compute instances that you want routinely scanned for security vulnerabilities. \n[Command Reference](createHostScanTarget)""")
-@cli_util.option('--compartment-id', required=True, help=u"""Compartment ID of the object (this).""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""Compartment ID of the object (this).""")
@cli_util.option('--target-compartment-id', required=True, help=u"""Compartment ID to target. If a list of hosts is provided, all hosts must be in this compartment.""")
@cli_util.option('--host-scan-recipe-id', required=True, help=u"""ID of the host scan recipe this target applies.""")
@cli_util.option('--display-name', help=u"""Target identifier, which can be renamed. If not present, it will be auto-generated. Avoid entering confidential information.""")
@@ -1293,12 +1293,12 @@ def delete_host_scan_target(ctx, from_json, wait_for_state, max_wait_seconds, wa
@host_agent_scan_result_group.command(name=cli_util.override('vulnerability_scanning.export_host_agent_scan_result_csv.command_name', 'export-host-agent-scan-result-csv'), help=u"""Exports a list of HostAgentScanResultSummary objects within a compartment and during a specified time range in CSV format. You can filter the results by problem severity. \n[Command Reference](exportHostAgentScanResultCsv)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to list scans in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to list scans in.""")
@cli_util.option('--time-started-after', required=True, type=custom_types.CLI_DATETIME, help=u"""Date and time after which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-started-before', required=True, type=custom_types.CLI_DATETIME, help=u"""Date and time before which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@cli_util.option('--highest-problem-severity', type=custom_types.CliCaseInsensitiveChoice(["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]), help=u"""Parameter to filter by highestProblemSeverity for scan results""")
-@cli_util.option('--instance-id', help=u"""Parameter to filter by a single compute instance ID for scan results""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""Parameter to filter by a single compute instance ID for scan results""")
@cli_util.option('--operating-system', help=u"""Parameter to filter by operating system for scan results""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -1355,7 +1355,7 @@ def export_host_agent_scan_result_csv(ctx, from_json, file, compartment_id, time
@host_vulnerability_group.command(name=cli_util.override('vulnerability_scanning.export_host_vulnerability_csv.command_name', 'export-host-vulnerability-csv'), help=u"""Exports a list of HostVulnerabilitySummary objects in a compartment in CSV format. \n[Command Reference](exportHostVulnerabilityCsv)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to list vulnerabilities in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to list vulnerabilities in.""")
@cli_util.option('--time-last-detected-greater-than-or-equal-to', required=True, type=custom_types.CLI_DATETIME, help=u"""Date and time on or after which this vulnerability was last detected, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-last-detected-less-than-or-equal-to', required=True, type=custom_types.CLI_DATETIME, help=u"""Date and time on or before which this vulnerability was last detected, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--file', type=click.File(mode='wb'), required=True, help="The name of the file that will receive the response data, or '-' to write to STDOUT.")
@@ -1669,7 +1669,7 @@ def get_work_request(ctx, from_json, work_request_id):
@container_scan_recipe_group.command(name=cli_util.override('vulnerability_scanning.list_container_scan_recipes.command_name', 'list'), help=u"""Retrieves a list of ContainerScanRecipeSummary objects in a compartment. A recipe determines the types of security issues that you want scanned. \n[Command Reference](listContainerScanRecipes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1729,7 +1729,7 @@ def list_container_scan_recipes(ctx, from_json, all_pages, page_size, compartmen
@container_scan_result_group.command(name=cli_util.override('vulnerability_scanning.list_container_scan_results.command_name', 'list'), help=u"""Retrieves a list of ContainerScanResultSummary objects in a compartment. You can filter and sort the results by problem severity and time. A container scan result includes a list of problems detected in a specific image in a Docker repository. \n[Command Reference](listContainerScanResults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--repository', help=u"""Repository name""")
@cli_util.option('--image', help=u"""Image name""")
@cli_util.option('--are-subcompartments-included', type=click.BOOL, help=u"""When listing with one or more filters, whether to include subcompartments for the compartmentId being listed for. Does nothing if no filters are present in the query.""")
@@ -1804,7 +1804,7 @@ def list_container_scan_results(ctx, from_json, all_pages, page_size, compartmen
@container_scan_target_group.command(name=cli_util.override('vulnerability_scanning.list_container_scan_targets.command_name', 'list'), help=u"""Retrieves a list of ContainerScanTargetSummary objects in a compartment. A container scan target specifies a group of one or more Docker image repositories in Oracle Cloud Infrastructure Registry (OCIR) that you want routinely scanned for security vulnerabilities. \n[Command Reference](listContainerScanTargets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -1864,8 +1864,8 @@ def list_container_scan_targets(ctx, from_json, all_pages, page_size, compartmen
@host_agent_scan_result_group.command(name=cli_util.override('vulnerability_scanning.list_host_agent_scan_results.command_name', 'list'), help=u"""Retrieves a list of HostAgentScanResultSummary objects in a compartment. You can filter and sort the results by problem severity and time. An agent scan result includes a list of CVEs detected in a specific compute instance. \n[Command Reference](listHostAgentScanResults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
-@cli_util.option('--instance-id', help=u"""The ID of a compute instance""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The ID of a compute instance""")
@cli_util.option('--highest-problem-severity', type=custom_types.CliCaseInsensitiveChoice(["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]), help=u"""Parameter to filter by highestProblemSeverity for scan results""")
@cli_util.option('--operating-system', help=u"""Parameter to filter by operating system for scan results""")
@cli_util.option('--time-started-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Date and time on or after which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -1939,8 +1939,8 @@ def list_host_agent_scan_results(ctx, from_json, all_pages, page_size, compartme
@host_cis_benchmark_scan_result_group.command(name=cli_util.override('vulnerability_scanning.list_host_cis_benchmark_scan_results.command_name', 'list'), help=u"""Retrieves a list of HostCisBenchmarkScanResultSummary objects in a compartment. You can filter and sort the results by problem severity and time. A CIS (Center for Internet Security) benchmark scan result includes the number of failed benchmark tests on a specific compute instance. \n[Command Reference](listHostCisBenchmarkScanResults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
-@cli_util.option('--instance-id', help=u"""The ID of a compute instance""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The ID of a compute instance""")
@cli_util.option('--highest-problem-severity', type=custom_types.CliCaseInsensitiveChoice(["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]), help=u"""Parameter to filter by highestProblemSeverity for scan results""")
@cli_util.option('--time-started-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Date and time on or after which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-started-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Date and time on or before which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -2011,8 +2011,8 @@ def list_host_cis_benchmark_scan_results(ctx, from_json, all_pages, page_size, c
@host_endpoint_protection_scan_result_group.command(name=cli_util.override('vulnerability_scanning.list_host_endpoint_protection_scan_results.command_name', 'list'), help=u"""Returns a collection of HostEndpointProtectionScanResultSummary objects \n[Command Reference](listHostEndpointProtectionScanResults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
-@cli_util.option('--instance-id', help=u"""The ID of a compute instance""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The ID of a compute instance""")
@cli_util.option('--highest-problem-severity', type=custom_types.CliCaseInsensitiveChoice(["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]), help=u"""Parameter to filter by highestProblemSeverity for scan results""")
@cli_util.option('--time-started-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Date and time on or after which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-started-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Date and time on or before which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -2083,8 +2083,8 @@ def list_host_endpoint_protection_scan_results(ctx, from_json, all_pages, page_s
@host_port_scan_result_group.command(name=cli_util.override('vulnerability_scanning.list_host_port_scan_results.command_name', 'list'), help=u"""Retrieves a list of HostPortScanResultSummary objects in a compartment. You can filter and sort the results by problem severity and time. A port scan result includes a list of open ports that were detected in a specific compute instance. \n[Command Reference](listHostPortScanResults)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
-@cli_util.option('--instance-id', help=u"""The ID of a compute instance""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--instance-id', type=custom_types.CLI_OCID, help=u"""The ID of a compute instance""")
@cli_util.option('--highest-problem-severity', type=custom_types.CliCaseInsensitiveChoice(["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]), help=u"""Parameter to filter by highestProblemSeverity for scan results""")
@cli_util.option('--time-started-greater-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Date and time on or after which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@cli_util.option('--time-started-less-than-or-equal-to', type=custom_types.CLI_DATETIME, help=u"""Date and time on or before which scans were started, as described in [RFC 3339]""" + custom_types.CLI_DATETIME.VALID_DATETIME_CLI_HELP_MESSAGE)
@@ -2155,7 +2155,7 @@ def list_host_port_scan_results(ctx, from_json, all_pages, page_size, compartmen
@host_scan_recipe_group.command(name=cli_util.override('vulnerability_scanning.list_host_scan_recipes.command_name', 'list'), help=u"""Retrieves a list of HostScanRecipeSummary objects in a compartment. A recipe determines the types of security issues that you want scanned, and how often to scan. \n[Command Reference](listHostScanRecipes)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -2215,7 +2215,7 @@ def list_host_scan_recipes(ctx, from_json, all_pages, page_size, compartment_id,
@host_scan_target_error_summary_collection_group.command(name=cli_util.override('vulnerability_scanning.list_host_scan_target_errors.command_name', 'list-host-scan-target-errors'), help=u"""Retrieves list of errors during scanning on instances associated with HostScanTarget identified by the target ID. A host scan target is a collection of compute instances that you want routinely scanned for security vulnerabilities. \n[Command Reference](listHostScanTargetErrors)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--host-scan-target-id', required=True, help=u"""unique HostScanTarget identifier""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The sort order to use, either 'ASC' or 'DESC'.""")
@@ -2279,7 +2279,7 @@ def list_host_scan_target_errors(ctx, from_json, all_pages, page_size, compartme
@host_scan_target_group.command(name=cli_util.override('vulnerability_scanning.list_host_scan_targets.command_name', 'list'), help=u"""Retrieves a list of HostScanTargetSummary objects in a compartment. A host scan target is a collection of compute instances that you want routinely scanned for security vulnerabilities. \n[Command Reference](listHostScanTargets)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), help=u"""A filter to return only resources whose lifecycleState matches the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@@ -2339,7 +2339,7 @@ def list_host_scan_targets(ctx, from_json, all_pages, page_size, compartment_id,
@host_vulnerability_group.command(name=cli_util.override('vulnerability_scanning.list_host_vulnerabilities.command_name', 'list'), help=u"""Retrieves a list of HostVulnerabilitySummary objects in a compartment. You can filter and sort the vulnerabilities by problem severity and time. A host vulnerability describes a security issue that was detected in scans of one or more compute instances. \n[Command Reference](listHostVulnerabilities)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--severity', type=custom_types.CliCaseInsensitiveChoice(["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]), help=u"""A filter to return only resources that have a severity that matches the given severity""")
@@ -2462,7 +2462,7 @@ def list_host_vulnerability_impacted_hosts(ctx, from_json, all_pages, page_size,
@vulnerability_group.command(name=cli_util.override('vulnerability_scanning.list_vulnerabilities.command_name', 'list'), help=u"""Retrieves a list of VulnerabilitySummary objects in a compartment. You can filter and sort the vulnerabilities by problem severity and time and type. A vulnerability describes a security issue that was detected in scans of one or more compute instances, container images. \n[Command Reference](listVulnerabilities)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--severity', type=custom_types.CliCaseInsensitiveChoice(["NONE", "LOW", "MEDIUM", "HIGH", "CRITICAL"]), help=u"""A filter to return only resources that have a severity that matches the given severity""")
@@ -2744,7 +2744,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('vulnerability_scanning.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The ID of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The ID of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""The page token representing the page at which to start retrieving results. This is usually retrieved from a previous list call.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@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.""")
diff --git a/services/waa/src/oci_cli_waa/generated/waa_cli.py b/services/waa/src/oci_cli_waa/generated/waa_cli.py
index 66cbba62..00061c80 100644
--- a/services/waa/src/oci_cli_waa/generated/waa_cli.py
+++ b/services/waa/src/oci_cli_waa/generated/waa_cli.py
@@ -47,7 +47,7 @@ def web_app_acceleration_group():
@web_app_acceleration_group.command(name=cli_util.override('waa.change_web_app_acceleration_compartment.command_name', 'change-compartment'), help=u"""Moves a Web App Acceleration resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeWebAppAccelerationCompartment)""")
@cli_util.option('--web-app-acceleration-id', required=True, help=u"""The [OCID] of the WebAppAcceleration.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -108,7 +108,7 @@ def change_web_app_acceleration_compartment(ctx, from_json, wait_for_state, max_
@web_app_acceleration_policy_group.command(name=cli_util.override('waa.change_web_app_acceleration_policy_compartment.command_name', 'change-compartment'), help=u"""Moves a WebAppAccelerationfPolicy resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeWebAppAccelerationPolicyCompartment)""")
@cli_util.option('--web-app-acceleration-policy-id', required=True, help=u"""The [OCID] of the WebAppAccelerationPolicy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -169,7 +169,7 @@ def change_web_app_acceleration_policy_compartment(ctx, from_json, wait_for_stat
@web_app_acceleration_group.command(name=cli_util.override('waa.create_web_app_acceleration.command_name', 'create'), help=u"""Creates a new WebAppAcceleration. \n[Command Reference](createWebAppAcceleration)""")
@cli_util.option('--backend-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOAD_BALANCER"]), help=u"""Type of the WebAppFirewall, as example LOAD_BALANCER.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--web-app-acceleration-policy-id', required=True, help=u"""The [OCID] of WebAppAccelerationPolicy, which is attached to the resource.""")
@cli_util.option('--display-name', help=u"""WebAppAcceleration display name, can be renamed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -241,9 +241,9 @@ def create_web_app_acceleration(ctx, from_json, wait_for_state, max_wait_seconds
@web_app_acceleration_group.command(name=cli_util.override('waa.create_web_app_acceleration_create_web_app_acceleration_load_balancer_details.command_name', 'create-web-app-acceleration-create-web-app-acceleration-load-balancer-details'), help=u"""Creates a new WebAppAcceleration. \n[Command Reference](createWebAppAcceleration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--web-app-acceleration-policy-id', required=True, help=u"""The [OCID] of WebAppAccelerationPolicy, which is attached to the resource.""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""LoadBalancer [OCID] to which the WebAppAccelerationPolicy is attached to.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""LoadBalancer [OCID] to which the WebAppAccelerationPolicy is attached to.""")
@cli_util.option('--display-name', help=u"""WebAppAcceleration display name, can be renamed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -316,7 +316,7 @@ def create_web_app_acceleration_create_web_app_acceleration_load_balancer_detail
@web_app_acceleration_policy_group.command(name=cli_util.override('waa.create_web_app_acceleration_policy.command_name', 'create'), help=u"""Creates a new WebAppAccelerationPolicy. \n[Command Reference](createWebAppAccelerationPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""WebAppAccelerationPolicy display name, can be renamed.""")
@cli_util.option('--response-caching-policy', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--response-compression-policy', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -549,7 +549,7 @@ def get_web_app_acceleration_policy(ctx, from_json, web_app_acceleration_policy_
@web_app_acceleration_policy_group.command(name=cli_util.override('waa.list_web_app_acceleration_policies.command_name', 'list'), help=u"""Gets a list of all WebAppAccelerationPolicies in a compartment. \n[Command Reference](listWebAppAccelerationPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""A filter to return only resources that match the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""A filter to return only the WebAppAccelerationPolicy with the given [OCID].""")
@@ -612,7 +612,7 @@ def list_web_app_acceleration_policies(ctx, from_json, all_pages, page_size, com
@web_app_acceleration_group.command(name=cli_util.override('waa.list_web_app_accelerations.command_name', 'list'), help=u"""Gets a list of all WebAppAccelerations in a compartment. \n[Command Reference](listWebAppAccelerations)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""A filter to return only the WebAppAcceleration with the given [OCID].""")
@cli_util.option('--web-app-acceleration-policy-id', help=u"""A filter to return only the WebAppAcceleration with the given [OCID] of related WebAppAccelerationPolicy.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""A filter to return only resources that match the given lifecycleState.""")
diff --git a/services/waa/src/oci_cli_work_request/generated/workrequest_cli.py b/services/waa/src/oci_cli_work_request/generated/workrequest_cli.py
index 4791c2f9..516a9eb2 100644
--- a/services/waa/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/waa/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -173,7 +173,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_request.list_work_requests.command_name', 'list'), help=u"""Lists the WorkRequests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/waas/src/oci_cli_redirect/generated/redirect_cli.py b/services/waas/src/oci_cli_redirect/generated/redirect_cli.py
index bf7355f0..bd71d557 100644
--- a/services/waas/src/oci_cli_redirect/generated/redirect_cli.py
+++ b/services/waas/src/oci_cli_redirect/generated/redirect_cli.py
@@ -36,7 +36,7 @@ def http_redirect_group():
@http_redirect_group.command(name=cli_util.override('redirect.change_http_redirect_compartment.command_name', 'change-compartment'), help=u"""Moves HTTP Redirect into a different compartment. When provided, If-Match is checked against ETag values of the WAAS policy. \n[Command Reference](changeHttpRedirectCompartment)""")
@cli_util.option('--http-redirect-id', required=True, help=u"""The [OCID] of the HTTP Redirect.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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 provided matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -66,7 +66,7 @@ def change_http_redirect_compartment(ctx, from_json, http_redirect_id, compartme
@http_redirect_group.command(name=cli_util.override('redirect.create_http_redirect.command_name', 'create'), help=u"""Creates a new HTTP Redirect on the WAF edge. \n[Command Reference](createHttpRedirect)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the HTTP Redirects compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the HTTP Redirects compartment.""")
@cli_util.option('--domain', required=True, help=u"""The domain from which traffic will be redirected.""")
@cli_util.option('--target', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""The redirect target object including all the redirect data.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""The user-friendly name of the HTTP Redirect. The name can be changed and does not need to be unique.""")
@@ -221,7 +221,7 @@ def get_http_redirect(ctx, from_json, http_redirect_id):
@http_redirect_group.command(name=cli_util.override('redirect.list_http_redirects.command_name', 'list'), help=u"""Gets a list of HTTP Redirects. \n[Command Reference](listHttpRedirects)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated call. If unspecified, defaults to `10`.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous paginated call.""")
@cli_util.option('--sort-order', type=custom_types.CliCaseInsensitiveChoice(["ASC", "DESC"]), help=u"""The value of the sorting direction of resources in a paginated 'List' call. If unspecified, defaults to `DESC`.""")
diff --git a/services/waas/src/oci_cli_waas/generated/waas_cli.py b/services/waas/src/oci_cli_waas/generated/waas_cli.py
index 0a22413a..54f53c93 100644
--- a/services/waas/src/oci_cli_waas/generated/waas_cli.py
+++ b/services/waas/src/oci_cli_waas/generated/waas_cli.py
@@ -328,7 +328,7 @@ def cancel_work_request(ctx, from_json, work_request_id, if_match):
@address_list_group.command(name=cli_util.override('waas.change_address_list_compartment.command_name', 'change-compartment'), help=u"""Moves address list into a different compartment. When provided, If-Match is checked against ETag values of the address list. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeAddressListCompartment)""")
@cli_util.option('--address-list-id', required=True, help=u"""The [OCID] of the address list. This number is generated when the address list is added to the compartment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
@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 provided matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -358,8 +358,8 @@ def change_address_list_compartment(ctx, from_json, address_list_id, compartment
@certificate_group.command(name=cli_util.override('waas.change_certificate_compartment.command_name', 'change-compartment'), help=u"""Moves certificate into a different compartment. When provided, If-Match is checked against ETag values of the certificate. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeCertificateCompartment)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
@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 provided matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -390,7 +390,7 @@ def change_certificate_compartment(ctx, from_json, certificate_id, compartment_i
@custom_protection_rule_group.command(name=cli_util.override('waas.change_custom_protection_rule_compartment.command_name', 'change-compartment'), help=u"""Moves a custom protection rule into a different compartment within the same tenancy. When provided, If-Match is checked against ETag values of the custom protection rule. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeCustomProtectionRuleCompartment)""")
@cli_util.option('--custom-protection-rule-id', required=True, help=u"""The [OCID] of the custom protection rule. This number is generated when the custom protection rule is added to the compartment.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
@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 provided matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -421,7 +421,7 @@ def change_custom_protection_rule_compartment(ctx, from_json, custom_protection_
@waas_policy_group.command(name=cli_util.override('waas.change_waas_policy_compartment.command_name', 'change-compartment'), help=u"""Moves WAAS policy into a different compartment. When provided, If-Match is checked against ETag values of the WAAS policy. For information about moving resources between compartments, see [Moving Resources to a Different Compartment]. \n[Command Reference](changeWaasPolicyCompartment)""")
@cli_util.option('--waas-policy-id', required=True, help=u"""The [OCID] of the WAAS policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved. For information about moving resources between compartments, see [Moving Resources to a Different Compartment].""")
@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 provided matches the resource's current etag value.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -451,7 +451,7 @@ def change_waas_policy_compartment(ctx, from_json, waas_policy_id, compartment_i
@address_list_group.command(name=cli_util.override('waas.create_address_list.command_name', 'create'), help=u"""Creates an address list in a set compartment and allows it to be used in a WAAS policy and referenced by access rules. Addresses can be IP addresses and CIDR notations. \n[Command Reference](createAddressList)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to create the address list.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to create the address list.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the address list.""")
@cli_util.option('--addresses', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of IP addresses or CIDR notations.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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].
@@ -518,7 +518,7 @@ def create_address_list(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@certificate_group.command(name=cli_util.override('waas.create_certificate.command_name', 'create'), help=u"""Allows an SSL certificate to be added to a WAAS policy. The Web Application Firewall terminates SSL connections to inspect requests in runtime, and then re-encrypts requests before sending them to the origin for fulfillment.
For more information, see [WAF Settings]. \n[Command Reference](createCertificate)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to create the SSL certificate.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to create the SSL certificate.""")
@cli_util.option('--certificate-data', required=True, help=u"""The data of the SSL certificate.
**Note:** Many SSL certificate providers require an intermediate certificate chain to ensure a trusted status. If your SSL certificate requires an intermediate certificate chain, please append the intermediate certificate key in the `certificateData` field after the leaf certificate issued by the SSL certificate provider. If you are unsure if your certificate requires an intermediate certificate chain, see your certificate provider's documentation.
@@ -597,7 +597,7 @@ def create_certificate(ctx, from_json, wait_for_state, max_wait_seconds, wait_in
@custom_protection_rule_group.command(name=cli_util.override('waas.create_custom_protection_rule.command_name', 'create'), help=u"""Creates a new custom protection rule in the specified compartment.
Custom protection rules allow you to create rules in addition to the rulesets provided by the Web Application Firewall service, including rules from [ModSecurity]. The syntax for custom rules is based on the ModSecurity syntax. For more information about custom protection rules, see [Custom Protection Rules]. \n[Command Reference](createCustomProtectionRule)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to create the custom protection rule.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to create the custom protection rule.""")
@cli_util.option('--display-name', required=True, help=u"""A user-friendly name for the custom protection rule.""")
@cli_util.option('--template', required=True, help=u"""The template text of the custom protection rule. All custom protection rules are expressed in ModSecurity Rule Language.
@@ -694,7 +694,7 @@ def create_custom_protection_rule(ctx, from_json, wait_for_state, max_wait_secon
All Oracle Cloud Infrastructure resources, including WAAS policies, receive a unique, Oracle-assigned ID called an Oracle Cloud Identifier (OCID). When a resource is created, you can find its OCID in the response. You can also retrieve a resource's OCID by using a list API operation for that resource type, or by viewing the resource in the Console. Fore more information, see [Resource Identifiers].
**Note:** After sending the POST request, the new object's state will temporarily be `CREATING`. Ensure that the resource's state has changed to `ACTIVE` before use. \n[Command Reference](createWaasPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to create the WAAS policy.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to create the WAAS policy.""")
@cli_util.option('--domain', required=True, help=u"""The web application domain that the WAAS policy protects.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the WAAS policy. The name can be changed and does not need to be unique.""")
@cli_util.option('--additional-domains', type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of additional domains for the specified web application.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -853,7 +853,7 @@ def delete_address_list(ctx, from_json, wait_for_state, max_wait_seconds, wait_i
@certificate_group.command(name=cli_util.override('waas.delete_certificate.command_name', 'delete'), help=u"""Deletes an SSL certificate from the WAAS service. \n[Command Reference](deleteCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
@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 provided matches the resource's current etag value.""")
@cli_util.confirm_delete_option
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "ACTIVE", "FAILED", "UPDATING", "DELETING", "DELETED"]), multiple=True, help="""This operation creates, modifies or deletes a resource that has a defined lifecycle state. Specify this option to perform the action and then wait until the resource reaches a given lifecycle 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.""")
@@ -1059,7 +1059,7 @@ def get_address_list(ctx, from_json, address_list_id):
@certificate_group.command(name=cli_util.override('waas.get_certificate.command_name', 'get'), help=u"""Gets the details of an SSL certificate. \n[Command Reference](getCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -1379,7 +1379,7 @@ def list_access_rules(ctx, from_json, all_pages, page_size, waas_policy_id, limi
@address_list_group.command(name=cli_util.override('waas.list_address_lists.command_name', 'list'), help=u"""Gets a list of address lists that can be used in a WAAS policy. \n[Command Reference](listAddressLists)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated call. If unspecified, defaults to `10`.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous paginated call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["id", "name", "timeCreated"]), help=u"""The value by which address lists are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.""")
@@ -1552,7 +1552,7 @@ def list_captchas(ctx, from_json, all_pages, page_size, waas_policy_id, limit, p
@certificate_group.command(name=cli_util.override('waas.list_certificates.command_name', 'list'), help=u"""Gets a list of SSL certificates that can be used in a WAAS policy. \n[Command Reference](listCertificates)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated call. If unspecified, defaults to `10`.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous paginated call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["id", "compartmentId", "displayName", "notValidAfter", "timeCreated"]), help=u"""The value by which certificate summaries are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.""")
@@ -1621,7 +1621,7 @@ def list_certificates(ctx, from_json, all_pages, page_size, compartment_id, limi
@custom_protection_rule_group.command(name=cli_util.override('waas.list_custom_protection_rules.command_name', 'list'), help=u"""Gets a list of custom protection rules for the specified Web Application Firewall. \n[Command Reference](listCustomProtectionRules)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated call. If unspecified, defaults to `10`.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous paginated call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["id", "compartmentId", "displayName", "modSecurityRuleId", "timeCreated"]), help=u"""The value by which custom protection rules are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.""")
@@ -1957,7 +1957,7 @@ def list_threat_feeds(ctx, from_json, all_pages, page_size, waas_policy_id, limi
@waas_policy_group.command(name=cli_util.override('waas.list_waas_policies.command_name', 'list'), help=u"""Gets a list of WAAS policies. \n[Command Reference](listWaasPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated call. If unspecified, defaults to `10`.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous paginated call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["id", "displayName", "timeCreated"]), help=u"""The value by which policies are sorted in a paginated 'List' call. If unspecified, defaults to `timeCreated`.""")
@@ -2417,7 +2417,7 @@ def list_whitelists(ctx, from_json, all_pages, page_size, waas_policy_id, limit,
@work_request_group.command(name=cli_util.override('waas.list_work_requests.command_name', 'list'), help=u"""Gets a list of subnets (CIDR notation) from which the WAAS EDGE may make requests. The subnets are owned by OCI and forward traffic to your origins. Allow traffic from these subnets to your origins. They are not associated with specific regions or compartments. \n[Command Reference](listWorkRequests)""")
@cli_util.option('--waas-policy-id', required=True, help=u"""The [OCID] of the policy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment. This number is generated when the compartment is created.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return in a paginated call. If unspecified, defaults to `10`.""")
@cli_util.option('--page', help=u"""The value of the `opc-next-page` response header from the previous paginated call.""")
@cli_util.option('--sort-by', type=custom_types.CliCaseInsensitiveChoice(["id", "status", "timeAccepted", "timeStarted", "timeFinished", "operationType"]), help=u"""The value by which work requests are sorted in a paginated 'List' call. If unspecified, defaults to `timeAccepted`.""")
@@ -2808,7 +2808,7 @@ def update_captchas(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@certificate_group.command(name=cli_util.override('waas.update_certificate.command_name', 'update'), help=u"""It is not possible to update a certificate, only create and delete. Therefore, this operation can only update the display name, freeform tags, and defined tags of a certificate. \n[Command Reference](updateCertificate)""")
-@cli_util.option('--certificate-id', required=True, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
+@cli_util.option('--certificate-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the SSL certificate used in the WAAS policy. This number is generated when the certificate is added to the policy.""")
@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 provided matches the resource's current etag value.""")
@cli_util.option('--display-name', help=u"""A user-friendly name for the SSL certificate. The name can be changed and does not need to be unique.""")
@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].
@@ -3344,7 +3344,7 @@ def update_js_challenge(ctx, from_json, force, wait_for_state, max_wait_seconds,
@policy_config_group.command(name=cli_util.override('waas.update_policy_config.command_name', 'update'), help=u"""Updates the configuration for a WAAS policy. Only the fields specified in the request body will be updated; all other properties will remain unchanged. \n[Command Reference](updatePolicyConfig)""")
@cli_util.option('--waas-policy-id', required=True, help=u"""The [OCID] of the WAAS policy.""")
-@cli_util.option('--certificate-id', help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
@cli_util.option('--is-https-enabled', type=click.BOOL, help=u"""Enable or disable HTTPS support. If true, a `certificateId` is required. If unspecified, defaults to `false`.""")
@cli_util.option('--is-https-forced', type=click.BOOL, help=u"""Force HTTP to HTTPS redirection. If unspecified, defaults to `false`.""")
@cli_util.option('--tls-protocols', type=custom_types.CliCaseInsensitiveChoice(["TLS_V1", "TLS_V1_1", "TLS_V1_2", "TLS_V1_3"]), help=u"""A list of allowed TLS protocols. Only applicable when HTTPS support is enabled. The TLS protocol is negotiated while the request is connecting and the most recent protocol supported by both the edge node and client browser will be selected. If no such version exists, the connection will be aborted. - **TLS_V1:** corresponds to TLS 1.0 specification.
@@ -3488,7 +3488,7 @@ def update_policy_config(ctx, from_json, force, wait_for_state, max_wait_seconds
@policy_config_group.command(name=cli_util.override('waas.update_policy_config_round_robin_load_balancing_method.command_name', 'update-policy-config-round-robin-load-balancing-method'), help=u"""Updates the configuration for a WAAS policy. Only the fields specified in the request body will be updated; all other properties will remain unchanged. \n[Command Reference](updatePolicyConfig)""")
@cli_util.option('--waas-policy-id', required=True, help=u"""The [OCID] of the WAAS policy.""")
-@cli_util.option('--certificate-id', help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
@cli_util.option('--is-https-enabled', type=click.BOOL, help=u"""Enable or disable HTTPS support. If true, a `certificateId` is required. If unspecified, defaults to `false`.""")
@cli_util.option('--is-https-forced', type=click.BOOL, help=u"""Force HTTP to HTTPS redirection. If unspecified, defaults to `false`.""")
@cli_util.option('--tls-protocols', type=custom_types.CliCaseInsensitiveChoice(["TLS_V1", "TLS_V1_1", "TLS_V1_2", "TLS_V1_3"]), help=u"""A list of allowed TLS protocols. Only applicable when HTTPS support is enabled. The TLS protocol is negotiated while the request is connecting and the most recent protocol supported by both the edge node and client browser will be selected. If no such version exists, the connection will be aborted. - **TLS_V1:** corresponds to TLS 1.0 specification.
@@ -3631,7 +3631,7 @@ def update_policy_config_round_robin_load_balancing_method(ctx, from_json, force
@policy_config_group.command(name=cli_util.override('waas.update_policy_config_sticky_cookie_load_balancing_method.command_name', 'update-policy-config-sticky-cookie-load-balancing-method'), help=u"""Updates the configuration for a WAAS policy. Only the fields specified in the request body will be updated; all other properties will remain unchanged. \n[Command Reference](updatePolicyConfig)""")
@cli_util.option('--waas-policy-id', required=True, help=u"""The [OCID] of the WAAS policy.""")
-@cli_util.option('--certificate-id', help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
@cli_util.option('--is-https-enabled', type=click.BOOL, help=u"""Enable or disable HTTPS support. If true, a `certificateId` is required. If unspecified, defaults to `false`.""")
@cli_util.option('--is-https-forced', type=click.BOOL, help=u"""Force HTTP to HTTPS redirection. If unspecified, defaults to `false`.""")
@cli_util.option('--tls-protocols', type=custom_types.CliCaseInsensitiveChoice(["TLS_V1", "TLS_V1_1", "TLS_V1_2", "TLS_V1_3"]), help=u"""A list of allowed TLS protocols. Only applicable when HTTPS support is enabled. The TLS protocol is negotiated while the request is connecting and the most recent protocol supported by both the edge node and client browser will be selected. If no such version exists, the connection will be aborted. - **TLS_V1:** corresponds to TLS 1.0 specification.
@@ -3786,7 +3786,7 @@ def update_policy_config_sticky_cookie_load_balancing_method(ctx, from_json, for
@policy_config_group.command(name=cli_util.override('waas.update_policy_config_ip_hash_load_balancing_method.command_name', 'update-policy-config-ip-hash-load-balancing-method'), help=u"""Updates the configuration for a WAAS policy. Only the fields specified in the request body will be updated; all other properties will remain unchanged. \n[Command Reference](updatePolicyConfig)""")
@cli_util.option('--waas-policy-id', required=True, help=u"""The [OCID] of the WAAS policy.""")
-@cli_util.option('--certificate-id', help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
+@cli_util.option('--certificate-id', type=custom_types.CLI_OCID, help=u"""The OCID of the SSL certificate to use if HTTPS is supported.""")
@cli_util.option('--is-https-enabled', type=click.BOOL, help=u"""Enable or disable HTTPS support. If true, a `certificateId` is required. If unspecified, defaults to `false`.""")
@cli_util.option('--is-https-forced', type=click.BOOL, help=u"""Force HTTP to HTTPS redirection. If unspecified, defaults to `false`.""")
@cli_util.option('--tls-protocols', type=custom_types.CliCaseInsensitiveChoice(["TLS_V1", "TLS_V1_1", "TLS_V1_2", "TLS_V1_3"]), help=u"""A list of allowed TLS protocols. Only applicable when HTTPS support is enabled. The TLS protocol is negotiated while the request is connecting and the most recent protocol supported by both the edge node and client browser will be selected. If no such version exists, the connection will be aborted. - **TLS_V1:** corresponds to TLS 1.0 specification.
diff --git a/services/waf/src/oci_cli_waf/generated/waf_cli.py b/services/waf/src/oci_cli_waf/generated/waf_cli.py
index 4bb66605..ee2346f7 100644
--- a/services/waf/src/oci_cli_waf/generated/waf_cli.py
+++ b/services/waf/src/oci_cli_waf/generated/waf_cli.py
@@ -80,7 +80,7 @@ def network_address_list_group():
@network_address_list_group.command(name=cli_util.override('waf.change_network_address_list_compartment.command_name', 'change-compartment'), help=u"""Moves a NetworkAddressList resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeNetworkAddressListCompartment)""")
@cli_util.option('--network-address-list-id', required=True, help=u"""The [OCID] of the NetworkAddressList.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -141,7 +141,7 @@ def change_network_address_list_compartment(ctx, from_json, wait_for_state, max_
@web_app_firewall_group.command(name=cli_util.override('waf.change_web_app_firewall_compartment.command_name', 'change-compartment'), help=u"""Moves a Web App Firewall resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeWebAppFirewallCompartment)""")
@cli_util.option('--web-app-firewall-id', required=True, help=u"""The [OCID] of the WebAppFirewall.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -202,7 +202,7 @@ def change_web_app_firewall_compartment(ctx, from_json, wait_for_state, max_wait
@web_app_firewall_policy_group.command(name=cli_util.override('waf.change_web_app_firewall_policy_compartment.command_name', 'change-compartment'), help=u"""Moves a WebAppFirewallfPolicy resource from one compartment to another. When provided, If-Match is checked against ETag values of the resource. \n[Command Reference](changeWebAppFirewallPolicyCompartment)""")
@cli_util.option('--web-app-firewall-policy-id', required=True, help=u"""The [OCID] of the WebAppFirewallPolicy.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the resource should be moved.""")
@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.""")
@cli_util.option('--wait-for-state', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "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.""")
@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.""")
@@ -262,7 +262,7 @@ def change_web_app_firewall_policy_compartment(ctx, from_json, wait_for_state, m
@network_address_list_group.command(name=cli_util.override('waf.create_network_address_list.command_name', 'create'), help=u"""Creates a new NetworkAddressList. \n[Command Reference](createNetworkAddressList)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--type', required=True, type=custom_types.CliCaseInsensitiveChoice(["ADDRESSES", "VCN_ADDRESSES"]), help=u"""Type of NetworkAddressList.""")
@cli_util.option('--display-name', help=u"""NetworkAddressList display name, can be renamed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -333,7 +333,7 @@ def create_network_address_list(ctx, from_json, wait_for_state, max_wait_seconds
@network_address_list_group.command(name=cli_util.override('waf.create_network_address_list_create_network_address_list_vcn_addresses_details.command_name', 'create-network-address-list-create-network-address-list-vcn-addresses-details'), help=u"""Creates a new NetworkAddressList. \n[Command Reference](createNetworkAddressList)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--vcn-addresses', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of private address prefixes, each associated with a particular VCN. To specify all addresses in a VCN, use \"0.0.0.0/0\" for IPv4 and \"::/0\" for IPv6.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""NetworkAddressList display name, can be renamed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -406,7 +406,7 @@ def create_network_address_list_create_network_address_list_vcn_addresses_detail
@network_address_list_group.command(name=cli_util.override('waf.create_network_address_list_create_network_address_list_addresses_details.command_name', 'create-network-address-list-create-network-address-list-addresses-details'), help=u"""Creates a new NetworkAddressList. \n[Command Reference](createNetworkAddressList)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--addresses', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""A list of IP address prefixes in CIDR notation. To specify all addresses, use \"0.0.0.0/0\" for IPv4 and \"::/0\" for IPv6.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@cli_util.option('--display-name', help=u"""NetworkAddressList display name, can be renamed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -480,7 +480,7 @@ def create_network_address_list_create_network_address_list_addresses_details(ct
@web_app_firewall_group.command(name=cli_util.override('waf.create_web_app_firewall.command_name', 'create'), help=u"""Creates a new WebAppFirewall. \n[Command Reference](createWebAppFirewall)""")
@cli_util.option('--backend-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["LOAD_BALANCER"]), help=u"""Type of the WebAppFirewall, as example LOAD_BALANCER.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--web-app-firewall-policy-id', required=True, help=u"""The [OCID] of WebAppFirewallPolicy, which is attached to the resource.""")
@cli_util.option('--display-name', help=u"""WebAppFirewall display name, can be renamed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -552,9 +552,9 @@ def create_web_app_firewall(ctx, from_json, wait_for_state, max_wait_seconds, wa
@web_app_firewall_group.command(name=cli_util.override('waf.create_web_app_firewall_create_web_app_firewall_load_balancer_details.command_name', 'create-web-app-firewall-create-web-app-firewall-load-balancer-details'), help=u"""Creates a new WebAppFirewall. \n[Command Reference](createWebAppFirewall)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--web-app-firewall-policy-id', required=True, help=u"""The [OCID] of WebAppFirewallPolicy, which is attached to the resource.""")
-@cli_util.option('--load-balancer-id', required=True, help=u"""LoadBalancer [OCID] to which the WebAppFirewallPolicy is attached to.""")
+@cli_util.option('--load-balancer-id', required=True, type=custom_types.CLI_OCID, help=u"""LoadBalancer [OCID] to which the WebAppFirewallPolicy is attached to.""")
@cli_util.option('--display-name', help=u"""WebAppFirewall display name, can be renamed.""")
@cli_util.option('--freeform-tags', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{\"bar-key\": \"value\"}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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. Example: `{\"foo-namespace\": {\"bar-key\": \"value\"}}`""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -627,7 +627,7 @@ def create_web_app_firewall_create_web_app_firewall_load_balancer_details(ctx, f
@web_app_firewall_policy_group.command(name=cli_util.override('waf.create_web_app_firewall_policy.command_name', 'create'), help=u"""Creates a new WebAppFirewallPolicy. \n[Command Reference](createWebAppFirewallPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--display-name', help=u"""WebAppFirewallPolicy display name, can be renamed.""")
@cli_util.option('--actions', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Predefined actions for use in multiple different rules. Not all actions are supported in every module. Some actions terminate further execution of modules and rules in a module and some do not. Actions names must be unique within this array.
@@ -978,7 +978,7 @@ def get_work_request(ctx, from_json, work_request_id):
@network_address_list_group.command(name=cli_util.override('waf.list_network_address_lists.command_name', 'list'), help=u"""Gets a list of all NetworkAddressLists in a compartment. \n[Command Reference](listNetworkAddressLists)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""A filter to return only resources that match the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""A filter to return only the NetworkAddressList with the given [OCID].""")
@@ -1041,7 +1041,7 @@ def list_network_address_lists(ctx, from_json, all_pages, page_size, compartment
@protection_capability_group.command(name=cli_util.override('waf.list_protection_capabilities.command_name', 'list'), help=u"""Lists of protection capabilities filtered by query parameters. \n[Command Reference](listProtectionCapabilities)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--key', help=u"""The unique key of protection capability to filter by.""")
@@ -1110,7 +1110,7 @@ def list_protection_capabilities(ctx, from_json, all_pages, page_size, compartme
@protection_capability_group.command(name=cli_util.override('waf.list_protection_capability_group_tags.command_name', 'list-protection-capability-group-tags'), help=u"""Lists of available group tags filtered by query parameters. \n[Command Reference](listProtectionCapabilityGroupTags)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
@cli_util.option('--type', type=custom_types.CliCaseInsensitiveChoice(["REQUEST_PROTECTION_CAPABILITY", "RESPONSE_PROTECTION_CAPABILITY"]), help=u"""A filter to return only resources that matches given type.""")
@@ -1170,7 +1170,7 @@ def list_protection_capability_group_tags(ctx, from_json, all_pages, page_size,
@web_app_firewall_policy_group.command(name=cli_util.override('waf.list_web_app_firewall_policies.command_name', 'list'), help=u"""Gets a list of all WebAppFirewallPolicies in a compartment. \n[Command Reference](listWebAppFirewallPolicies)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""A filter to return only resources that match the given lifecycleState.""")
@cli_util.option('--display-name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""A filter to return only the WebAppFirewallPolicy with the given [OCID].""")
@@ -1233,7 +1233,7 @@ def list_web_app_firewall_policies(ctx, from_json, all_pages, page_size, compart
@web_app_firewall_group.command(name=cli_util.override('waf.list_web_app_firewalls.command_name', 'list'), help=u"""Gets a list of all WebAppFirewalls in a compartment. \n[Command Reference](listWebAppFirewalls)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--id', help=u"""A filter to return only the WebAppFirewall with the given [OCID].""")
@cli_util.option('--web-app-firewall-policy-id', help=u"""A filter to return only the WebAppFirewall with the given [OCID] of related WebAppFirewallPolicy.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["CREATING", "UPDATING", "ACTIVE", "DELETING", "DELETED", "FAILED"]), multiple=True, help=u"""A filter to return only resources that match the given lifecycleState.""")
@@ -1401,7 +1401,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('waf.list_work_requests.command_name', 'list'), help=u"""Lists the WorkRequests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--page', help=u"""A token representing the position at which to start retrieving results. This must come from the `opc-next-page` header field of a previous response.""")
@cli_util.option('--limit', type=click.INT, help=u"""The maximum number of items to return.""")
diff --git a/services/wlms/src/oci_cli_weblogic_management_service/generated/weblogicmanagementservice_cli.py b/services/wlms/src/oci_cli_weblogic_management_service/generated/weblogicmanagementservice_cli.py
index c317ecd9..a485bc30 100644
--- a/services/wlms/src/oci_cli_weblogic_management_service/generated/weblogicmanagementservice_cli.py
+++ b/services/wlms/src/oci_cli_weblogic_management_service/generated/weblogicmanagementservice_cli.py
@@ -77,7 +77,7 @@ def work_request_group():
@wls_domain_group.command(name=cli_util.override('weblogic_management_service.change_wls_domain_compartment.command_name', 'change-compartment'), help=u"""Moves a WebLogic domain into a different compartment within the same tenancy. \n[Command Reference](changeWlsDomainCompartment)""")
@cli_util.option('--wls-domain-id', required=True, help=u"""The [OCID] of the WebLogic domain.""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment into which the WebLogic domain should be moved.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment into which the WebLogic domain should be moved.""")
@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.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@@ -354,7 +354,7 @@ def get_wls_domain_server(ctx, from_json, wls_domain_id, server_id):
@cli_util.option('--server-id', required=True, help=u"""The unique identifier of a server.
**Note:** Not an [OCID].""")
-@cli_util.option('--backup-id', required=True, help=u"""The unique identifier of the backup.
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier of the backup.
**Note:** Not an [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -390,7 +390,7 @@ def get_wls_domain_server_backup(ctx, from_json, wls_domain_id, server_id, backu
@cli_util.option('--server-id', required=True, help=u"""The unique identifier of a server.
**Note:** Not an [OCID].""")
-@cli_util.option('--backup-id', required=True, help=u"""The unique identifier of the backup.
+@cli_util.option('--backup-id', required=True, type=custom_types.CLI_OCID, help=u"""The unique identifier of the backup.
**Note:** Not an [OCID].""")
@json_skeleton_utils.get_cli_json_input_option({})
@@ -814,7 +814,7 @@ def list_managed_instance_servers(ctx, from_json, all_pages, page_size, managed_
@managed_instance_group.command(name=cli_util.override('weblogic_management_service.list_managed_instances.command_name', 'list'), help=u"""Lists managed instances that match the specified compartment or managed instance OCID. Filter the list against a variety of criteria including but not limited to its name, status and compartment. \n[Command Reference](listManagedInstances)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--display-name', help=u"""The display name.""")
@cli_util.option('--id', help=u"""The [OCID] of the instance.""")
@cli_util.option('--plugin-status', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "INACTIVE"]), help=u"""The plugin status of the managed instance.""")
@@ -1169,7 +1169,7 @@ def list_wls_domain_servers(ctx, from_json, all_pages, page_size, wls_domain_id,
@wls_domain_group.command(name=cli_util.override('weblogic_management_service.list_wls_domains.command_name', 'list'), help=u"""Gets all WebLogic domains in a given compartment. \n[Command Reference](listWlsDomains)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "DELETED", "DELETING", "FAILED", "NEEDS_ATTENTION", "UPDATING"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--display-name', help=u"""The display name.""")
@cli_util.option('--id', help=u"""The [OCID] of the WebLogic domain.""")
@@ -1411,7 +1411,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('weblogic_management_service.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
@@ -1868,7 +1868,7 @@ def stop_wls_domain(ctx, from_json, wait_for_state, max_wait_seconds, wait_inter
@resource_inventory_group.command(name=cli_util.override('weblogic_management_service.summarize_resource_inventory.command_name', 'summarize'), help=u"""Gets the data to be shown in the Overview page of the service in a given compartment. \n[Command Reference](summarizeResourceInventory)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
diff --git a/services/wlms/src/oci_cli_weblogic_management_service_configuration/generated/weblogicmanagementserviceconfiguration_cli.py b/services/wlms/src/oci_cli_weblogic_management_service_configuration/generated/weblogicmanagementserviceconfiguration_cli.py
index f8963095..b9703c04 100644
--- a/services/wlms/src/oci_cli_weblogic_management_service_configuration/generated/weblogicmanagementserviceconfiguration_cli.py
+++ b/services/wlms/src/oci_cli_weblogic_management_service_configuration/generated/weblogicmanagementserviceconfiguration_cli.py
@@ -35,7 +35,7 @@ def configuration_group():
@configuration_group.command(name=cli_util.override('weblogic_management_service_configuration.get_configuration.command_name', 'get'), help=u"""Gets service configuration. \n[Command Reference](getConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -54,7 +54,7 @@ def get_configuration(ctx, from_json, compartment_id):
@configuration_group.command(name=cli_util.override('weblogic_management_service_configuration.update_configuration.command_name', 'update'), help=u"""Updates service configuration. \n[Command Reference](updateConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The OCID of the compartment that contains the resources to list. This filter returns only resources contained within the specified compartment.""")
@cli_util.option('--discovery-interval', type=click.INT, help=u"""Frequency of domain discovery to be run on the service. The unit is in hours.""")
@cli_util.option('--domain-search-paths', type=custom_types.CLI_COMPLEX_TYPE, help=u"""The whitelisted paths which domain discovery are run against.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@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.""")
diff --git a/services/work_requests/src/oci_cli_work_request/generated/workrequest_cli.py b/services/work_requests/src/oci_cli_work_request/generated/workrequest_cli.py
index b3566542..68a7c726 100644
--- a/services/work_requests/src/oci_cli_work_request/generated/workrequest_cli.py
+++ b/services/work_requests/src/oci_cli_work_request/generated/workrequest_cli.py
@@ -181,7 +181,7 @@ def list_work_request_logs(ctx, from_json, all_pages, page_size, work_request_id
@work_request_group.command(name=cli_util.override('work_requests.list_work_requests.command_name', 'list'), help=u"""Lists the work requests in a compartment or for a specified resource. \n[Command Reference](listWorkRequests)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource.""")
@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].""")
@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].""")
diff --git a/services/zpr/src/oci_cli_zpr/generated/zpr_cli.py b/services/zpr/src/oci_cli_zpr/generated/zpr_cli.py
index 78ab228c..b6228d2e 100644
--- a/services/zpr/src/oci_cli_zpr/generated/zpr_cli.py
+++ b/services/zpr/src/oci_cli_zpr/generated/zpr_cli.py
@@ -69,7 +69,7 @@ def zpr_policy_collection_group():
@configuration_group.command(name=cli_util.override('zpr.create_configuration.command_name', 'create'), help=u"""Initiates the process to onboard ZPR in a root compartment (the root compartment is the tenancy). It creates an object of ZPR configuration as part of onboarding. \n[Command Reference](createConfiguration)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the tenancy into which ZPR resources will be bootstrapped.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the tenancy into which ZPR resources will be bootstrapped.""")
@cli_util.option('--zpr-status', help=u"""The enabled or disabled status of ZPR in the tenancy.""")
@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].
@@ -141,7 +141,7 @@ def create_configuration(ctx, from_json, wait_for_state, max_wait_seconds, wait_
@zpr_policy_group.command(name=cli_util.override('zpr.create_zpr_policy.command_name', 'create'), help=u"""Creates a ZprPolicy. \n[Command Reference](createZprPolicy)""")
-@cli_util.option('--compartment-id', required=True, help=u"""The [OCID] of the compartment to create the ZprPolicy in.""")
+@cli_util.option('--compartment-id', required=True, type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment to create the ZprPolicy in.""")
@cli_util.option('--description', required=True, help=u"""The description you assign to the ZprPolicy during creation. Does not have to be unique, and it's changeable.""")
@cli_util.option('--name', required=True, help=u"""The name you assign to the ZprPolicy during creation. The name must be unique across all ZPL policies in the tenancy.""")
@cli_util.option('--statements', required=True, type=custom_types.CLI_COMPLEX_TYPE, help=u"""An array of ZprPolicy statements(up to 25 statements per ZprPolicy) written in the Zero Trust Packet Routing Policy Language.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
@@ -274,7 +274,7 @@ def delete_zpr_policy(ctx, from_json, wait_for_state, max_wait_seconds, wait_int
@configuration_group.command(name=cli_util.override('zpr.get_configuration.command_name', 'get'), help=u"""Retrieves the ZPR configuration details for the root compartment (the root compartment is the tenancy). Returns ZPR configuration for root compartment (the root compartment is the tenancy). \n[Command Reference](getConfiguration)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@json_skeleton_utils.get_cli_json_input_option({})
@cli_util.help_option
@click.pass_context
@@ -474,7 +474,7 @@ def list_zpr_configuration_work_request_logs(ctx, from_json, all_pages, page_siz
@work_request_group.command(name=cli_util.override('zpr.list_zpr_configuration_work_requests.command_name', 'list-zpr-configuration'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listZprConfigurationWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
@@ -536,7 +536,7 @@ def list_zpr_configuration_work_requests(ctx, from_json, all_pages, page_size, c
@zpr_policy_collection_group.command(name=cli_util.override('zpr.list_zpr_policies.command_name', 'list-zpr-policies'), help=u"""Gets a list of ZprPolicies. \n[Command Reference](listZprPolicies)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--lifecycle-state', type=custom_types.CliCaseInsensitiveChoice(["ACTIVE", "CREATING", "FAILED", "UPDATING", "DELETING", "DELETED", "NEEDS_ATTENTION"]), help=u"""A filter to return only resources that match the given lifecycle state. The state value is case-insensitive.""")
@cli_util.option('--name', help=u"""A filter to return only resources that match the entire display name given.""")
@cli_util.option('--id', help=u"""The [OCID] of the ZprPolicy.""")
@@ -712,7 +712,7 @@ def list_zpr_policy_work_request_logs(ctx, from_json, all_pages, page_size, work
@work_request_group.command(name=cli_util.override('zpr.list_zpr_policy_work_requests.command_name', 'list-zpr-policy'), help=u"""Lists the work requests in a compartment. \n[Command Reference](listZprPolicyWorkRequests)""")
-@cli_util.option('--compartment-id', help=u"""The [OCID] of the compartment in which to list resources.""")
+@cli_util.option('--compartment-id', type=custom_types.CLI_OCID, help=u"""The [OCID] of the compartment in which to list resources.""")
@cli_util.option('--work-request-id', help=u"""The [OCID] of the asynchronous work request.""")
@cli_util.option('--status', type=custom_types.CliCaseInsensitiveChoice(["ACCEPTED", "IN_PROGRESS", "WAITING", "NEEDS_ATTENTION", "FAILED", "SUCCEEDED", "CANCELING", "CANCELED"]), help=u"""A filter to return only the resources that match the given lifecycle state.""")
@cli_util.option('--resource-id', help=u"""The [OCID] of the resource affected by the work request.""")
diff --git a/src/oci_cli/custom_types/__init__.py b/src/oci_cli/custom_types/__init__.py
index b0991ef9..2206a7dc 100644
--- a/src/oci_cli/custom_types/__init__.py
+++ b/src/oci_cli/custom_types/__init__.py
@@ -8,6 +8,7 @@
from .cli_complex_type import CLI_COMPLEX_TYPE
from .cli_datetime import CLI_DATETIME, CLI_DATETIME_ROUNDED_MINUTE
from .cli_case_insensitive_choice import CliCaseInsensitiveChoice
+from .cli_ocid_type import CLI_OCID
from .object_storage_bulk_operation_output import BulkPutOperationOutput, BulkGetOperationOutput, BulkDeleteOperationOutput
-__all__ = ["CliDatetime", "CliFromJson", "CLI_COMPLEX_TYPE", "CLI_DATETIME", "CLI_DATETIME_ROUNDED_MINUTE", "CliCaseInsensitiveChoice", "BulkPutOperationOutput", "BulkGetOperationOutput", "BulkDeleteOperationOutput"]
+__all__ = ["CliDatetime", "CliFromJson", "CLI_COMPLEX_TYPE", "CLI_DATETIME", "CLI_DATETIME_ROUNDED_MINUTE", "CliCaseInsensitiveChoice", "CLI_OCID", "BulkPutOperationOutput", "BulkGetOperationOutput", "BulkDeleteOperationOutput"]
diff --git a/src/oci_cli/custom_types/cli_complex_type.py b/src/oci_cli/custom_types/cli_complex_type.py
index d43c0f04..805c63d3 100644
--- a/src/oci_cli/custom_types/cli_complex_type.py
+++ b/src/oci_cli/custom_types/cli_complex_type.py
@@ -6,7 +6,7 @@
COMPLEX_TYPE_HELP = """
-This is a complex type whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using
+This is a JSON object whose value must be valid JSON. The value can be provided as a string on the command line or passed in as a file using
the file://path/to/file syntax.
The --generate-param-json-input option can be used to generate an example of the JSON which must be provided. We recommend storing this example
@@ -19,10 +19,21 @@
# a literal JSON string or as a file:// path), so the type here is currently more a convenience
# to easily flag/denote these as different than a "normal" string
class CliComplexType(click.types.StringParamType):
- name = 'complex type'
+ name = 'json'
+
+ def __init__(self, schema_name=None):
+ """
+ Initialize a complex type with an optional schema name.
+
+ :param schema_name: Optional name of the JSON schema/type (e.g. 'CreateVnicDetails')
+ """
+ super().__init__()
+ self.schema_name = schema_name
def __repr__(self):
- return 'COMPLEX_TYPE'
+ if self.schema_name:
+ return f'JSON[{self.schema_name}]'
+ return 'JSON'
CLI_COMPLEX_TYPE = CliComplexType()
diff --git a/src/oci_cli/custom_types/cli_ocid_type.py b/src/oci_cli/custom_types/cli_ocid_type.py
new file mode 100644
index 00000000..e314bd67
--- /dev/null
+++ b/src/oci_cli/custom_types/cli_ocid_type.py
@@ -0,0 +1,18 @@
+# coding: utf-8
+# Copyright (c) 2016, 2026, Oracle and/or its affiliates. All rights reserved.
+# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
+
+import click
+
+
+# A thin wrapper around click's String/Text type to indicate that this parameter
+# expects an Oracle Cloud Identifier (OCID). This helps users understand what
+# type of value is expected for the parameter.
+class CliOcidType(click.types.StringParamType):
+ name = 'ocid'
+
+ def __repr__(self):
+ return 'OCID'
+
+
+CLI_OCID = CliOcidType()
\ No newline at end of file