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.
- {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/METADATA +3 -3
- {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/RECORD +197 -6
- oci/file_storage/__init__.py +14 -0
- oci/file_storage/file_storage_client.py +8601 -0
- oci/file_storage/file_storage_client_composite_operations.py +2068 -0
- oci/file_storage/models/__init__.py +130 -0
- oci/file_storage/models/change_file_system_compartment_details.py +76 -0
- oci/file_storage/models/change_filesystem_snapshot_policy_compartment_details.py +76 -0
- oci/file_storage/models/change_mount_target_compartment_details.py +76 -0
- oci/file_storage/models/change_outbound_connector_compartment_details.py +78 -0
- oci/file_storage/models/change_replication_compartment_details.py +76 -0
- oci/file_storage/models/client_options.py +389 -0
- oci/file_storage/models/create_export_details.py +303 -0
- oci/file_storage/models/create_file_system_details.py +425 -0
- oci/file_storage/models/create_filesystem_snapshot_policy_details.py +337 -0
- oci/file_storage/models/create_kerberos_details.py +200 -0
- oci/file_storage/models/create_ldap_bind_account_details.py +220 -0
- oci/file_storage/models/create_ldap_idmap_details.py +317 -0
- oci/file_storage/models/create_mount_target_details.py +581 -0
- oci/file_storage/models/create_outbound_connector_details.py +309 -0
- oci/file_storage/models/create_replication_details.py +325 -0
- oci/file_storage/models/create_snapshot_details.py +261 -0
- oci/file_storage/models/endpoint.py +103 -0
- oci/file_storage/models/export.py +456 -0
- oci/file_storage/models/export_set.py +411 -0
- oci/file_storage/models/export_set_summary.py +316 -0
- oci/file_storage/models/export_summary.py +343 -0
- oci/file_storage/models/file_system.py +818 -0
- oci/file_storage/models/file_system_summary.py +659 -0
- oci/file_storage/models/filesystem_snapshot_policy.py +473 -0
- oci/file_storage/models/filesystem_snapshot_policy_summary.py +429 -0
- oci/file_storage/models/kerberos.py +200 -0
- oci/file_storage/models/kerberos_keytab_entry.py +166 -0
- oci/file_storage/models/key_tab_secret_details.py +138 -0
- oci/file_storage/models/ldap_bind_account.py +243 -0
- oci/file_storage/models/ldap_bind_account_summary.py +176 -0
- oci/file_storage/models/ldap_idmap.py +317 -0
- oci/file_storage/models/mount_target.py +828 -0
- oci/file_storage/models/mount_target_summary.py +696 -0
- oci/file_storage/models/outbound_connector.py +453 -0
- oci/file_storage/models/outbound_connector_summary.py +438 -0
- oci/file_storage/models/replication.py +740 -0
- oci/file_storage/models/replication_estimate.py +196 -0
- oci/file_storage/models/replication_summary.py +491 -0
- oci/file_storage/models/replication_target.py +679 -0
- oci/file_storage/models/replication_target_summary.py +425 -0
- oci/file_storage/models/resource_lock.py +185 -0
- oci/file_storage/models/schedule_downgrade_shape_mount_target_details.py +78 -0
- oci/file_storage/models/snapshot.py +638 -0
- oci/file_storage/models/snapshot_schedule.py +487 -0
- oci/file_storage/models/snapshot_summary.py +601 -0
- oci/file_storage/models/source_details.py +119 -0
- oci/file_storage/models/update_export_details.py +111 -0
- oci/file_storage/models/update_export_set_details.py +172 -0
- oci/file_storage/models/update_file_system_details.py +246 -0
- oci/file_storage/models/update_filesystem_snapshot_policy_details.py +236 -0
- oci/file_storage/models/update_kerberos_details.py +200 -0
- oci/file_storage/models/update_ldap_idmap_details.py +317 -0
- oci/file_storage/models/update_mount_target_details.py +286 -0
- oci/file_storage/models/update_outbound_connector_details.py +158 -0
- oci/file_storage/models/update_replication_details.py +189 -0
- oci/file_storage/models/update_snapshot_details.py +156 -0
- oci/file_storage/models/upgrade_shape_mount_target_details.py +78 -0
- oci/file_storage/models/validate_key_tabs_details.py +103 -0
- oci/file_storage/models/validate_key_tabs_response_details.py +103 -0
- oci/functions/__init__.py +16 -0
- oci/functions/functions_invoke_client.py +267 -0
- oci/functions/functions_invoke_client_composite_operations.py +26 -0
- oci/functions/functions_management_client.py +2056 -0
- oci/functions/functions_management_client_composite_operations.py +326 -0
- oci/functions/models/__init__.py +74 -0
- oci/functions/models/application.py +628 -0
- oci/functions/models/application_summary.py +512 -0
- oci/functions/models/application_trace_config.py +103 -0
- oci/functions/models/change_application_compartment_details.py +78 -0
- oci/functions/models/config_details.py +134 -0
- oci/functions/models/constant_provisioned_concurrency_config.py +82 -0
- oci/functions/models/create_application_details.py +446 -0
- oci/functions/models/create_function_details.py +437 -0
- oci/functions/models/function.py +734 -0
- oci/functions/models/function_provisioned_concurrency_config.py +109 -0
- oci/functions/models/function_source_details.py +101 -0
- oci/functions/models/function_summary.py +657 -0
- oci/functions/models/function_trace_config.py +72 -0
- oci/functions/models/image_policy_config.py +103 -0
- oci/functions/models/key_details.py +76 -0
- oci/functions/models/none_provisioned_concurrency_config.py +51 -0
- oci/functions/models/pbf_listing.py +408 -0
- oci/functions/models/pbf_listing_summary.py +386 -0
- oci/functions/models/pbf_listing_version.py +467 -0
- oci/functions/models/pbf_listing_version_summary.py +446 -0
- oci/functions/models/pbf_listing_versions_collection.py +73 -0
- oci/functions/models/pbf_listings_collection.py +72 -0
- oci/functions/models/policy_details.py +103 -0
- oci/functions/models/pre_built_function_source_details.py +88 -0
- oci/functions/models/publisher_details.py +72 -0
- oci/functions/models/requirement_details.py +106 -0
- oci/functions/models/trigger.py +72 -0
- oci/functions/models/trigger_summary.py +72 -0
- oci/functions/models/triggers_collection.py +72 -0
- oci/functions/models/update_application_details.py +290 -0
- oci/functions/models/update_function_details.py +346 -0
- oci/load_balancer/__init__.py +14 -0
- oci/load_balancer/load_balancer_client.py +7641 -0
- oci/load_balancer/load_balancer_client_composite_operations.py +1630 -0
- oci/load_balancer/models/__init__.py +186 -0
- oci/load_balancer/models/action.py +97 -0
- oci/load_balancer/models/add_http_request_header_rule.py +134 -0
- oci/load_balancer/models/add_http_response_header_rule.py +137 -0
- oci/load_balancer/models/allow_rule.py +123 -0
- oci/load_balancer/models/backend.py +350 -0
- oci/load_balancer/models/backend_details.py +312 -0
- oci/load_balancer/models/backend_health.py +143 -0
- oci/load_balancer/models/backend_set.py +305 -0
- oci/load_balancer/models/backend_set_details.py +262 -0
- oci/load_balancer/models/backend_set_health.py +265 -0
- oci/load_balancer/models/certificate.py +188 -0
- oci/load_balancer/models/certificate_details.py +270 -0
- oci/load_balancer/models/change_load_balancer_compartment_details.py +78 -0
- oci/load_balancer/models/connection_configuration.py +168 -0
- oci/load_balancer/models/control_access_using_http_methods_rule.py +162 -0
- oci/load_balancer/models/create_backend_details.py +316 -0
- oci/load_balancer/models/create_backend_set_details.py +305 -0
- oci/load_balancer/models/create_certificate_details.py +270 -0
- oci/load_balancer/models/create_hostname_details.py +121 -0
- oci/load_balancer/models/create_listener_details.py +387 -0
- oci/load_balancer/models/create_load_balancer_details.py +895 -0
- oci/load_balancer/models/create_path_route_set_details.py +111 -0
- oci/load_balancer/models/create_routing_policy_details.py +154 -0
- oci/load_balancer/models/create_rule_set_details.py +109 -0
- oci/load_balancer/models/create_ssl_cipher_suite_details.py +606 -0
- oci/load_balancer/models/extend_http_request_header_value_rule.py +181 -0
- oci/load_balancer/models/extend_http_response_header_value_rule.py +181 -0
- oci/load_balancer/models/forward_to_backend_set.py +86 -0
- oci/load_balancer/models/health_check_result.py +219 -0
- oci/load_balancer/models/health_checker.py +381 -0
- oci/load_balancer/models/health_checker_details.py +376 -0
- oci/load_balancer/models/hostname.py +121 -0
- oci/load_balancer/models/hostname_details.py +117 -0
- oci/load_balancer/models/http_header_rule.py +127 -0
- oci/load_balancer/models/ip_address.py +142 -0
- oci/load_balancer/models/ip_based_max_connections_rule.py +118 -0
- oci/load_balancer/models/ip_max_connections.py +111 -0
- oci/load_balancer/models/lb_cookie_session_persistence_configuration_details.py +423 -0
- oci/load_balancer/models/listener.py +383 -0
- oci/load_balancer/models/listener_details.py +344 -0
- oci/load_balancer/models/listener_rule_summary.py +104 -0
- oci/load_balancer/models/load_balancer.py +1023 -0
- oci/load_balancer/models/load_balancer_health.py +281 -0
- oci/load_balancer/models/load_balancer_health_summary.py +167 -0
- oci/load_balancer/models/load_balancer_policy.py +80 -0
- oci/load_balancer/models/load_balancer_protocol.py +76 -0
- oci/load_balancer/models/load_balancer_shape.py +80 -0
- oci/load_balancer/models/path_match_condition.py +166 -0
- oci/load_balancer/models/path_match_type.py +126 -0
- oci/load_balancer/models/path_route.py +156 -0
- oci/load_balancer/models/path_route_set.py +112 -0
- oci/load_balancer/models/path_route_set_details.py +72 -0
- oci/load_balancer/models/redirect_rule.py +173 -0
- oci/load_balancer/models/redirect_uri.py +420 -0
- oci/load_balancer/models/remove_http_request_header_rule.py +90 -0
- oci/load_balancer/models/remove_http_response_header_rule.py +92 -0
- oci/load_balancer/models/reserved_ip.py +90 -0
- oci/load_balancer/models/routing_policy.py +152 -0
- oci/load_balancer/models/routing_policy_details.py +73 -0
- oci/load_balancer/models/routing_rule.py +135 -0
- oci/load_balancer/models/rule.py +177 -0
- oci/load_balancer/models/rule_condition.py +121 -0
- oci/load_balancer/models/rule_set.py +113 -0
- oci/load_balancer/models/rule_set_details.py +72 -0
- oci/load_balancer/models/session_persistence_configuration_details.py +136 -0
- oci/load_balancer/models/shape_details.py +121 -0
- oci/load_balancer/models/source_ip_address_condition.py +90 -0
- oci/load_balancer/models/source_vcn_id_condition.py +98 -0
- oci/load_balancer/models/source_vcn_ip_address_condition.py +97 -0
- oci/load_balancer/models/ssl_cipher_suite.py +606 -0
- oci/load_balancer/models/ssl_cipher_suite_details.py +606 -0
- oci/load_balancer/models/ssl_configuration.py +478 -0
- oci/load_balancer/models/ssl_configuration_details.py +476 -0
- oci/load_balancer/models/update_backend_details.py +242 -0
- oci/load_balancer/models/update_backend_set_details.py +264 -0
- oci/load_balancer/models/update_health_checker_details.py +374 -0
- oci/load_balancer/models/update_hostname_details.py +86 -0
- oci/load_balancer/models/update_listener_details.py +344 -0
- oci/load_balancer/models/update_load_balancer_details.py +356 -0
- oci/load_balancer/models/update_load_balancer_shape_details.py +127 -0
- oci/load_balancer/models/update_network_security_groups_details.py +99 -0
- oci/load_balancer/models/update_path_route_set_details.py +72 -0
- oci/load_balancer/models/update_routing_policy_details.py +115 -0
- oci/load_balancer/models/update_rule_set_details.py +72 -0
- oci/load_balancer/models/update_ssl_cipher_suite_details.py +300 -0
- oci/load_balancer/models/work_request.py +385 -0
- oci/load_balancer/models/work_request_error.py +115 -0
- oci/version.py +1 -1
- {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/LICENSE.txt +0 -0
- {mv_oci_sdk-2.142.0.dist-info → mv_oci_sdk-2.142.0.1.dist-info}/WHEEL +0 -0
- {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
|