mv-oci-sdk 2.142.0__py3-none-any.whl → 2.142.0.1__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/METADATA +3 -3
  2. {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/RECORD +197 -6
  3. oci/file_storage/__init__.py +14 -0
  4. oci/file_storage/file_storage_client.py +8601 -0
  5. oci/file_storage/file_storage_client_composite_operations.py +2068 -0
  6. oci/file_storage/models/__init__.py +130 -0
  7. oci/file_storage/models/change_file_system_compartment_details.py +76 -0
  8. oci/file_storage/models/change_filesystem_snapshot_policy_compartment_details.py +76 -0
  9. oci/file_storage/models/change_mount_target_compartment_details.py +76 -0
  10. oci/file_storage/models/change_outbound_connector_compartment_details.py +78 -0
  11. oci/file_storage/models/change_replication_compartment_details.py +76 -0
  12. oci/file_storage/models/client_options.py +389 -0
  13. oci/file_storage/models/create_export_details.py +303 -0
  14. oci/file_storage/models/create_file_system_details.py +425 -0
  15. oci/file_storage/models/create_filesystem_snapshot_policy_details.py +337 -0
  16. oci/file_storage/models/create_kerberos_details.py +200 -0
  17. oci/file_storage/models/create_ldap_bind_account_details.py +220 -0
  18. oci/file_storage/models/create_ldap_idmap_details.py +317 -0
  19. oci/file_storage/models/create_mount_target_details.py +581 -0
  20. oci/file_storage/models/create_outbound_connector_details.py +309 -0
  21. oci/file_storage/models/create_replication_details.py +325 -0
  22. oci/file_storage/models/create_snapshot_details.py +261 -0
  23. oci/file_storage/models/endpoint.py +103 -0
  24. oci/file_storage/models/export.py +456 -0
  25. oci/file_storage/models/export_set.py +411 -0
  26. oci/file_storage/models/export_set_summary.py +316 -0
  27. oci/file_storage/models/export_summary.py +343 -0
  28. oci/file_storage/models/file_system.py +818 -0
  29. oci/file_storage/models/file_system_summary.py +659 -0
  30. oci/file_storage/models/filesystem_snapshot_policy.py +473 -0
  31. oci/file_storage/models/filesystem_snapshot_policy_summary.py +429 -0
  32. oci/file_storage/models/kerberos.py +200 -0
  33. oci/file_storage/models/kerberos_keytab_entry.py +166 -0
  34. oci/file_storage/models/key_tab_secret_details.py +138 -0
  35. oci/file_storage/models/ldap_bind_account.py +243 -0
  36. oci/file_storage/models/ldap_bind_account_summary.py +176 -0
  37. oci/file_storage/models/ldap_idmap.py +317 -0
  38. oci/file_storage/models/mount_target.py +828 -0
  39. oci/file_storage/models/mount_target_summary.py +696 -0
  40. oci/file_storage/models/outbound_connector.py +453 -0
  41. oci/file_storage/models/outbound_connector_summary.py +438 -0
  42. oci/file_storage/models/replication.py +740 -0
  43. oci/file_storage/models/replication_estimate.py +196 -0
  44. oci/file_storage/models/replication_summary.py +491 -0
  45. oci/file_storage/models/replication_target.py +679 -0
  46. oci/file_storage/models/replication_target_summary.py +425 -0
  47. oci/file_storage/models/resource_lock.py +185 -0
  48. oci/file_storage/models/schedule_downgrade_shape_mount_target_details.py +78 -0
  49. oci/file_storage/models/snapshot.py +638 -0
  50. oci/file_storage/models/snapshot_schedule.py +487 -0
  51. oci/file_storage/models/snapshot_summary.py +601 -0
  52. oci/file_storage/models/source_details.py +119 -0
  53. oci/file_storage/models/update_export_details.py +111 -0
  54. oci/file_storage/models/update_export_set_details.py +172 -0
  55. oci/file_storage/models/update_file_system_details.py +246 -0
  56. oci/file_storage/models/update_filesystem_snapshot_policy_details.py +236 -0
  57. oci/file_storage/models/update_kerberos_details.py +200 -0
  58. oci/file_storage/models/update_ldap_idmap_details.py +317 -0
  59. oci/file_storage/models/update_mount_target_details.py +286 -0
  60. oci/file_storage/models/update_outbound_connector_details.py +158 -0
  61. oci/file_storage/models/update_replication_details.py +189 -0
  62. oci/file_storage/models/update_snapshot_details.py +156 -0
  63. oci/file_storage/models/upgrade_shape_mount_target_details.py +78 -0
  64. oci/file_storage/models/validate_key_tabs_details.py +103 -0
  65. oci/file_storage/models/validate_key_tabs_response_details.py +103 -0
  66. oci/functions/__init__.py +16 -0
  67. oci/functions/functions_invoke_client.py +267 -0
  68. oci/functions/functions_invoke_client_composite_operations.py +26 -0
  69. oci/functions/functions_management_client.py +2056 -0
  70. oci/functions/functions_management_client_composite_operations.py +326 -0
  71. oci/functions/models/__init__.py +74 -0
  72. oci/functions/models/application.py +628 -0
  73. oci/functions/models/application_summary.py +512 -0
  74. oci/functions/models/application_trace_config.py +103 -0
  75. oci/functions/models/change_application_compartment_details.py +78 -0
  76. oci/functions/models/config_details.py +134 -0
  77. oci/functions/models/constant_provisioned_concurrency_config.py +82 -0
  78. oci/functions/models/create_application_details.py +446 -0
  79. oci/functions/models/create_function_details.py +437 -0
  80. oci/functions/models/function.py +734 -0
  81. oci/functions/models/function_provisioned_concurrency_config.py +109 -0
  82. oci/functions/models/function_source_details.py +101 -0
  83. oci/functions/models/function_summary.py +657 -0
  84. oci/functions/models/function_trace_config.py +72 -0
  85. oci/functions/models/image_policy_config.py +103 -0
  86. oci/functions/models/key_details.py +76 -0
  87. oci/functions/models/none_provisioned_concurrency_config.py +51 -0
  88. oci/functions/models/pbf_listing.py +408 -0
  89. oci/functions/models/pbf_listing_summary.py +386 -0
  90. oci/functions/models/pbf_listing_version.py +467 -0
  91. oci/functions/models/pbf_listing_version_summary.py +446 -0
  92. oci/functions/models/pbf_listing_versions_collection.py +73 -0
  93. oci/functions/models/pbf_listings_collection.py +72 -0
  94. oci/functions/models/policy_details.py +103 -0
  95. oci/functions/models/pre_built_function_source_details.py +88 -0
  96. oci/functions/models/publisher_details.py +72 -0
  97. oci/functions/models/requirement_details.py +106 -0
  98. oci/functions/models/trigger.py +72 -0
  99. oci/functions/models/trigger_summary.py +72 -0
  100. oci/functions/models/triggers_collection.py +72 -0
  101. oci/functions/models/update_application_details.py +290 -0
  102. oci/functions/models/update_function_details.py +346 -0
  103. oci/load_balancer/__init__.py +14 -0
  104. oci/load_balancer/load_balancer_client.py +7641 -0
  105. oci/load_balancer/load_balancer_client_composite_operations.py +1630 -0
  106. oci/load_balancer/models/__init__.py +186 -0
  107. oci/load_balancer/models/action.py +97 -0
  108. oci/load_balancer/models/add_http_request_header_rule.py +134 -0
  109. oci/load_balancer/models/add_http_response_header_rule.py +137 -0
  110. oci/load_balancer/models/allow_rule.py +123 -0
  111. oci/load_balancer/models/backend.py +350 -0
  112. oci/load_balancer/models/backend_details.py +312 -0
  113. oci/load_balancer/models/backend_health.py +143 -0
  114. oci/load_balancer/models/backend_set.py +305 -0
  115. oci/load_balancer/models/backend_set_details.py +262 -0
  116. oci/load_balancer/models/backend_set_health.py +265 -0
  117. oci/load_balancer/models/certificate.py +188 -0
  118. oci/load_balancer/models/certificate_details.py +270 -0
  119. oci/load_balancer/models/change_load_balancer_compartment_details.py +78 -0
  120. oci/load_balancer/models/connection_configuration.py +168 -0
  121. oci/load_balancer/models/control_access_using_http_methods_rule.py +162 -0
  122. oci/load_balancer/models/create_backend_details.py +316 -0
  123. oci/load_balancer/models/create_backend_set_details.py +305 -0
  124. oci/load_balancer/models/create_certificate_details.py +270 -0
  125. oci/load_balancer/models/create_hostname_details.py +121 -0
  126. oci/load_balancer/models/create_listener_details.py +387 -0
  127. oci/load_balancer/models/create_load_balancer_details.py +895 -0
  128. oci/load_balancer/models/create_path_route_set_details.py +111 -0
  129. oci/load_balancer/models/create_routing_policy_details.py +154 -0
  130. oci/load_balancer/models/create_rule_set_details.py +109 -0
  131. oci/load_balancer/models/create_ssl_cipher_suite_details.py +606 -0
  132. oci/load_balancer/models/extend_http_request_header_value_rule.py +181 -0
  133. oci/load_balancer/models/extend_http_response_header_value_rule.py +181 -0
  134. oci/load_balancer/models/forward_to_backend_set.py +86 -0
  135. oci/load_balancer/models/health_check_result.py +219 -0
  136. oci/load_balancer/models/health_checker.py +381 -0
  137. oci/load_balancer/models/health_checker_details.py +376 -0
  138. oci/load_balancer/models/hostname.py +121 -0
  139. oci/load_balancer/models/hostname_details.py +117 -0
  140. oci/load_balancer/models/http_header_rule.py +127 -0
  141. oci/load_balancer/models/ip_address.py +142 -0
  142. oci/load_balancer/models/ip_based_max_connections_rule.py +118 -0
  143. oci/load_balancer/models/ip_max_connections.py +111 -0
  144. oci/load_balancer/models/lb_cookie_session_persistence_configuration_details.py +423 -0
  145. oci/load_balancer/models/listener.py +383 -0
  146. oci/load_balancer/models/listener_details.py +344 -0
  147. oci/load_balancer/models/listener_rule_summary.py +104 -0
  148. oci/load_balancer/models/load_balancer.py +1023 -0
  149. oci/load_balancer/models/load_balancer_health.py +281 -0
  150. oci/load_balancer/models/load_balancer_health_summary.py +167 -0
  151. oci/load_balancer/models/load_balancer_policy.py +80 -0
  152. oci/load_balancer/models/load_balancer_protocol.py +76 -0
  153. oci/load_balancer/models/load_balancer_shape.py +80 -0
  154. oci/load_balancer/models/path_match_condition.py +166 -0
  155. oci/load_balancer/models/path_match_type.py +126 -0
  156. oci/load_balancer/models/path_route.py +156 -0
  157. oci/load_balancer/models/path_route_set.py +112 -0
  158. oci/load_balancer/models/path_route_set_details.py +72 -0
  159. oci/load_balancer/models/redirect_rule.py +173 -0
  160. oci/load_balancer/models/redirect_uri.py +420 -0
  161. oci/load_balancer/models/remove_http_request_header_rule.py +90 -0
  162. oci/load_balancer/models/remove_http_response_header_rule.py +92 -0
  163. oci/load_balancer/models/reserved_ip.py +90 -0
  164. oci/load_balancer/models/routing_policy.py +152 -0
  165. oci/load_balancer/models/routing_policy_details.py +73 -0
  166. oci/load_balancer/models/routing_rule.py +135 -0
  167. oci/load_balancer/models/rule.py +177 -0
  168. oci/load_balancer/models/rule_condition.py +121 -0
  169. oci/load_balancer/models/rule_set.py +113 -0
  170. oci/load_balancer/models/rule_set_details.py +72 -0
  171. oci/load_balancer/models/session_persistence_configuration_details.py +136 -0
  172. oci/load_balancer/models/shape_details.py +121 -0
  173. oci/load_balancer/models/source_ip_address_condition.py +90 -0
  174. oci/load_balancer/models/source_vcn_id_condition.py +98 -0
  175. oci/load_balancer/models/source_vcn_ip_address_condition.py +97 -0
  176. oci/load_balancer/models/ssl_cipher_suite.py +606 -0
  177. oci/load_balancer/models/ssl_cipher_suite_details.py +606 -0
  178. oci/load_balancer/models/ssl_configuration.py +478 -0
  179. oci/load_balancer/models/ssl_configuration_details.py +476 -0
  180. oci/load_balancer/models/update_backend_details.py +242 -0
  181. oci/load_balancer/models/update_backend_set_details.py +264 -0
  182. oci/load_balancer/models/update_health_checker_details.py +374 -0
  183. oci/load_balancer/models/update_hostname_details.py +86 -0
  184. oci/load_balancer/models/update_listener_details.py +344 -0
  185. oci/load_balancer/models/update_load_balancer_details.py +356 -0
  186. oci/load_balancer/models/update_load_balancer_shape_details.py +127 -0
  187. oci/load_balancer/models/update_network_security_groups_details.py +99 -0
  188. oci/load_balancer/models/update_path_route_set_details.py +72 -0
  189. oci/load_balancer/models/update_routing_policy_details.py +115 -0
  190. oci/load_balancer/models/update_rule_set_details.py +72 -0
  191. oci/load_balancer/models/update_ssl_cipher_suite_details.py +300 -0
  192. oci/load_balancer/models/work_request.py +385 -0
  193. oci/load_balancer/models/work_request_error.py +115 -0
  194. oci/version.py +1 -1
  195. {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/LICENSE.txt +0 -0
  196. {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/WHEEL +0 -0
  197. {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,103 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3
+ # 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.
4
+
5
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20171215
6
+
7
+
8
+ from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel # noqa: F401
9
+ from oci.decorators import init_model_state_from_kwargs
10
+
11
+
12
+ @init_model_state_from_kwargs
13
+ class ValidateKeyTabsResponseDetails(object):
14
+ """
15
+ Validate keytabs response details.
16
+ """
17
+
18
+ def __init__(self, **kwargs):
19
+ """
20
+ Initializes a new ValidateKeyTabsResponseDetails object with values from keyword arguments.
21
+ The following keyword arguments are supported (corresponding to the getters/setters of this class):
22
+
23
+ :param current_kerberos_keytab_entries:
24
+ The value to assign to the current_kerberos_keytab_entries property of this ValidateKeyTabsResponseDetails.
25
+ :type current_kerberos_keytab_entries: list[oci.file_storage.models.KerberosKeytabEntry]
26
+
27
+ :param backup_kerberos_keytab_entries:
28
+ The value to assign to the backup_kerberos_keytab_entries property of this ValidateKeyTabsResponseDetails.
29
+ :type backup_kerberos_keytab_entries: list[oci.file_storage.models.KerberosKeytabEntry]
30
+
31
+ """
32
+ self.swagger_types = {
33
+ 'current_kerberos_keytab_entries': 'list[KerberosKeytabEntry]',
34
+ 'backup_kerberos_keytab_entries': 'list[KerberosKeytabEntry]'
35
+ }
36
+
37
+ self.attribute_map = {
38
+ 'current_kerberos_keytab_entries': 'currentKerberosKeytabEntries',
39
+ 'backup_kerberos_keytab_entries': 'backupKerberosKeytabEntries'
40
+ }
41
+
42
+ self._current_kerberos_keytab_entries = None
43
+ self._backup_kerberos_keytab_entries = None
44
+
45
+ @property
46
+ def current_kerberos_keytab_entries(self):
47
+ """
48
+ **[Required]** Gets the current_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
49
+ An array of keytab entries (principal, encryptionType, keyVersionNumber).
50
+
51
+
52
+ :return: The current_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
53
+ :rtype: list[oci.file_storage.models.KerberosKeytabEntry]
54
+ """
55
+ return self._current_kerberos_keytab_entries
56
+
57
+ @current_kerberos_keytab_entries.setter
58
+ def current_kerberos_keytab_entries(self, current_kerberos_keytab_entries):
59
+ """
60
+ Sets the current_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
61
+ An array of keytab entries (principal, encryptionType, keyVersionNumber).
62
+
63
+
64
+ :param current_kerberos_keytab_entries: The current_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
65
+ :type: list[oci.file_storage.models.KerberosKeytabEntry]
66
+ """
67
+ self._current_kerberos_keytab_entries = current_kerberos_keytab_entries
68
+
69
+ @property
70
+ def backup_kerberos_keytab_entries(self):
71
+ """
72
+ Gets the backup_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
73
+ An array of keytab entries (principal, encryptionType, keyVersionNumber).
74
+
75
+
76
+ :return: The backup_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
77
+ :rtype: list[oci.file_storage.models.KerberosKeytabEntry]
78
+ """
79
+ return self._backup_kerberos_keytab_entries
80
+
81
+ @backup_kerberos_keytab_entries.setter
82
+ def backup_kerberos_keytab_entries(self, backup_kerberos_keytab_entries):
83
+ """
84
+ Sets the backup_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
85
+ An array of keytab entries (principal, encryptionType, keyVersionNumber).
86
+
87
+
88
+ :param backup_kerberos_keytab_entries: The backup_kerberos_keytab_entries of this ValidateKeyTabsResponseDetails.
89
+ :type: list[oci.file_storage.models.KerberosKeytabEntry]
90
+ """
91
+ self._backup_kerberos_keytab_entries = backup_kerberos_keytab_entries
92
+
93
+ def __repr__(self):
94
+ return formatted_flat_dict(self)
95
+
96
+ def __eq__(self, other):
97
+ if other is None:
98
+ return False
99
+
100
+ return self.__dict__ == other.__dict__
101
+
102
+ def __ne__(self, other):
103
+ return not self == other
@@ -0,0 +1,16 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3
+ # 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.
4
+
5
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20181201
6
+
7
+ from __future__ import absolute_import
8
+
9
+
10
+ from .functions_invoke_client import FunctionsInvokeClient
11
+ from .functions_invoke_client_composite_operations import FunctionsInvokeClientCompositeOperations
12
+ from .functions_management_client import FunctionsManagementClient
13
+ from .functions_management_client_composite_operations import FunctionsManagementClientCompositeOperations
14
+ from . import models
15
+
16
+ __all__ = ["FunctionsInvokeClient", "FunctionsInvokeClientCompositeOperations", "FunctionsManagementClient", "FunctionsManagementClientCompositeOperations", "models"]
@@ -0,0 +1,267 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3
+ # 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.
4
+
5
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20181201
6
+
7
+ from __future__ import absolute_import
8
+
9
+ from oci._vendor import requests # noqa: F401
10
+ from oci._vendor import six
11
+
12
+ from oci import retry, circuit_breaker # noqa: F401
13
+ from oci.base_client import BaseClient
14
+ from oci.config import get_config_value_or_default, validate_config
15
+ from oci.signer import Signer
16
+ from oci.util import Sentinel, get_signer_from_authentication_type, AUTHENTICATION_TYPE_FIELD_NAME
17
+ from oci.util import back_up_body_calculate_stream_content_length, is_content_length_calculable_by_req_util
18
+ from oci.exceptions import InvalidAlloyConfig
19
+ from oci.alloy import OCI_SDK_ENABLED_SERVICES_SET
20
+ from .models import functions_type_mapping
21
+ missing = Sentinel("Missing")
22
+
23
+
24
+ class FunctionsInvokeClient(object):
25
+ """
26
+ API for the Functions service.
27
+ """
28
+
29
+ def __init__(self, config, **kwargs):
30
+ """
31
+ Creates a new service client
32
+
33
+ :param dict config:
34
+ Configuration keys and values as per `SDK and Tool Configuration <https://docs.cloud.oracle.com/Content/API/Concepts/sdkconfig.htm>`__.
35
+ The :py:meth:`~oci.config.from_file` method can be used to load configuration from a file. Alternatively, a ``dict`` can be passed. You can validate_config
36
+ the dict using :py:meth:`~oci.config.validate_config`
37
+
38
+ :param str service_endpoint: (optional)
39
+ The endpoint of the service to call using this client. For example ``https://iaas.us-ashburn-1.oraclecloud.com``. If this keyword argument is
40
+ not provided then it will be derived using the region in the config parameter. You should only provide this keyword argument if you have an explicit
41
+ need to specify a service endpoint.
42
+
43
+ :param timeout: (optional)
44
+ The connection and read timeouts for the client. The default values are connection timeout 10 seconds and read timeout 60 seconds. This keyword argument can be provided
45
+ as a single float, in which case the value provided is used for both the read and connection timeouts, or as a tuple of two floats. If
46
+ a tuple is provided then the first value is used as the connection timeout and the second value as the read timeout.
47
+ :type timeout: float or tuple(float, float)
48
+
49
+ :param signer: (optional)
50
+ The signer to use when signing requests made by the service client. The default is to use a :py:class:`~oci.signer.Signer` based on the values
51
+ provided in the config parameter.
52
+
53
+ One use case for this parameter is for `Instance Principals authentication <https://docs.cloud.oracle.com/Content/Identity/Tasks/callingservicesfrominstances.htm>`__
54
+ by passing an instance of :py:class:`~oci.auth.signers.InstancePrincipalsSecurityTokenSigner` as the value for this keyword argument
55
+ :type signer: :py:class:`~oci.signer.AbstractBaseSigner`
56
+
57
+ :param obj retry_strategy: (optional)
58
+ A retry strategy to apply to all calls made by this service client (i.e. at the client level). There is no retry strategy applied by default.
59
+ Retry strategies can also be applied at the operation level by passing a ``retry_strategy`` keyword argument as part of calling the operation.
60
+ Any value provided at the operation level will override whatever is specified at the client level.
61
+
62
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. A convenience :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY`
63
+ is also available. The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
64
+
65
+ :param obj circuit_breaker_strategy: (optional)
66
+ A circuit breaker strategy to apply to all calls made by this service client (i.e. at the client level).
67
+ This client uses :py:data:`~oci.circuit_breaker.DEFAULT_CIRCUIT_BREAKER_STRATEGY` as default if no circuit breaker strategy is provided.
68
+ The specifics of circuit breaker strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/circuit_breakers.html>`__.
69
+
70
+ :param function circuit_breaker_callback: (optional)
71
+ Callback function to receive any exceptions triggerred by the circuit breaker.
72
+
73
+ :param bool client_level_realm_specific_endpoint_template_enabled: (optional)
74
+ A boolean flag to indicate whether or not this client should be created with realm specific endpoint template enabled or disable. By default, this will be set as None.
75
+
76
+ :param allow_control_chars: (optional)
77
+ allow_control_chars is a boolean to indicate whether or not this client should allow control characters in the response object. By default, the client will not
78
+ allow control characters to be in the response object.
79
+ """
80
+ if not OCI_SDK_ENABLED_SERVICES_SET.is_service_enabled("functions"):
81
+ raise InvalidAlloyConfig("The Alloy configuration has disabled this service, this behavior is controlled by OCI_SDK_ENABLED_SERVICES_SET variable. Please check if your local alloy-config file configured the service you're targeting or contact the cloud provider on the availability of this service")
82
+
83
+ validate_config(config, signer=kwargs.get('signer'))
84
+ if 'signer' in kwargs:
85
+ signer = kwargs['signer']
86
+
87
+ elif AUTHENTICATION_TYPE_FIELD_NAME in config:
88
+ signer = get_signer_from_authentication_type(config)
89
+
90
+ else:
91
+ signer = Signer(
92
+ tenancy=config["tenancy"],
93
+ user=config["user"],
94
+ fingerprint=config["fingerprint"],
95
+ private_key_file_location=config.get("key_file"),
96
+ pass_phrase=get_config_value_or_default(config, "pass_phrase"),
97
+ private_key_content=config.get("key_content")
98
+ )
99
+
100
+ base_client_init_kwargs = {
101
+ 'regional_client': True,
102
+ 'service_endpoint': kwargs.get('service_endpoint'),
103
+ 'base_path': '/20181201',
104
+ 'service_endpoint_template': 'https://functions.{region}.oci.{secondLevelDomain}',
105
+ 'service_endpoint_template_per_realm': { }, # noqa: E201 E202
106
+ 'skip_deserialization': kwargs.get('skip_deserialization', False),
107
+ 'circuit_breaker_strategy': kwargs.get('circuit_breaker_strategy', circuit_breaker.GLOBAL_CIRCUIT_BREAKER_STRATEGY),
108
+ 'client_level_realm_specific_endpoint_template_enabled': kwargs.get('client_level_realm_specific_endpoint_template_enabled')
109
+ }
110
+ if 'timeout' in kwargs:
111
+ base_client_init_kwargs['timeout'] = kwargs.get('timeout')
112
+ if base_client_init_kwargs.get('circuit_breaker_strategy') is None:
113
+ base_client_init_kwargs['circuit_breaker_strategy'] = circuit_breaker.DEFAULT_CIRCUIT_BREAKER_STRATEGY
114
+ if 'allow_control_chars' in kwargs:
115
+ base_client_init_kwargs['allow_control_chars'] = kwargs.get('allow_control_chars')
116
+ self.base_client = BaseClient("functions_invoke", config, signer, functions_type_mapping, **base_client_init_kwargs)
117
+ self.retry_strategy = kwargs.get('retry_strategy')
118
+ self.circuit_breaker_callback = kwargs.get('circuit_breaker_callback')
119
+
120
+ def invoke_function(self, function_id, **kwargs):
121
+ """
122
+ Invokes a function
123
+
124
+
125
+ :param str function_id: (required)
126
+ The `OCID`__ of this function.
127
+
128
+ __ https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm
129
+
130
+ :param stream invoke_function_body: (optional)
131
+ The body of the function invocation.
132
+ Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit.
133
+
134
+ :param str fn_intent: (optional)
135
+ An optional intent header that indicates to the FDK the way the event should be interpreted. E.g. 'httprequest', 'cloudevent'.
136
+
137
+ Allowed values are: "httprequest", "cloudevent"
138
+
139
+ :param str fn_invoke_type: (optional)
140
+ Indicates whether Oracle Functions should execute the request and return the result ('sync') of the execution,
141
+ or whether Oracle Functions should return as soon as processing has begun ('detached') and leave result handling to the function.
142
+
143
+ Allowed values are: "detached", "sync"
144
+
145
+ :param str opc_request_id: (optional)
146
+ The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a
147
+ particular request, please provide the request ID.
148
+
149
+ :param obj retry_strategy: (optional)
150
+ A retry strategy to apply to this specific operation/call. This will override any retry strategy set at the client-level.
151
+
152
+ This should be one of the strategies available in the :py:mod:`~oci.retry` module. This operation will not retry by default, users can also use the convenient :py:data:`~oci.retry.DEFAULT_RETRY_STRATEGY` provided by the SDK to enable retries for it.
153
+ The specifics of the default retry strategy are described `here <https://docs.oracle.com/en-us/iaas/tools/python/latest/sdk_behaviors/retries.html>`__.
154
+
155
+ To have this operation explicitly not perform any retries, pass an instance of :py:class:`~oci.retry.NoneRetryStrategy`.
156
+
157
+ :param bool allow_control_chars: (optional)
158
+ allow_control_chars is a boolean to indicate whether or not this request should allow control characters in the response object.
159
+ By default, the response will not allow control characters in strings
160
+ :param int buffer_limit: (optional)
161
+ A buffer limit for the stream to be buffered. buffer_limit is used to set the buffer size capacity. Streams will be read until the size of the buffer reaches the buffer_limit.
162
+ If the stream size is greater than the buffer_limit, a BufferError exception will be thrown.
163
+
164
+ The buffer_limit parameter is used when the stream object does not have a `seek`, `tell`, or `fileno` property for the Python Request library to calculate out the content length.
165
+ If buffer_limit is not passed, then the buffer_limit will be defaulted to 100MB.
166
+ Large streams can cause the process to freeze, consider passing in content-length for large streams instead.
167
+
168
+ :return: A :class:`~oci.response.Response` object with data of type stream
169
+ :rtype: :class:`~oci.response.Response`
170
+
171
+ :example:
172
+ Click `here <https://docs.cloud.oracle.com/en-us/iaas/tools/python-sdk-examples/latest/functions/invoke_function.py.html>`__ to see an example of how to use invoke_function API.
173
+ """
174
+ # Required path and query arguments. These are in camelCase to replace values in service endpoints.
175
+ required_arguments = ['functionId']
176
+ resource_path = "/functions/{functionId}/actions/invoke"
177
+ method = "POST"
178
+ operation_name = "invoke_function"
179
+ api_reference_link = "https://docs.oracle.com/iaas/api/#/en/functions/20181201/Function/InvokeFunction"
180
+
181
+ # Don't accept unknown kwargs
182
+ expected_kwargs = [
183
+ "allow_control_chars",
184
+ "retry_strategy",
185
+ "buffer_limit",
186
+ "invoke_function_body",
187
+ "fn_intent",
188
+ "fn_invoke_type",
189
+ "opc_request_id"
190
+ ]
191
+ extra_kwargs = [_key for _key in six.iterkeys(kwargs) if _key not in expected_kwargs]
192
+ if extra_kwargs:
193
+ raise ValueError(
194
+ f"invoke_function got unknown kwargs: {extra_kwargs!r}")
195
+
196
+ path_params = {
197
+ "functionId": function_id
198
+ }
199
+
200
+ path_params = {k: v for (k, v) in six.iteritems(path_params) if v is not missing}
201
+
202
+ for (k, v) in six.iteritems(path_params):
203
+ if v is None or (isinstance(v, six.string_types) and len(v.strip()) == 0):
204
+ raise ValueError(f'Parameter {k} cannot be None, whitespace or empty string')
205
+
206
+ header_params = {
207
+ "accept": "*/*",
208
+ "fn-intent": kwargs.get("fn_intent", missing),
209
+ "fn-invoke-type": kwargs.get("fn_invoke_type", missing),
210
+ "opc-request-id": kwargs.get("opc_request_id", missing)
211
+ }
212
+ header_params = {k: v for (k, v) in six.iteritems(header_params) if v is not missing and v is not None}
213
+
214
+ # If the body parameter is optional we need to assign it to a variable so additional type checking can be performed.
215
+ try:
216
+ invoke_function_body
217
+ except NameError:
218
+ invoke_function_body = kwargs.get("invoke_function_body", missing)
219
+
220
+ if invoke_function_body is not missing and invoke_function_body is not None:
221
+ if (not isinstance(invoke_function_body, (six.binary_type, six.string_types)) and
222
+ not hasattr(invoke_function_body, "read")):
223
+ raise TypeError('The body must be a string, bytes, or provide a read() method.')
224
+
225
+ if hasattr(invoke_function_body, 'fileno') and hasattr(invoke_function_body, 'name') and invoke_function_body.name != '<stdin>':
226
+ if requests.utils.super_len(invoke_function_body) == 0:
227
+ header_params['Content-Length'] = '0'
228
+
229
+ # If content length is not given and stream object have no 'fileno' and is not a string or bytes, try to calculate content length
230
+ elif 'Content-Length' not in header_params and not is_content_length_calculable_by_req_util(invoke_function_body):
231
+ calculated_obj = back_up_body_calculate_stream_content_length(invoke_function_body, kwargs.get("buffer_limit"))
232
+ header_params['Content-Length'] = calculated_obj["content_length"]
233
+ invoke_function_body = calculated_obj["byte_content"]
234
+
235
+ retry_strategy = self.base_client.get_preferred_retry_strategy(
236
+ operation_retry_strategy=kwargs.get('retry_strategy'),
237
+ client_retry_strategy=self.retry_strategy
238
+ )
239
+
240
+ if retry_strategy:
241
+ if not isinstance(retry_strategy, retry.NoneRetryStrategy):
242
+ self.base_client.add_opc_client_retries_header(header_params)
243
+ retry_strategy.add_circuit_breaker_callback(self.circuit_breaker_callback)
244
+ return retry_strategy.make_retrying_call(
245
+ self.base_client.call_api,
246
+ resource_path=resource_path,
247
+ method=method,
248
+ path_params=path_params,
249
+ header_params=header_params,
250
+ body=kwargs.get('invoke_function_body'),
251
+ response_type="stream",
252
+ allow_control_chars=kwargs.get('allow_control_chars'),
253
+ operation_name=operation_name,
254
+ api_reference_link=api_reference_link,
255
+ required_arguments=required_arguments)
256
+ else:
257
+ return self.base_client.call_api(
258
+ resource_path=resource_path,
259
+ method=method,
260
+ path_params=path_params,
261
+ header_params=header_params,
262
+ body=kwargs.get('invoke_function_body'),
263
+ response_type="stream",
264
+ allow_control_chars=kwargs.get('allow_control_chars'),
265
+ operation_name=operation_name,
266
+ api_reference_link=api_reference_link,
267
+ required_arguments=required_arguments)
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ # Copyright (c) 2016, 2025, Oracle and/or its affiliates. All rights reserved.
3
+ # 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.
4
+
5
+ # NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20181201
6
+
7
+ import oci # noqa: F401
8
+ from oci.util import WAIT_RESOURCE_NOT_FOUND # noqa: F401
9
+
10
+
11
+ class FunctionsInvokeClientCompositeOperations(object):
12
+ """
13
+ This class provides a wrapper around :py:class:`~oci.functions.FunctionsInvokeClient` and offers convenience methods
14
+ for operations that would otherwise need to be chained together. For example, instead of performing an action
15
+ on a resource (e.g. launching an instance, creating a load balancer) and then using a waiter to wait for the resource
16
+ to enter a given state, you can call a single method in this class to accomplish the same functionality
17
+ """
18
+
19
+ def __init__(self, client, **kwargs):
20
+ """
21
+ Creates a new FunctionsInvokeClientCompositeOperations object
22
+
23
+ :param FunctionsInvokeClient client:
24
+ The service client which will be wrapped by this object
25
+ """
26
+ self.client = client