# This is an automatically generated code sample.
# To make this code sample work in your Oracle Cloud tenancy,
# please replace the values for any parameters whose current values do not fit
# your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
# boolean, number, and enum parameters with values not fitting your use case).

require 'oci'

# Create a default config using DEFAULT profile in default location
# Refer to https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File for more info
config = OCI::ConfigFileLoader.load_config

# Initialize service client with default config file
waas_client = OCI::Waas::WaasClient.new(config: config)

# Send the request to service, some parameters are not required, see API doc for more info
update_policy_config_response =
  waas_client.update_policy_config(
    'ocid1.test.oc1..<unique_ID>EXAMPLE-waasPolicyId-Value',
    OCI::Waas::Models::PolicyConfig.new(
      certificate_id: 'ocid1.test.oc1..<unique_ID>EXAMPLE-certificateId-Value',
      is_https_enabled: false,
      is_https_forced: false,
      tls_protocols: %w[TLS_V1_3],
      is_origin_compression_enabled: true,
      is_behind_cdn: false,
      client_address_header: 'CLIENT_IP',
      is_cache_control_respected: false,
      is_response_buffering_enabled: true,
      cipher_group: 'DEFAULT',
      load_balancing_method:
        OCI::Waas::Models::RoundRobinLoadBalancingMethod.new(
          method: 'ROUND_ROBIN'
        ),
      websocket_path_prefixes: %w[EXAMPLE--Value],
      is_sni_enabled: false,
      health_checks:
        OCI::Waas::Models::HealthCheck.new(
          is_enabled: false,
          method: 'POST',
          path: 'EXAMPLE-path-Value',
          headers: {
            'EXAMPLE_KEY_yuqcZ' => 'EXAMPLE_VALUE_jnWk9kUkzO7ZiQsMMvkm'
          },
          expected_response_code_group: %w[3XX],
          is_response_text_check_enabled: false,
          expected_response_text: 'EXAMPLE-expectedResponseText-Value',
          interval_in_seconds: 93,
          timeout_in_seconds: 65,
          healthy_threshold: 19,
          unhealthy_threshold: 6
        )
    )
  )

# Get the data from response
puts "#{update_policy_config_response.headers}"