oci-cli 3.71.1__py3-none-any.whl → 3.71.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. oci_cli/bin/batch.psm1 +122 -0
  2. oci_cli/bin/integration.psm1 +6 -2
  3. oci_cli/cli_util.py +2 -4
  4. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/change-compartment.txt +140 -0
  5. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/create-oci-logging-configuration.txt +210 -0
  6. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/create.txt +237 -0
  7. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/delete.txt +139 -0
  8. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/get.txt +100 -0
  9. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/list.txt +131 -0
  10. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/start.txt +134 -0
  11. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/stop.txt +134 -0
  12. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context/update.txt +213 -0
  13. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context-shape-collection/list.txt +101 -0
  14. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context-shape-collection.txt +14 -0
  15. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-context.txt +35 -0
  16. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/cancel.txt +144 -0
  17. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/change-compartment.txt +146 -0
  18. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/create.txt +215 -0
  19. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/get.txt +106 -0
  20. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/list.txt +135 -0
  21. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/pause.txt +140 -0
  22. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/unpause.txt +140 -0
  23. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job/update.txt +191 -0
  24. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/change-compartment.txt +142 -0
  25. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/create.txt +180 -0
  26. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/delete.txt +141 -0
  27. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/get.txt +102 -0
  28. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/list.txt +135 -0
  29. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/start.txt +136 -0
  30. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/stop.txt +136 -0
  31. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool/update.txt +186 -0
  32. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job-pool.txt +33 -0
  33. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-job.txt +35 -0
  34. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task/get.txt +111 -0
  35. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task/list-batch-tasks.txt +125 -0
  36. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task/list.txt +132 -0
  37. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-environment/change-compartment.txt +135 -0
  38. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-environment/create.txt +207 -0
  39. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-environment/delete.txt +134 -0
  40. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-environment/get.txt +95 -0
  41. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-environment/list.txt +131 -0
  42. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-environment/update.txt +179 -0
  43. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-environment.txt +31 -0
  44. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-profile/change-compartment.txt +136 -0
  45. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-profile/create.txt +178 -0
  46. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-profile/delete.txt +135 -0
  47. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-profile/get.txt +96 -0
  48. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-profile/list.txt +131 -0
  49. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-profile/update.txt +180 -0
  50. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task-profile.txt +30 -0
  51. oci_cli/help_text_producer/data_files/text/cmdref/batch/batch-task.txt +18 -0
  52. oci_cli/help_text_producer/data_files/text/cmdref/batch/work-request/get.txt +92 -0
  53. oci_cli/help_text_producer/data_files/text/cmdref/batch/work-request/list.txt +141 -0
  54. oci_cli/help_text_producer/data_files/text/cmdref/batch/work-request-error/list.txt +132 -0
  55. oci_cli/help_text_producer/data_files/text/cmdref/batch/work-request-error.txt +15 -0
  56. oci_cli/help_text_producer/data_files/text/cmdref/batch/work-request-log-entry/list-work-request-logs.txt +132 -0
  57. oci_cli/help_text_producer/data_files/text/cmdref/batch/work-request-log-entry.txt +15 -0
  58. oci_cli/help_text_producer/data_files/text/cmdref/batch/work-request.txt +21 -0
  59. oci_cli/help_text_producer/data_files/text/cmdref/batch.txt +123 -0
  60. oci_cli/help_text_producer/data_files/text/cmdref/ce/virtual-node-pool/create.txt +14 -13
  61. oci_cli/help_text_producer/data_files/text/cmdref/ce/virtual-node-pool/delete.txt +2 -1
  62. oci_cli/help_text_producer/data_files/text/cmdref/ce/virtual-node-pool/get-virtual-node.txt +2 -1
  63. oci_cli/help_text_producer/data_files/text/cmdref/ce/virtual-node-pool/get.txt +2 -1
  64. oci_cli/help_text_producer/data_files/text/cmdref/ce/virtual-node-pool/list-virtual-nodes.txt +2 -1
  65. oci_cli/help_text_producer/data_files/text/cmdref/ce/virtual-node-pool/update.txt +2 -1
  66. oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-host/apply-host-configuration.txt +127 -0
  67. oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-host/check-host-configuration.txt +127 -0
  68. oci_cli/help_text_producer/data_files/text/cmdref/compute/compute-host.txt +4 -0
  69. oci_cli/help_text_producer/data_files/text/cmdref/compute/firmware-bundle/get.txt +92 -0
  70. oci_cli/help_text_producer/data_files/text/cmdref/compute/firmware-bundle/list.txt +134 -0
  71. oci_cli/help_text_producer/data_files/text/cmdref/compute/firmware-bundle.txt +17 -0
  72. oci_cli/help_text_producer/data_files/text/cmdref/compute/shape/list.txt +4 -0
  73. oci_cli/help_text_producer/data_files/text/cmdref/compute.txt +10 -0
  74. oci_cli/help_text_producer/data_files/text/cmdref/data-science/ml-app-instance-view/list.txt +4 -0
  75. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error/{list.txt → list-errors.txt} +5 -5
  76. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-error.txt +1 -1
  77. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log-entry/{list-work-request-logs.txt → list-logs.txt} +5 -5
  78. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request/work-request-log-entry.txt +1 -1
  79. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control/work-request.txt +2 -2
  80. oci_cli/help_text_producer/data_files/text/cmdref/delegate-access-control.txt +2 -2
  81. oci_cli/help_text_producer/data_files/text/cmdref/disaster-recovery/dr-plan-execution/update.txt +1 -1
  82. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/work-request-error/{list.txt → list-errors.txt} +5 -5
  83. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/work-request-error.txt +1 -1
  84. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/work-request-log-entry/{list-work-request-logs.txt → list-logs.txt} +5 -5
  85. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request/work-request-log-entry.txt +1 -1
  86. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane/work-request.txt +2 -2
  87. oci_cli/help_text_producer/data_files/text/cmdref/governance-rules-control-plane.txt +2 -2
  88. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/mapped-attribute/get.txt +136 -0
  89. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/mapped-attribute/list.txt +190 -0
  90. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/mapped-attribute/patch.txt +177 -0
  91. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/mapped-attribute/put.txt +385 -0
  92. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/mapped-attribute/search.txt +199 -0
  93. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains/mapped-attribute.txt +22 -0
  94. oci_cli/help_text_producer/data_files/text/cmdref/identity-domains.txt +12 -0
  95. oci_cli/help_text_producer/data_files/text/cmdref/integration/integration-instance/change-private-endpoint-outbound-connection-private-endpoint-outbound-connection.txt +5 -0
  96. oci_cli/help_text_producer/data_files/text/cmdref/integration/integration-instance/convert-instance.txt +144 -0
  97. oci_cli/help_text_producer/data_files/text/cmdref/integration/integration-instance/disable-process-automation.txt +132 -0
  98. oci_cli/help_text_producer/data_files/text/cmdref/integration/integration-instance.txt +4 -0
  99. oci_cli/help_text_producer/data_files/text/cmdref/integration.txt +4 -0
  100. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/work-request-error/{list.txt → list-errors.txt} +5 -5
  101. oci_cli/help_text_producer/data_files/text/cmdref/ocvs/work-request-error.txt +1 -1
  102. oci_cli/help_text_producer/data_files/text/cmdref/ocvs.txt +1 -1
  103. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error/{list.txt → list-errors.txt} +5 -5
  104. oci_cli/help_text_producer/data_files/text/cmdref/organizations/work-request-error.txt +1 -1
  105. oci_cli/help_text_producer/data_files/text/cmdref/organizations.txt +1 -1
  106. oci_cli/help_text_producer/data_files/text/index.txt +2 -0
  107. oci_cli/service_mapping.py +5 -0
  108. oci_cli/version.py +1 -1
  109. {oci_cli-3.71.1.dist-info → oci_cli-3.71.2.dist-info}/METADATA +2 -2
  110. {oci_cli-3.71.1.dist-info → oci_cli-3.71.2.dist-info}/RECORD +130 -52
  111. services/batch/__init__.py +4 -0
  112. services/batch/src/__init__.py +4 -0
  113. services/batch/src/oci_cli_batch_computing/__init__.py +4 -0
  114. services/batch/src/oci_cli_batch_computing/batchcomputing_cli_extended.py +93 -0
  115. services/batch/src/oci_cli_batch_computing/generated/__init__.py +4 -0
  116. services/batch/src/oci_cli_batch_computing/generated/batchcomputing_cli.py +2855 -0
  117. services/batch/src/oci_cli_batch_computing/generated/client_mappings.py +14 -0
  118. services/batch/tests/__init__.py +4 -0
  119. services/container_engine/src/oci_cli_container_engine/generated/containerengine_cli.py +3 -5
  120. services/core/src/oci_cli_compute/computepic_cli_extended.py +9 -0
  121. services/core/src/oci_cli_compute/generated/compute_cli.py +201 -1
  122. services/data_science/src/oci_cli_data_science/generated/datascience_cli.py +4 -1
  123. services/disaster_recovery/src/oci_cli_disaster_recovery/generated/disasterrecovery_cli.py +1 -1
  124. services/identity_domains/src/oci_cli_identity_domains/generated/identitydomains_cli.py +371 -0
  125. services/integration/src/oci_cli_integration_instance/generated/integrationinstance_cli.py +259 -7
  126. {oci_cli-3.71.1.dist-info → oci_cli-3.71.2.dist-info}/LICENSE.txt +0 -0
  127. {oci_cli-3.71.1.dist-info → oci_cli-3.71.2.dist-info}/THIRD_PARTY_LICENSES.txt +0 -0
  128. {oci_cli-3.71.1.dist-info → oci_cli-3.71.2.dist-info}/WHEEL +0 -0
  129. {oci_cli-3.71.1.dist-info → oci_cli-3.71.2.dist-info}/entry_points.txt +0 -0
  130. {oci_cli-3.71.1.dist-info → oci_cli-3.71.2.dist-info}/top_level.txt +0 -0
@@ -52,6 +52,67 @@ integration_root_group.add_command(work_request_log_entry_group)
52
52
  integration_root_group.add_command(work_request_group)
53
53
 
54
54
 
55
+ @integration_instance_group.command(name=cli_util.override('integration.add_log_analytics_log_group.command_name', 'add'), help=u"""Add LogGroup with specified ocid for Integration Instance to enable sending OIC Activity Stream to OCI Logging Analytics. \n[Command Reference](addLogAnalyticsLogGroup)""")
56
+ @cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
57
+ @cli_util.option('--log-group-id', required=True, help=u"""Log Group ocid.""")
58
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
59
+ @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.""")
60
+ @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.""")
61
+ @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.""")
62
+ @json_skeleton_utils.get_cli_json_input_option({})
63
+ @cli_util.help_option
64
+ @click.pass_context
65
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
66
+ @cli_util.wrap_exceptions
67
+ def add_log_analytics_log_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, log_group_id, if_match):
68
+
69
+ if isinstance(integration_instance_id, six.string_types) and len(integration_instance_id.strip()) == 0:
70
+ raise click.UsageError('Parameter --integration-instance-id cannot be whitespace or empty string')
71
+
72
+ kwargs = {}
73
+ if if_match is not None:
74
+ kwargs['if_match'] = if_match
75
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
76
+
77
+ _details = {}
78
+ _details['logGroupId'] = log_group_id
79
+
80
+ client = cli_util.build_client('integration', 'integration_instance', ctx)
81
+ result = client.add_log_analytics_log_group(
82
+ integration_instance_id=integration_instance_id,
83
+ add_log_analytics_log_group_details=_details,
84
+ **kwargs
85
+ )
86
+ if wait_for_state:
87
+
88
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
89
+ try:
90
+ wait_period_kwargs = {}
91
+ if max_wait_seconds is not None:
92
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
93
+ if wait_interval_seconds is not None:
94
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
95
+ if 'opc-work-request-id' not in result.headers:
96
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
97
+ cli_util.render_response(result, ctx)
98
+ return
99
+
100
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
101
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
102
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
103
+ # If we fail, we should show an error, but we should still provide the information to the customer
104
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
105
+ cli_util.render_response(result, ctx)
106
+ sys.exit(2)
107
+ except Exception:
108
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
109
+ cli_util.render_response(result, ctx)
110
+ raise
111
+ else:
112
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
113
+ cli_util.render_response(result, ctx)
114
+
115
+
55
116
  @integration_instance_group.command(name=cli_util.override('integration.add_oracle_managed_custom_endpoint.command_name', 'add'), help=u"""Enable Oracle Managed Custom Endpoint for given integration instance. \n[Command Reference](addOracleManagedCustomEndpoint)""")
56
117
  @cli_util.option('--hostname', required=True, help=u"""Oracle managed custom hostname""")
57
118
  @cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
@@ -254,16 +315,18 @@ def change_integration_instance_network_endpoint(ctx, from_json, wait_for_state,
254
315
  @cli_util.option('--network-endpoint-details-allowlisted-http-vcns', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Virtual Cloud Networks allowed to access this network endpoint.
255
316
 
256
317
  This option is a JSON list with items of type VirtualCloudNetwork. For documentation on VirtualCloudNetwork please see our API reference: https://docs.cloud.oracle.com/api/#/en/integrationinstance/20190131/datatypes/VirtualCloudNetwork.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
318
+ @cli_util.option('--network-endpoint-details-runtime', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
319
+ @cli_util.option('--network-endpoint-details-design-time', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
257
320
  @cli_util.option('--network-endpoint-details-is-integration-vcn-allowlisted', type=click.BOOL, help=u"""The Integration service's VCN is allow-listed to allow integrations to call back into other integrations""")
258
321
  @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.""")
259
322
  @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.""")
260
323
  @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.""")
261
- @json_skeleton_utils.get_cli_json_input_option({'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}})
324
+ @json_skeleton_utils.get_cli_json_input_option({'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}, 'network-endpoint-details-runtime': {'module': 'integration', 'class': 'ComponentAllowListDetails'}, 'network-endpoint-details-design-time': {'module': 'integration', 'class': 'ComponentAllowListDetails'}})
262
325
  @cli_util.help_option
263
326
  @click.pass_context
264
- @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}})
327
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}, 'network-endpoint-details-runtime': {'module': 'integration', 'class': 'ComponentAllowListDetails'}, 'network-endpoint-details-design-time': {'module': 'integration', 'class': 'ComponentAllowListDetails'}})
265
328
  @cli_util.wrap_exceptions
266
- def change_integration_instance_network_endpoint_public_endpoint_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, if_match, network_endpoint_details_allowlisted_http_ips, network_endpoint_details_allowlisted_http_vcns, network_endpoint_details_is_integration_vcn_allowlisted):
329
+ def change_integration_instance_network_endpoint_public_endpoint_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, if_match, network_endpoint_details_allowlisted_http_ips, network_endpoint_details_allowlisted_http_vcns, network_endpoint_details_runtime, network_endpoint_details_design_time, network_endpoint_details_is_integration_vcn_allowlisted):
267
330
 
268
331
  if isinstance(integration_instance_id, six.string_types) and len(integration_instance_id.strip()) == 0:
269
332
  raise click.UsageError('Parameter --integration-instance-id cannot be whitespace or empty string')
@@ -282,6 +345,12 @@ def change_integration_instance_network_endpoint_public_endpoint_details(ctx, fr
282
345
  if network_endpoint_details_allowlisted_http_vcns is not None:
283
346
  _details['networkEndpointDetails']['allowlistedHttpVcns'] = cli_util.parse_json_parameter("network_endpoint_details_allowlisted_http_vcns", network_endpoint_details_allowlisted_http_vcns)
284
347
 
348
+ if network_endpoint_details_runtime is not None:
349
+ _details['networkEndpointDetails']['runtime'] = cli_util.parse_json_parameter("network_endpoint_details_runtime", network_endpoint_details_runtime)
350
+
351
+ if network_endpoint_details_design_time is not None:
352
+ _details['networkEndpointDetails']['designTime'] = cli_util.parse_json_parameter("network_endpoint_details_design_time", network_endpoint_details_design_time)
353
+
285
354
  if network_endpoint_details_is_integration_vcn_allowlisted is not None:
286
355
  _details['networkEndpointDetails']['isIntegrationVcnAllowlisted'] = network_endpoint_details_is_integration_vcn_allowlisted
287
356
 
@@ -391,6 +460,7 @@ def change_private_endpoint_outbound_connection(ctx, from_json, wait_for_state,
391
460
  @cli_util.option('--private-endpoint-outbound-connection-subnet-id', required=True, help=u"""Customer Private Network VCN Subnet OCID. This is a required argument.""")
392
461
  @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
393
462
  @cli_util.option('--private-endpoint-outbound-connection-nsg-ids', type=custom_types.CLI_COMPLEX_TYPE, help=u"""One or more Network security group Ids. This is an optional argument.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
463
+ @cli_util.option('--private-endpoint-outbound-connection-is-all-outbound-traffic-private', type=click.BOOL, help=u"""Indicates if all traffic should go through configured outbound connection""")
394
464
  @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.""")
395
465
  @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.""")
396
466
  @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.""")
@@ -399,7 +469,7 @@ def change_private_endpoint_outbound_connection(ctx, from_json, wait_for_state,
399
469
  @click.pass_context
400
470
  @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'private-endpoint-outbound-connection-nsg-ids': {'module': 'integration', 'class': 'list[string]'}})
401
471
  @cli_util.wrap_exceptions
402
- def change_private_endpoint_outbound_connection_private_endpoint_outbound_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, private_endpoint_outbound_connection_subnet_id, if_match, private_endpoint_outbound_connection_nsg_ids):
472
+ def change_private_endpoint_outbound_connection_private_endpoint_outbound_connection(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, private_endpoint_outbound_connection_subnet_id, if_match, private_endpoint_outbound_connection_nsg_ids, private_endpoint_outbound_connection_is_all_outbound_traffic_private):
403
473
 
404
474
  if isinstance(integration_instance_id, six.string_types) and len(integration_instance_id.strip()) == 0:
405
475
  raise click.UsageError('Parameter --integration-instance-id cannot be whitespace or empty string')
@@ -416,6 +486,9 @@ def change_private_endpoint_outbound_connection_private_endpoint_outbound_connec
416
486
  if private_endpoint_outbound_connection_nsg_ids is not None:
417
487
  _details['privateEndpointOutboundConnection']['nsgIds'] = cli_util.parse_json_parameter("private_endpoint_outbound_connection_nsg_ids", private_endpoint_outbound_connection_nsg_ids)
418
488
 
489
+ if private_endpoint_outbound_connection_is_all_outbound_traffic_private is not None:
490
+ _details['privateEndpointOutboundConnection']['isAllOutboundTrafficPrivate'] = private_endpoint_outbound_connection_is_all_outbound_traffic_private
491
+
419
492
  _details['privateEndpointOutboundConnection']['outboundConnectionType'] = 'PRIVATE_ENDPOINT'
420
493
 
421
494
  client = cli_util.build_client('integration', 'integration_instance', ctx)
@@ -516,6 +589,67 @@ def change_private_endpoint_outbound_connection_none_outbound_connection(ctx, fr
516
589
  cli_util.render_response(result, ctx)
517
590
 
518
591
 
592
+ @integration_instance_group.command(name=cli_util.override('integration.convert_instance.command_name', 'convert-instance'), help=u"""Integration instance identified by ID will be migrated to a new Disaster Recovery enabled integration instance. If a given Integration instance has certain features enabled which are not supported for conversion/migration it will not be accepted for conversion. \n[Command Reference](convertInstance)""")
593
+ @cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
594
+ @cli_util.option('--conversion-type', required=True, type=custom_types.CliCaseInsensitiveChoice(["DISASTER_RECOVERY"]), help=u"""Convert given instance to specified DR instance""")
595
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
596
+ @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.""")
597
+ @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.""")
598
+ @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.""")
599
+ @json_skeleton_utils.get_cli_json_input_option({})
600
+ @cli_util.help_option
601
+ @click.pass_context
602
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
603
+ @cli_util.wrap_exceptions
604
+ def convert_instance(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, conversion_type, if_match):
605
+
606
+ if isinstance(integration_instance_id, six.string_types) and len(integration_instance_id.strip()) == 0:
607
+ raise click.UsageError('Parameter --integration-instance-id cannot be whitespace or empty string')
608
+
609
+ kwargs = {}
610
+ if if_match is not None:
611
+ kwargs['if_match'] = if_match
612
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
613
+
614
+ _details = {}
615
+ _details['conversionType'] = conversion_type
616
+
617
+ client = cli_util.build_client('integration', 'integration_instance', ctx)
618
+ result = client.convert_instance(
619
+ integration_instance_id=integration_instance_id,
620
+ convert_instance_details=_details,
621
+ **kwargs
622
+ )
623
+ if wait_for_state:
624
+
625
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
626
+ try:
627
+ wait_period_kwargs = {}
628
+ if max_wait_seconds is not None:
629
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
630
+ if wait_interval_seconds is not None:
631
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
632
+ if 'opc-work-request-id' not in result.headers:
633
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
634
+ cli_util.render_response(result, ctx)
635
+ return
636
+
637
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
638
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
639
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
640
+ # If we fail, we should show an error, but we should still provide the information to the customer
641
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
642
+ cli_util.render_response(result, ctx)
643
+ sys.exit(2)
644
+ except Exception:
645
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
646
+ cli_util.render_response(result, ctx)
647
+ raise
648
+ else:
649
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
650
+ cli_util.render_response(result, ctx)
651
+
652
+
519
653
  @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)""")
520
654
  @cli_util.option('--display-name', required=True, help=u"""Integration Instance Identifier.""")
521
655
  @cli_util.option('--compartment-id', required=True, help=u"""Compartment Identifier.""")
@@ -659,16 +793,18 @@ This option is a JSON list with items of type CreateCustomEndpointDetails. For
659
793
  @cli_util.option('--network-endpoint-details-allowlisted-http-vcns', type=custom_types.CLI_COMPLEX_TYPE, help=u"""Virtual Cloud Networks allowed to access this network endpoint.
660
794
 
661
795
  This option is a JSON list with items of type VirtualCloudNetwork. For documentation on VirtualCloudNetwork please see our API reference: https://docs.cloud.oracle.com/api/#/en/integrationinstance/20190131/datatypes/VirtualCloudNetwork.""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
796
+ @cli_util.option('--network-endpoint-details-runtime', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
797
+ @cli_util.option('--network-endpoint-details-design-time', type=custom_types.CLI_COMPLEX_TYPE, help=u"""""" + custom_types.cli_complex_type.COMPLEX_TYPE_HELP)
662
798
  @cli_util.option('--network-endpoint-details-is-integration-vcn-allowlisted', type=click.BOOL, help=u"""The Integration service's VCN is allow-listed to allow integrations to call back into other integrations""")
663
799
  @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.""")
664
800
  @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.""")
665
801
  @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.""")
666
- @json_skeleton_utils.get_cli_json_input_option({'freeform-tags': {'module': 'integration', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'security-attributes': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'custom-endpoint': {'module': 'integration', 'class': 'CreateCustomEndpointDetails'}, 'alternate-custom-endpoints': {'module': 'integration', 'class': 'list[CreateCustomEndpointDetails]'}, 'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}})
802
+ @json_skeleton_utils.get_cli_json_input_option({'freeform-tags': {'module': 'integration', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'security-attributes': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'custom-endpoint': {'module': 'integration', 'class': 'CreateCustomEndpointDetails'}, 'alternate-custom-endpoints': {'module': 'integration', 'class': 'list[CreateCustomEndpointDetails]'}, 'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}, 'network-endpoint-details-runtime': {'module': 'integration', 'class': 'ComponentAllowListDetails'}, 'network-endpoint-details-design-time': {'module': 'integration', 'class': 'ComponentAllowListDetails'}})
667
803
  @cli_util.help_option
668
804
  @click.pass_context
669
- @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'integration', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'security-attributes': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'custom-endpoint': {'module': 'integration', 'class': 'CreateCustomEndpointDetails'}, 'alternate-custom-endpoints': {'module': 'integration', 'class': 'list[CreateCustomEndpointDetails]'}, 'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}})
805
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={'freeform-tags': {'module': 'integration', 'class': 'dict(str, string)'}, 'defined-tags': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'security-attributes': {'module': 'integration', 'class': 'dict(str, dict(str, object))'}, 'custom-endpoint': {'module': 'integration', 'class': 'CreateCustomEndpointDetails'}, 'alternate-custom-endpoints': {'module': 'integration', 'class': 'list[CreateCustomEndpointDetails]'}, 'network-endpoint-details-allowlisted-http-ips': {'module': 'integration', 'class': 'list[string]'}, 'network-endpoint-details-allowlisted-http-vcns': {'module': 'integration', 'class': 'list[VirtualCloudNetwork]'}, 'network-endpoint-details-runtime': {'module': 'integration', 'class': 'ComponentAllowListDetails'}, 'network-endpoint-details-design-time': {'module': 'integration', 'class': 'ComponentAllowListDetails'}})
670
806
  @cli_util.wrap_exceptions
671
- def create_integration_instance_public_endpoint_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, display_name, compartment_id, integration_instance_type, is_byol, message_packs, freeform_tags, defined_tags, security_attributes, idcs_at, is_visual_builder_enabled, custom_endpoint, alternate_custom_endpoints, consumption_model, is_file_server_enabled, is_disaster_recovery_enabled, shape, domain_id, network_endpoint_details_allowlisted_http_ips, network_endpoint_details_allowlisted_http_vcns, network_endpoint_details_is_integration_vcn_allowlisted):
807
+ def create_integration_instance_public_endpoint_details(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, display_name, compartment_id, integration_instance_type, is_byol, message_packs, freeform_tags, defined_tags, security_attributes, idcs_at, is_visual_builder_enabled, custom_endpoint, alternate_custom_endpoints, consumption_model, is_file_server_enabled, is_disaster_recovery_enabled, shape, domain_id, network_endpoint_details_allowlisted_http_ips, network_endpoint_details_allowlisted_http_vcns, network_endpoint_details_runtime, network_endpoint_details_design_time, network_endpoint_details_is_integration_vcn_allowlisted):
672
808
 
673
809
  kwargs = {}
674
810
  kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
@@ -723,6 +859,12 @@ def create_integration_instance_public_endpoint_details(ctx, from_json, wait_for
723
859
  if network_endpoint_details_allowlisted_http_vcns is not None:
724
860
  _details['networkEndpointDetails']['allowlistedHttpVcns'] = cli_util.parse_json_parameter("network_endpoint_details_allowlisted_http_vcns", network_endpoint_details_allowlisted_http_vcns)
725
861
 
862
+ if network_endpoint_details_runtime is not None:
863
+ _details['networkEndpointDetails']['runtime'] = cli_util.parse_json_parameter("network_endpoint_details_runtime", network_endpoint_details_runtime)
864
+
865
+ if network_endpoint_details_design_time is not None:
866
+ _details['networkEndpointDetails']['designTime'] = cli_util.parse_json_parameter("network_endpoint_details_design_time", network_endpoint_details_design_time)
867
+
726
868
  if network_endpoint_details_is_integration_vcn_allowlisted is not None:
727
869
  _details['networkEndpointDetails']['isIntegrationVcnAllowlisted'] = network_endpoint_details_is_integration_vcn_allowlisted
728
870
 
@@ -819,6 +961,61 @@ def delete_integration_instance(ctx, from_json, wait_for_state, max_wait_seconds
819
961
  cli_util.render_response(result, ctx)
820
962
 
821
963
 
964
+ @integration_instance_group.command(name=cli_util.override('integration.disable_process_automation.command_name', 'disable-process-automation'), help=u"""Disable Process Automation for given Integration Instance \n[Command Reference](disableProcessAutomation)""")
965
+ @cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
966
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
967
+ @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.""")
968
+ @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.""")
969
+ @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.""")
970
+ @json_skeleton_utils.get_cli_json_input_option({})
971
+ @cli_util.help_option
972
+ @click.pass_context
973
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
974
+ @cli_util.wrap_exceptions
975
+ def disable_process_automation(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, if_match):
976
+
977
+ if isinstance(integration_instance_id, six.string_types) and len(integration_instance_id.strip()) == 0:
978
+ raise click.UsageError('Parameter --integration-instance-id cannot be whitespace or empty string')
979
+
980
+ kwargs = {}
981
+ if if_match is not None:
982
+ kwargs['if_match'] = if_match
983
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
984
+ client = cli_util.build_client('integration', 'integration_instance', ctx)
985
+ result = client.disable_process_automation(
986
+ integration_instance_id=integration_instance_id,
987
+ **kwargs
988
+ )
989
+ if wait_for_state:
990
+
991
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
992
+ try:
993
+ wait_period_kwargs = {}
994
+ if max_wait_seconds is not None:
995
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
996
+ if wait_interval_seconds is not None:
997
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
998
+ if 'opc-work-request-id' not in result.headers:
999
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
1000
+ cli_util.render_response(result, ctx)
1001
+ return
1002
+
1003
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
1004
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
1005
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
1006
+ # If we fail, we should show an error, but we should still provide the information to the customer
1007
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
1008
+ cli_util.render_response(result, ctx)
1009
+ sys.exit(2)
1010
+ except Exception:
1011
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
1012
+ cli_util.render_response(result, ctx)
1013
+ raise
1014
+ else:
1015
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
1016
+ cli_util.render_response(result, ctx)
1017
+
1018
+
822
1019
  @integration_instance_group.command(name=cli_util.override('integration.disaster_recovery_failover.command_name', 'disaster-recovery-failover'), help=u"""Allows failover for disaster recovery. Called in the context of integration instance in that region. Upon calling the failover api in the region where given instance was created, the intigration instance if primary will be switched to standby and crossRegion integration instance will be switched to primary and vice-versa. \n[Command Reference](disasterRecoveryFailover)""")
823
1020
  @cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
824
1021
  @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
@@ -1257,6 +1454,61 @@ def list_work_requests(ctx, from_json, all_pages, page_size, compartment_id, pag
1257
1454
  cli_util.render_response(result, ctx)
1258
1455
 
1259
1456
 
1457
+ @integration_instance_group.command(name=cli_util.override('integration.remove_log_analytics_log_group.command_name', 'remove'), help=u"""Removes Log Analytics logGroup, if enabled for given integrationInstance. Since only single LogGroup can be enabled for integration instance, no additional details are required to be includes in the request. \n[Command Reference](removeLogAnalyticsLogGroup)""")
1458
+ @cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
1459
+ @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")
1460
+ @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.""")
1461
+ @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.""")
1462
+ @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.""")
1463
+ @json_skeleton_utils.get_cli_json_input_option({})
1464
+ @cli_util.help_option
1465
+ @click.pass_context
1466
+ @json_skeleton_utils.json_skeleton_generation_handler(input_params_to_complex_types={})
1467
+ @cli_util.wrap_exceptions
1468
+ def remove_log_analytics_log_group(ctx, from_json, wait_for_state, max_wait_seconds, wait_interval_seconds, integration_instance_id, if_match):
1469
+
1470
+ if isinstance(integration_instance_id, six.string_types) and len(integration_instance_id.strip()) == 0:
1471
+ raise click.UsageError('Parameter --integration-instance-id cannot be whitespace or empty string')
1472
+
1473
+ kwargs = {}
1474
+ if if_match is not None:
1475
+ kwargs['if_match'] = if_match
1476
+ kwargs['opc_request_id'] = cli_util.use_or_generate_request_id(ctx.obj['request_id'])
1477
+ client = cli_util.build_client('integration', 'integration_instance', ctx)
1478
+ result = client.remove_log_analytics_log_group(
1479
+ integration_instance_id=integration_instance_id,
1480
+ **kwargs
1481
+ )
1482
+ if wait_for_state:
1483
+
1484
+ if hasattr(client, 'get_work_request') and callable(getattr(client, 'get_work_request')):
1485
+ try:
1486
+ wait_period_kwargs = {}
1487
+ if max_wait_seconds is not None:
1488
+ wait_period_kwargs['max_wait_seconds'] = max_wait_seconds
1489
+ if wait_interval_seconds is not None:
1490
+ wait_period_kwargs['max_interval_seconds'] = wait_interval_seconds
1491
+ if 'opc-work-request-id' not in result.headers:
1492
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state')
1493
+ cli_util.render_response(result, ctx)
1494
+ return
1495
+
1496
+ click.echo('Action completed. Waiting until the work request has entered state: {}'.format(wait_for_state), file=sys.stderr)
1497
+ result = oci.wait_until(client, client.get_work_request(result.headers['opc-work-request-id']), 'status', wait_for_state, **wait_period_kwargs)
1498
+ except oci.exceptions.MaximumWaitTimeExceeded as e:
1499
+ # If we fail, we should show an error, but we should still provide the information to the customer
1500
+ click.echo('Failed to wait until the work request entered the specified state. Outputting last known resource state', file=sys.stderr)
1501
+ cli_util.render_response(result, ctx)
1502
+ sys.exit(2)
1503
+ except Exception:
1504
+ click.echo('Encountered error while waiting for work request to enter the specified state. Outputting last known resource state', file=sys.stderr)
1505
+ cli_util.render_response(result, ctx)
1506
+ raise
1507
+ else:
1508
+ click.echo('Unable to wait for the work request to enter the specified state', file=sys.stderr)
1509
+ cli_util.render_response(result, ctx)
1510
+
1511
+
1260
1512
  @integration_instance_group.command(name=cli_util.override('integration.remove_oracle_managed_custom_endpoint.command_name', 'remove'), help=u"""Remove Oracle Managed Custom Endpoint for given integration instance that was previously enabled. \n[Command Reference](removeOracleManagedCustomEndpoint)""")
1261
1513
  @cli_util.option('--integration-instance-id', required=True, help=u"""Unique Integration Instance identifier.""")
1262
1514
  @cli_util.option('--if-match', help=u"""For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match` parameter to the value of the etag from a previous GET or POST response for that resource. The resource will be updated or deleted only if the etag you provide matches the resource's current etag value.""")