# 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).

import 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.config.from_file()


# Initialize service client with default config file
container_engine_client = oci.container_engine.ContainerEngineClient(config)


# Send the request to service, some parameters are not required, see API
# doc for more info
update_cluster_response = container_engine_client.update_cluster(
    cluster_id="ocid1.test.oc1..<unique_ID>EXAMPLE-clusterId-Value",
    update_cluster_details=oci.container_engine.models.UpdateClusterDetails(
        name="EXAMPLE-name-Value",
        kubernetes_version="EXAMPLE-kubernetesVersion-Value",
        options=oci.container_engine.models.UpdateClusterOptionsDetails(
            admission_controller_options=oci.container_engine.models.AdmissionControllerOptions(
                is_pod_security_policy_enabled=True),
            persistent_volume_config=oci.container_engine.models.PersistentVolumeConfigDetails(
                freeform_tags={
                    'EXAMPLE_KEY_IxMn6': 'EXAMPLE_VALUE_TRwKRo0JvVuQvCkwLomk'},
                defined_tags={
                    'EXAMPLE_KEY_nZlEg': {
                        'EXAMPLE_KEY_GHIfs': 'EXAMPLE--Value'}}),
            service_lb_config=oci.container_engine.models.ServiceLbConfigDetails(
                freeform_tags={
                    'EXAMPLE_KEY_NfGig': 'EXAMPLE_VALUE_RIED9BKgIHKPYUc9cDWi'},
                defined_tags={
                    'EXAMPLE_KEY_3sYRy': {
                        'EXAMPLE_KEY_8xahB': 'EXAMPLE--Value'}}),
            open_id_connect_token_authentication_config=oci.container_engine.models.OpenIdConnectTokenAuthenticationConfig(
                is_open_id_connect_auth_enabled=False,
                issuer_url="EXAMPLE-issuerUrl-Value",
                client_id="ocid1.test.oc1..<unique_ID>EXAMPLE-clientId-Value",
                username_claim="EXAMPLE-usernameClaim-Value",
                username_prefix="EXAMPLE-usernamePrefix-Value",
                groups_claim="EXAMPLE-groupsClaim-Value",
                groups_prefix="EXAMPLE-groupsPrefix-Value",
                required_claims=[
                    oci.container_engine.models.KeyValue(
                        key="EXAMPLE-key-Value",
                        value="EXAMPLE-value-Value")],
                ca_certificate="EXAMPLE-caCertificate-Value",
                signing_algorithms=["EXAMPLE--Value"]),
            open_id_connect_discovery=oci.container_engine.models.OpenIdConnectDiscovery(
                is_open_id_connect_discovery_enabled=True)),
        freeform_tags={
            'EXAMPLE_KEY_JboJl': 'EXAMPLE_VALUE_QrAIzAAiJoKsT6PYjwcl'},
        defined_tags={
            'EXAMPLE_KEY_PWoLW': {
                'EXAMPLE_KEY_pYxGo': 'EXAMPLE--Value'}},
        image_policy_config=oci.container_engine.models.UpdateImagePolicyConfigDetails(
            is_policy_enabled=False,
            key_details=[
                oci.container_engine.models.KeyDetails(
                    kms_key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-kmsKeyId-Value")]),
        type="ENHANCED_CLUSTER"),
    if_match="EXAMPLE-ifMatch-Value",
    opc_request_id="H4KJ98MKFN1FYQGMAH6T<unique_ID>")

# Get the data from response
print(update_cluster_response.headers)