class OCI::Functions::FunctionsManagementClient

API for the Functions service.

Attributes

api_client[R]

Client used to make HTTP requests. @return [OCI::ApiClient]

endpoint[R]

Fully qualified endpoint URL @return [String]

region[R]

The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}. @return [String]

retry_config[R]

The default retry configuration to apply to all operations in this service client. This can be overridden on a per-operation basis. The default retry configuration value is `nil`, which means that an operation will not perform any retries @return [OCI::Retry::RetryConfig]

Public Class Methods

new(config: nil, region: nil, endpoint: nil, signer: nil, proxy_settings: nil, retry_config: nil) click to toggle source

Creates a new FunctionsManagementClient. Notes:

If a config is not specified, then the global OCI.config will be used.

This client is not thread-safe

Either a region or an endpoint must be specified.  If an endpoint is specified, it will be used instead of the
  region. A region may be specified in the config or via or the region parameter. If specified in both, then the
  region parameter will be used.

@param [Config] config A Config object. @param [String] region A region used to determine the service endpoint. This will usually

correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.

@param [String] endpoint The fully qualified endpoint URL @param [OCI::BaseSigner] signer A signer implementation which can be used by this client. If this is not provided then

a signer will be constructed via the provided config. One use case of this parameter is instance principals authentication,
so that the instance principals signer can be provided to the client

@param [OCI::ApiClientProxySettings] proxy_settings If your environment requires you to use a proxy server for outgoing HTTP requests

the details for the proxy can be provided in this parameter

@param [OCI::Retry::RetryConfig] retry_config The retry configuration for this service client. This represents the default retry configuration to

apply across all operations. This can be overridden on a per-operation basis. The default retry configuration value is `nil`, which means that an operation
will not perform any retries
# File lib/oci/functions/functions_management_client.rb, line 53
def initialize(config: nil, region: nil, endpoint: nil, signer: nil, proxy_settings: nil, retry_config: nil)
  # If the signer is an InstancePrincipalsSecurityTokenSigner or SecurityTokenSigner and no config was supplied (they are self-sufficient signers)
  # then create a dummy config to pass to the ApiClient constructor. If customers wish to create a client which uses instance principals
  # and has config (either populated programmatically or loaded from a file), they must construct that config themselves and then
  # pass it to this constructor.
  #
  # If there is no signer (or the signer is not an instance principals signer) and no config was supplied, this is not valid
  # so try and load the config from the default file.
  config = OCI::Config.validate_and_build_config_with_signer(config, signer)

  signer = OCI::Signer.config_file_auth_builder(config) if signer.nil?

  @api_client = OCI::ApiClient.new(config, signer, proxy_settings: proxy_settings)
  @retry_config = retry_config

  if endpoint
    @endpoint = endpoint + '/20181201'
  else
    region ||= config.region
    region ||= signer.region if signer.respond_to?(:region)
    self.region = region
  end
  logger.info "FunctionsManagementClient endpoint set to '#{@endpoint}'." if logger
end

Public Instance Methods

change_application_compartment(application_id, change_application_compartment_details, opts = {}) click to toggle source

Moves an application into a different compartment within the same tenancy. For information about moving resources between compartments, see [Moving Resources Between Compartments](docs.cloud.oracle.com/iaas/Content/Identity/Tasks/managingcompartments.htm#moveRes).

@param [String] application_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this application.

@param [OCI::Functions::Models::ChangeApplicationCompartmentDetails] change_application_compartment_details Properties to change the compartment of an application. @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/change_application_compartment.rb.html) to see an example of how to use change_application_compartment API.

# File lib/oci/functions/functions_management_client.rb, line 119
def change_application_compartment(application_id, change_application_compartment_details, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#change_application_compartment.' if logger

  raise "Missing the required parameter 'application_id' when calling change_application_compartment." if application_id.nil?
  raise "Missing the required parameter 'change_application_compartment_details' when calling change_application_compartment." if change_application_compartment_details.nil?
  raise "Parameter value for 'application_id' must not be blank" if OCI::Internal::Util.blank_string?(application_id)

  path = '/applications/{applicationId}/actions/changeCompartment'.sub('{applicationId}', application_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(change_application_compartment_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#change_application_compartment') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_application(create_application_details, opts = {}) click to toggle source

Creates a new application. @param [OCI::Functions::Models::CreateApplicationDetails] create_application_details Specification of the application to create @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Functions::Models::Application Application} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/create_application.rb.html) to see an example of how to use create_application API.

# File lib/oci/functions/functions_management_client.rb, line 176
def create_application(create_application_details, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#create_application.' if logger

  raise "Missing the required parameter 'create_application_details' when calling create_application." if create_application_details.nil?

  path = '/applications'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(create_application_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#create_application') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Functions::Models::Application'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
create_function(create_function_details, opts = {}) click to toggle source

Creates a new function. @param [OCI::Functions::Models::CreateFunctionDetails] create_function_details Specification of the function to create @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Functions::Models::Function Function} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/create_function.rb.html) to see an example of how to use create_function API.

# File lib/oci/functions/functions_management_client.rb, line 231
def create_function(create_function_details, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#create_function.' if logger

  raise "Missing the required parameter 'create_function_details' when calling create_function." if create_function_details.nil?

  path = '/functions'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(create_function_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#create_function') do
    @api_client.call_api(
      :POST,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Functions::Models::Function'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_application(application_id, opts = {}) click to toggle source

Deletes an application. @param [String] application_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this application.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/delete_application.rb.html) to see an example of how to use delete_application API.

# File lib/oci/functions/functions_management_client.rb, line 291
def delete_application(application_id, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#delete_application.' if logger

  raise "Missing the required parameter 'application_id' when calling delete_application." if application_id.nil?
  raise "Parameter value for 'application_id' must not be blank" if OCI::Internal::Util.blank_string?(application_id)

  path = '/applications/{applicationId}'.sub('{applicationId}', application_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#delete_application') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
delete_function(function_id, opts = {}) click to toggle source

Deletes a function. @param [String] function_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this function.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type nil @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/delete_function.rb.html) to see an example of how to use delete_function API.

# File lib/oci/functions/functions_management_client.rb, line 352
def delete_function(function_id, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#delete_function.' if logger

  raise "Missing the required parameter 'function_id' when calling delete_function." if function_id.nil?
  raise "Parameter value for 'function_id' must not be blank" if OCI::Internal::Util.blank_string?(function_id)

  path = '/functions/{functionId}'.sub('{functionId}', function_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#delete_function') do
    @api_client.call_api(
      :DELETE,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_application(application_id, opts = {}) click to toggle source

Retrieves an application. @param [String] application_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this application.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Functions::Models::Application Application} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/get_application.rb.html) to see an example of how to use get_application API.

# File lib/oci/functions/functions_management_client.rb, line 409
def get_application(application_id, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#get_application.' if logger

  raise "Missing the required parameter 'application_id' when calling get_application." if application_id.nil?
  raise "Parameter value for 'application_id' must not be blank" if OCI::Internal::Util.blank_string?(application_id)

  path = '/applications/{applicationId}'.sub('{applicationId}', application_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#get_application') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Functions::Models::Application'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
get_function(function_id, opts = {}) click to toggle source

Retrieves a function. @param [String] function_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this function.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Functions::Models::Function Function} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/get_function.rb.html) to see an example of how to use get_function API.

# File lib/oci/functions/functions_management_client.rb, line 466
def get_function(function_id, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#get_function.' if logger

  raise "Missing the required parameter 'function_id' when calling get_function." if function_id.nil?
  raise "Parameter value for 'function_id' must not be blank" if OCI::Internal::Util.blank_string?(function_id)

  path = '/functions/{functionId}'.sub('{functionId}', function_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#get_function') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Functions::Models::Function'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_applications(compartment_id, opts = {}) click to toggle source

Lists applications for a compartment. @param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment to which this resource belongs.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [Integer] :limit The maximum number of items to return. 1 is the minimum, 50 is the maximum.

Default: 10
 (default to 5)

@option opts [String] :page The pagination token for a list query returned by a previous operation

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@option opts [String] :lifecycle_state A filter to return only applications that match the lifecycle state in this parameter.

Example: `Creating`

@option opts [String] :display_name A filter to return only applications with display names that match the display name string. Matching is exact.

@option opts [String] :id A filter to return only applications with the specified OCID.

@option opts [String] :sort_order Specifies sort order.

* **ASC:** Ascending sort order.
* **DESC:** Descending sort order.
 (default to ASC)
Allowed values are: ASC, DESC

@option opts [String] :sort_by Specifies the attribute with which to sort the rules.

Default: `displayName`

* **timeCreated:** Sorts by timeCreated.
* **displayName:** Sorts by displayName.
* **id:** Sorts by id.
 (default to displayName)
Allowed values are: timeCreated, id, displayName

@return [Response] A Response object with data of type Array<{OCI::Functions::Models::ApplicationSummary ApplicationSummary}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/list_applications.rb.html) to see an example of how to use list_applications API.

# File lib/oci/functions/functions_management_client.rb, line 551
def list_applications(compartment_id, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#list_applications.' if logger

  raise "Missing the required parameter 'compartment_id' when calling list_applications." if compartment_id.nil?

  if opts[:lifecycle_state] && !OCI::Functions::Models::Application::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Functions::Models::Application::LIFECYCLE_STATE_ENUM.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:sort_by] && !%w[timeCreated id displayName].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of timeCreated, id, displayName.'
  end

  path = '/applications'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:compartmentId] = compartment_id
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:id] = opts[:id] if opts[:id]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#list_applications') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Functions::Models::ApplicationSummary>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
list_functions(application_id, opts = {}) click to toggle source

Lists functions for an application. @param [String] application_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the application to which this function belongs.

@param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [Integer] :limit The maximum number of items to return. 1 is the minimum, 50 is the maximum.

Default: 10
 (default to 5)

@option opts [String] :page The pagination token for a list query returned by a previous operation

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@option opts [String] :lifecycle_state A filter to return only functions that match the lifecycle state in this parameter.

Example: `Creating`

@option opts [String] :display_name A filter to return only functions with display names that match the display name string. Matching is exact.

@option opts [String] :id A filter to return only functions with the specified OCID.

@option opts [String] :sort_order Specifies sort order.

* **ASC:** Ascending sort order.
* **DESC:** Descending sort order.
 (default to ASC)
Allowed values are: ASC, DESC

@option opts [String] :sort_by Specifies the attribute with which to sort the rules.

Default: `displayName`

* **timeCreated:** Sorts by timeCreated.
* **displayName:** Sorts by displayName.
* **id:** Sorts by id.
 (default to displayName)
Allowed values are: timeCreated, id, displayName

@return [Response] A Response object with data of type Array<{OCI::Functions::Models::FunctionSummary FunctionSummary}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/list_functions.rb.html) to see an example of how to use list_functions API.

# File lib/oci/functions/functions_management_client.rb, line 655
def list_functions(application_id, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#list_functions.' if logger

  raise "Missing the required parameter 'application_id' when calling list_functions." if application_id.nil?

  if opts[:lifecycle_state] && !OCI::Functions::Models::Function::LIFECYCLE_STATE_ENUM.include?(opts[:lifecycle_state])
    raise 'Invalid value for "lifecycle_state", must be one of the values in OCI::Functions::Models::Function::LIFECYCLE_STATE_ENUM.'
  end

  if opts[:sort_order] && !%w[ASC DESC].include?(opts[:sort_order])
    raise 'Invalid value for "sort_order", must be one of ASC, DESC.'
  end

  if opts[:sort_by] && !%w[timeCreated id displayName].include?(opts[:sort_by])
    raise 'Invalid value for "sort_by", must be one of timeCreated, id, displayName.'
  end

  path = '/functions'
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}
  query_params[:applicationId] = application_id
  query_params[:limit] = opts[:limit] if opts[:limit]
  query_params[:page] = opts[:page] if opts[:page]
  query_params[:lifecycleState] = opts[:lifecycle_state] if opts[:lifecycle_state]
  query_params[:displayName] = opts[:display_name] if opts[:display_name]
  query_params[:id] = opts[:id] if opts[:id]
  query_params[:sortOrder] = opts[:sort_order] if opts[:sort_order]
  query_params[:sortBy] = opts[:sort_by] if opts[:sort_by]

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = nil

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#list_functions') do
    @api_client.call_api(
      :GET,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'Array<OCI::Functions::Models::FunctionSummary>'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
logger() click to toggle source

@return [Logger] The logger for this client. May be nil.

# File lib/oci/functions/functions_management_client.rb, line 92
def logger
  @api_client.config.logger
end
region=(new_region) click to toggle source

Set the region that will be used to determine the service endpoint. This will usually correspond to a value in {OCI::Regions::REGION_ENUM}, but may be an arbitrary string.

# File lib/oci/functions/functions_management_client.rb, line 82
def region=(new_region)
  @region = new_region

  raise 'A region must be specified.' unless @region

  @endpoint = OCI::Regions.get_service_endpoint_for_template(@region, 'https://functions.{region}.oci.{secondLevelDomain}') + '/20181201'
  logger.info "FunctionsManagementClient endpoint set to '#{@endpoint} from region #{@region}'." if logger
end
update_application(application_id, update_application_details, opts = {}) click to toggle source

Modifies an application @param [String] application_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this application.

@param [OCI::Functions::Models::UpdateApplicationDetails] update_application_details The new application spec to apply @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Functions::Models::Application Application} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/update_application.rb.html) to see an example of how to use update_application API.

# File lib/oci/functions/functions_management_client.rb, line 736
def update_application(application_id, update_application_details, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#update_application.' if logger

  raise "Missing the required parameter 'application_id' when calling update_application." if application_id.nil?
  raise "Missing the required parameter 'update_application_details' when calling update_application." if update_application_details.nil?
  raise "Parameter value for 'application_id' must not be blank" if OCI::Internal::Util.blank_string?(application_id)

  path = '/applications/{applicationId}'.sub('{applicationId}', application_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_application_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#update_application') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Functions::Models::Application'
    )
  end
  # rubocop:enable Metrics/BlockLength
end
update_function(function_id, update_function_details, opts = {}) click to toggle source

Modifies a function @param [String] function_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this function.

@param [OCI::Functions::Models::UpdateFunctionDetails] update_function_details The new function spec to apply @param [Hash] opts the optional parameters @option opts [OCI::Retry::RetryConfig] :retry_config The retry configuration to apply to this operation. If no key is provided then the service-level

retry configuration defined by {#retry_config} will be used. If an explicit `nil` value is provided then the operation will not retry

@option opts [String] :if_match For optimistic concurrency control. In the PUT or DELETE call for a resource, set the `if-match`

parameter to the value of the etag from a previous GET or POST response for that resource.  The resource
will be updated or deleted only if the etag you provide matches the resource's current etag value.

@option opts [String] :opc_request_id The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

particular request, please provide the request ID.

@return [Response] A Response object with data of type {OCI::Functions::Models::Function Function} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/functions/update_function.rb.html) to see an example of how to use update_function API.

# File lib/oci/functions/functions_management_client.rb, line 800
def update_function(function_id, update_function_details, opts = {})
  logger.debug 'Calling operation FunctionsManagementClient#update_function.' if logger

  raise "Missing the required parameter 'function_id' when calling update_function." if function_id.nil?
  raise "Missing the required parameter 'update_function_details' when calling update_function." if update_function_details.nil?
  raise "Parameter value for 'function_id' must not be blank" if OCI::Internal::Util.blank_string?(function_id)

  path = '/functions/{functionId}'.sub('{functionId}', function_id.to_s)
  operation_signing_strategy = :standard

  # rubocop:disable Style/NegatedIf
  # Query Params
  query_params = {}

  # Header Params
  header_params = {}
  header_params[:accept] = 'application/json'
  header_params[:'content-type'] = 'application/json'
  header_params[:'if-match'] = opts[:if_match] if opts[:if_match]
  header_params[:'opc-request-id'] = opts[:opc_request_id] if opts[:opc_request_id]
  # rubocop:enable Style/NegatedIf

  post_body = @api_client.object_to_http_body(update_function_details)

  # rubocop:disable Metrics/BlockLength
  OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'FunctionsManagementClient#update_function') do
    @api_client.call_api(
      :PUT,
      path,
      endpoint,
      header_params: header_params,
      query_params: query_params,
      operation_signing_strategy: operation_signing_strategy,
      body: post_body,
      return_type: 'OCI::Functions::Models::Function'
    )
  end
  # rubocop:enable Metrics/BlockLength
end

Private Instance Methods

applicable_retry_config(opts = {}) click to toggle source

rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists rubocop:enable Metrics/MethodLength, Layout/EmptyLines

# File lib/oci/functions/functions_management_client.rb, line 845
def applicable_retry_config(opts = {})
  return @retry_config unless opts.key?(:retry_config)

  opts[:retry_config]
end