class OCI::Waas::RedirectClient
OCI
Web Application Acceleration and Security Services
Attributes
Client used to make HTTP requests. @return [OCI::ApiClient]
Fully qualified endpoint URL @return [String]
The region, which will usually correspond to a value in {OCI::Regions::REGION_ENUM}. @return [String]
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
Creates a new RedirectClient
. 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/waas/redirect_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 + '/20181116' else region ||= config.region region ||= signer.region if signer.respond_to?(:region) self.region = region end logger.info "RedirectClient endpoint set to '#{@endpoint}'." if logger end
Public Instance Methods
Moves HTTP Redirect into a different compartment. When provided, If-Match is checked against ETag values of the WAAS policy. @param [String] http_redirect_id The [OCID](docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the HTTP Redirect. @param [OCI::Waas::Models::ChangeHttpRedirectCompartmentDetails] change_http_redirect_compartment_details @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 provided 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. @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry
tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
*Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
@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/waas/change_http_redirect_compartment.rb.html) to see an example of how to use change_http_redirect_compartment
API.
# File lib/oci/waas/redirect_client.rb, line 113 def change_http_redirect_compartment(http_redirect_id, change_http_redirect_compartment_details, opts = {}) logger.debug 'Calling operation RedirectClient#change_http_redirect_compartment.' if logger raise "Missing the required parameter 'http_redirect_id' when calling change_http_redirect_compartment." if http_redirect_id.nil? raise "Missing the required parameter 'change_http_redirect_compartment_details' when calling change_http_redirect_compartment." if change_http_redirect_compartment_details.nil? raise "Parameter value for 'http_redirect_id' must not be blank" if OCI::Internal::Util.blank_string?(http_redirect_id) path = '/httpRedirects/{httpRedirectId}/actions/changeCompartment'.sub('{httpRedirectId}', http_redirect_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] header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token] # rubocop:enable Style/NegatedIf header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token post_body = @api_client.object_to_http_body(change_http_redirect_compartment_details) # rubocop:disable Metrics/BlockLength OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'RedirectClient#change_http_redirect_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
Creates a new HTTP Redirect on the WAF edge. @param [OCI::Waas::Models::CreateHttpRedirectDetails] create_http_redirect_details The details of the HTTP Redirect. @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. @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry
tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
*Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
@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/waas/create_http_redirect.rb.html) to see an example of how to use create_http_redirect
API.
# File lib/oci/waas/redirect_client.rb, line 172 def create_http_redirect(create_http_redirect_details, opts = {}) logger.debug 'Calling operation RedirectClient#create_http_redirect.' if logger raise "Missing the required parameter 'create_http_redirect_details' when calling create_http_redirect." if create_http_redirect_details.nil? path = '/httpRedirects' 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] header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token] # rubocop:enable Style/NegatedIf header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token post_body = @api_client.object_to_http_body(create_http_redirect_details) # rubocop:disable Metrics/BlockLength OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'RedirectClient#create_http_redirect') 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
Deletes a redirect. @param [String] http_redirect_id The [OCID](docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the HTTP Redirect. @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. @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry
tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
*Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
@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 provided matches the resource's current etag value. @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/waas/delete_http_redirect.rb.html) to see an example of how to use delete_http_redirect
API.
# File lib/oci/waas/redirect_client.rb, line 229 def delete_http_redirect(http_redirect_id, opts = {}) logger.debug 'Calling operation RedirectClient#delete_http_redirect.' if logger raise "Missing the required parameter 'http_redirect_id' when calling delete_http_redirect." if http_redirect_id.nil? raise "Parameter value for 'http_redirect_id' must not be blank" if OCI::Internal::Util.blank_string?(http_redirect_id) path = '/httpRedirects/{httpRedirectId}'.sub('{httpRedirectId}', http_redirect_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] header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token] header_params[:'if-match'] = opts[:if_match] if opts[:if_match] # rubocop:enable Style/NegatedIf header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token post_body = nil # rubocop:disable Metrics/BlockLength OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'RedirectClient#delete_http_redirect') 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
Gets the details of a HTTP Redirect. @param [String] http_redirect_id The [OCID](docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the HTTP Redirect. @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::Waas::Models::HttpRedirect HttpRedirect} @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/waas/get_http_redirect.rb.html) to see an example of how to use get_http_redirect
API.
# File lib/oci/waas/redirect_client.rb, line 285 def get_http_redirect(http_redirect_id, opts = {}) logger.debug 'Calling operation RedirectClient#get_http_redirect.' if logger raise "Missing the required parameter 'http_redirect_id' when calling get_http_redirect." if http_redirect_id.nil? raise "Parameter value for 'http_redirect_id' must not be blank" if OCI::Internal::Util.blank_string?(http_redirect_id) path = '/httpRedirects/{httpRedirectId}'.sub('{httpRedirectId}', http_redirect_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: 'RedirectClient#get_http_redirect') 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::Waas::Models::HttpRedirect' ) end # rubocop:enable Metrics/BlockLength end
Gets a list of HTTP Redirects. @param [String] compartment_id The [OCID](docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. This number is generated when the compartment is created. @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. @option opts [Integer] :limit The maximum number of items to return in a paginated call. If unspecified, defaults to `10`. (default to 10) @option opts [String] :page The value of the `opc-next-page` response header from the previous paginated call. @option opts [String] :sort_order The value of the sorting direction of resources in a paginated 'List' call. If unspecified, defaults to `DESC`.
Allowed values are: ASC, DESC
@option opts [String] :sort_by The field to sort the results of the List query.
Allowed values are: id, domain, target, displayName
@option opts [Array<String>] :id Filter redirects using a list of redirect OCIDs. @option opts [Array<String>] :display_name Filter redirects using a display name. @option opts [Array<String>] :lifecycle_state Filter redirects using a list of lifecycle states. (default to [ACTIVE])
Allowed values are: CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED
@option opts [DateTime] :time_created_greater_than_or_equal_to A filter that matches redirects created on or after the specified date and time. @option opts [DateTime] :time_created_less_than A filter that matches redirects created before the specified date-time. Default to 1 day before now. @return [Response] A Response
object with data of type Array<{OCI::Waas::Models::HttpRedirectSummary HttpRedirectSummary}> @note Click [here](docs.cloud.oracle.com/en-us/iaas/tools/ruby-sdk-examples/latest/waas/list_http_redirects.rb.html) to see an example of how to use list_http_redirects
API.
# File lib/oci/waas/redirect_client.rb, line 351 def list_http_redirects(compartment_id, opts = {}) logger.debug 'Calling operation RedirectClient#list_http_redirects.' if logger raise "Missing the required parameter 'compartment_id' when calling list_http_redirects." if compartment_id.nil? 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[id domain target displayName].include?(opts[:sort_by]) raise 'Invalid value for "sort_by", must be one of id, domain, target, displayName.' end lifecycle_state_allowable_values = %w[CREATING ACTIVE FAILED UPDATING DELETING DELETED] if opts[:lifecycle_state] && !opts[:lifecycle_state].empty? opts[:lifecycle_state].each do |val_to_check| unless lifecycle_state_allowable_values.include?(val_to_check) raise 'Invalid value for "lifecycle_state", must be one of CREATING, ACTIVE, FAILED, UPDATING, DELETING, DELETED.' end end end path = '/httpRedirects' 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[:sortOrder] = opts[:sort_order] if opts[:sort_order] query_params[:sortBy] = opts[:sort_by] if opts[:sort_by] query_params[:id] = OCI::ApiClient.build_collection_params(opts[:id], :multi) if opts[:id] && !opts[:id].empty? query_params[:displayName] = OCI::ApiClient.build_collection_params(opts[:display_name], :multi) if opts[:display_name] && !opts[:display_name].empty? query_params[:lifecycleState] = OCI::ApiClient.build_collection_params(opts[:lifecycle_state], :multi) if opts[:lifecycle_state] && !opts[:lifecycle_state].empty? query_params[:timeCreatedGreaterThanOrEqualTo] = opts[:time_created_greater_than_or_equal_to] if opts[:time_created_greater_than_or_equal_to] query_params[:timeCreatedLessThan] = opts[:time_created_less_than] if opts[:time_created_less_than] # 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: 'RedirectClient#list_http_redirects') 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::Waas::Models::HttpRedirectSummary>' ) end # rubocop:enable Metrics/BlockLength end
@return [Logger] The logger for this client. May be nil.
# File lib/oci/waas/redirect_client.rb, line 92 def logger @api_client.config.logger end
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/waas/redirect_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://waas.{region}.oci.{secondLevelDomain}') + '/20181116' logger.info "RedirectClient endpoint set to '#{@endpoint} from region #{@region}'." if logger end
Updates the details of a HTTP Redirect, including target and tags. Only the fields specified in the request body will be updated; all other properties will remain unchanged. @param [String] http_redirect_id The [OCID](docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the HTTP Redirect. @param [OCI::Waas::Models::UpdateHttpRedirectDetails] update_http_redirect_details The details of the HTTP Redirect to update. @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. @option opts [String] :opc_retry_token A token that uniquely identifies a request so it can be retried in case of a timeout or server error without risk of executing that same action again. Retry
tokens expire after 24 hours, but can be invalidated before then due to conflicting operations
*Example:* If a resource has been deleted and purged from the system, then a retry of the original delete request may be rejected.
@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 provided matches the resource's current etag value. @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/waas/update_http_redirect.rb.html) to see an example of how to use update_http_redirect
API.
# File lib/oci/waas/redirect_client.rb, line 436 def update_http_redirect(http_redirect_id, update_http_redirect_details, opts = {}) logger.debug 'Calling operation RedirectClient#update_http_redirect.' if logger raise "Missing the required parameter 'http_redirect_id' when calling update_http_redirect." if http_redirect_id.nil? raise "Missing the required parameter 'update_http_redirect_details' when calling update_http_redirect." if update_http_redirect_details.nil? raise "Parameter value for 'http_redirect_id' must not be blank" if OCI::Internal::Util.blank_string?(http_redirect_id) path = '/httpRedirects/{httpRedirectId}'.sub('{httpRedirectId}', http_redirect_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] header_params[:'opc-retry-token'] = opts[:opc_retry_token] if opts[:opc_retry_token] header_params[:'if-match'] = opts[:if_match] if opts[:if_match] # rubocop:enable Style/NegatedIf header_params[:'opc-retry-token'] ||= OCI::Retry.generate_opc_retry_token post_body = @api_client.object_to_http_body(update_http_redirect_details) # rubocop:disable Metrics/BlockLength OCI::Retry.make_retrying_call(applicable_retry_config(opts), call_name: 'RedirectClient#update_http_redirect') 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 ) end # rubocop:enable Metrics/BlockLength end
Private Instance Methods
rubocop:enable Metrics/CyclomaticComplexity, Metrics/AbcSize, Metrics/PerceivedComplexity rubocop:enable Style/IfUnlessModifier, Metrics/ParameterLists rubocop:enable Metrics/MethodLength, Layout/EmptyLines
# File lib/oci/waas/redirect_client.rb, line 482 def applicable_retry_config(opts = {}) return @retry_config unless opts.key?(:retry_config) opts[:retry_config] end