# 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
identity_domains_client = oci.identity_domains.IdentityDomainsClient(
    config, "https://endpoint_of_this_service.com")


# Send the request to service, some parameters are not required, see API
# doc for more info
put_schema_response = identity_domains_client.put_schema(
    schema_id="ocid1.test.oc1..<unique_ID>EXAMPLE-schemaId-Value",
    authorization="EXAMPLE-authorization-Value",
    resource_type_schema_version="EXAMPLE-resourceTypeSchemaVersion-Value",
    schema=oci.identity_domains.models.Schema(
        schemas=["EXAMPLE--Value"],
        idcs_mappable=True,
        idcs_maps_to_same_target_attribute_name_as="EXAMPLE-idcsMapsToSameTargetAttributeNameAs-Value",
        external_id="ocid1.test.oc1..<unique_ID>EXAMPLE-externalId-Value",
        name="EXAMPLE-name-Value",
        idcs_resource_types=["EXAMPLE--Value"],
        description="EXAMPLE-description-Value",
        idcs_attribute_cacheable=False,
        idcs_override_common_attribute=False,
        attributes=[
            oci.identity_domains.models.SchemaAttributes(
                name="EXAMPLE-name-Value",
                idcs_display_name_message_id="ocid1.test.oc1..<unique_ID>EXAMPLE-idcsDisplayNameMessageId-Value",
                idcs_rtsa_hide_attribute=False,
                localized_display_name=oci.identity_domains.models.SchemaLocalizedDisplayName(
                    value="EXAMPLE-value-Value",
                    locale="EXAMPLE-locale-Value"),
                type="complex",
                multi_valued=True,
                description="EXAMPLE-description-Value",
                required=True,
                idcs_return_empty_when_null=True,
                canonical_values=["EXAMPLE--Value"],
                idcs_default_value="EXAMPLE-idcsDefaultValue-Value",
                localized_canonical_values=[
                    oci.identity_domains.models.SchemaLocalizedCanonicalValues(
                            value="EXAMPLE-value-Value",
                            canonical_value=["EXAMPLE--Value"],
                            locale="EXAMPLE-locale-Value")],
                case_exact=False,
                mutability="immutable",
                returned="always",
                uniqueness="server",
                idcs_csv_attribute_name="EXAMPLE-idcsCsvAttributeName-Value",
                idcs_complex_attribute_name_mappings=[
                    oci.identity_domains.models.SchemaIdcsComplexAttributeNameMappings(
                        name="EXAMPLE-name-Value",
                        maps_to="EXAMPLE-mapsTo-Value",
                        idcs_rtsa_hide_attribute=True)],
                idcs_icf_bundle_attribute_name="EXAMPLE-idcsICFBundleAttributeName-Value",
                idcs_icf_required=False,
                idcs_icf_attribute_type="integer",
                idcs_csv_attribute_name_mappings=[
                                        oci.identity_domains.models.SchemaIdcsCsvAttributeNameMappings(
                                            column_header_name="EXAMPLE-columnHeaderName-Value",
                                            deprecated_column_header_name="EXAMPLE-deprecatedColumnHeaderName-Value",
                                            maps_to="EXAMPLE-mapsTo-Value",
                                            default_value="EXAMPLE-defaultValue-Value",
                                            multi_value_delimiter="EXAMPLE-multiValueDelimiter-Value",
                                            csv_column_for_resolving_resource_type="EXAMPLE-csvColumnForResolvingResourceType-Value",
                                            resolve_value_using_resource_type=[
                                                oci.identity_domains.models.SchemaResolveValueUsingResourceType(
                                                    value_to_be_resolved="EXAMPLE-valueToBeResolved-Value",
                                                    resolve_by="EXAMPLE-resolveBy-Value")],
                                            referenced_resource_type_unique_attribute_name_mappings=[
                                                oci.identity_domains.models.SchemaReferencedResourceTypeUniqueAttributeNameMappings(
                                                    resource_type_attribute_name="EXAMPLE-resourceTypeAttributeName-Value",
                                                    maps_from_column_name="EXAMPLE-mapsFromColumnName-Value")])],
                reference_types=["EXAMPLE--Value"],
                idcs_deprecated_since_version=265,
                idcs_added_since_version=674,
                idcs_deprecated_since_release_number="EXAMPLE-idcsDeprecatedSinceReleaseNumber-Value",
                idcs_added_since_release_number="EXAMPLE-idcsAddedSinceReleaseNumber-Value",
                idcs_min_length=985,
                idcs_max_length=863,
                idcs_min_value=164,
                idcs_max_value=824,
                idcs_multi_language=True,
                idcs_ref_resource_attributes=["EXAMPLE--Value"],
                idcs_indirect_ref_resource_attributes=["EXAMPLE--Value"],
                idcs_auto_increment_seq_name="EXAMPLE-idcsAutoIncrementSeqName-Value",
                idcs_value_persisted=False,
                idcs_sensitive="none",
                idcs_internal=False,
                idcs_trim_string_value=True,
                idcs_searchable=True,
                idcs_generated=True,
                idcs_auditable=True,
                idcs_target_attribute_name="EXAMPLE-idcsTargetAttributeName-Value",
                idcs_maps_to_same_target_attribute_name_as="EXAMPLE-idcsMapsToSameTargetAttributeNameAs-Value",
                idcs_target_norm_attribute_name="EXAMPLE-idcsTargetNormAttributeName-Value",
                idcs_target_attribute_name_to_migrate_from="EXAMPLE-idcsTargetAttributeNameToMigrateFrom-Value",
                idcs_target_unique_constraint_name="EXAMPLE-idcsTargetUniqueConstraintName-Value",
                idcs_to_target_mapper="EXAMPLE-idcsToTargetMapper-Value",
                idcs_from_target_mapper="EXAMPLE-idcsFromTargetMapper-Value",
                idcs_display_name="EXAMPLE-idcsDisplayName-Value",
                idcs_canonical_value_source_resource_type="EXAMPLE-idcsCanonicalValueSourceResourceType-Value",
                idcs_canonical_value_source_filter="EXAMPLE-idcsCanonicalValueSourceFilter-Value",
                idcs_canonical_value_source_resource_type_id="EXAMPLE-idcsCanonicalValueSourceResourceTypeID-Value",
                idcs_canonical_value_source_display_attr_name="EXAMPLE-idcsCanonicalValueSourceDisplayAttrName-Value",
                idcs_canonical_value_source_key_attr_name="EXAMPLE-idcsCanonicalValueSourceKeyAttrName-Value",
                idcs_canonical_value_type="static",
                idcs_validate_reference=True,
                idcs_composite_key=["EXAMPLE--Value"],
                idcs_fetch_complex_attribute_values=False,
                idcs_scim_compliant=True,
                idcs_attribute_mappable=True,
                idcs_value_persisted_in_other_attribute=True,
                idcs_pii=False,
                idcs_exclude_from_upgrade_patch=False,
                sub_attributes=[
                    oci.identity_domains.models.SchemaSubAttributes(
                        name="EXAMPLE-name-Value",
                        idcs_requires_immediate_read_after_write_for_access_flows=True,
                        idcs_requires_write_for_access_flows=True,
                        idcs_display_name_message_id="ocid1.test.oc1..<unique_ID>EXAMPLE-idcsDisplayNameMessageId-Value",
                        idcs_rtsa_hide_attribute=False,
                        idcs_internal=False,
                        type="integer",
                        multi_valued=False,
                        description="EXAMPLE-description-Value",
                        required=True,
                        idcs_return_empty_when_null=False,
                        canonical_values=["EXAMPLE--Value"],
                        idcs_default_value="EXAMPLE-idcsDefaultValue-Value",
                        case_exact=False,
                        mutability="readWrite",
                        returned="default",
                        idcs_csv_attribute_name="EXAMPLE-idcsCsvAttributeName-Value",
                        uniqueness="global",
                        reference_types=["EXAMPLE--Value"],
                        idcs_deprecated_since_version=724,
                        idcs_added_since_version=471,
                        idcs_deprecated_since_release_number="EXAMPLE-idcsDeprecatedSinceReleaseNumber-Value",
                        idcs_added_since_release_number="EXAMPLE-idcsAddedSinceReleaseNumber-Value",
                        idcs_min_length=648,
                        idcs_max_length=993,
                        idcs_min_value=185,
                        idcs_max_value=191,
                        idcs_only_one_value_can_be_true=False,
                        idcs_max_values_returned=430,
                        idcs_one_value_must_be_true=False,
                        idcs_ref_resource_attributes=["EXAMPLE--Value"],
                        idcs_indirect_ref_resource_attributes=["EXAMPLE--Value"],
                        idcs_value_persisted=False,
                        idcs_sensitive="checksum",
                        idcs_trim_string_value=True,
                        idcs_searchable=False,
                        idcs_generated=True,
                        idcs_auditable=True,
                        idcs_target_attribute_name="EXAMPLE-idcsTargetAttributeName-Value",
                        idcs_target_norm_attribute_name="EXAMPLE-idcsTargetNormAttributeName-Value",
                        idcs_target_attribute_name_to_migrate_from="EXAMPLE-idcsTargetAttributeNameToMigrateFrom-Value",
                        idcs_target_unique_constraint_name="EXAMPLE-idcsTargetUniqueConstraintName-Value",
                        idcs_to_target_mapper="EXAMPLE-idcsToTargetMapper-Value",
                        idcs_from_target_mapper="EXAMPLE-idcsFromTargetMapper-Value",
                        idcs_display_name="EXAMPLE-idcsDisplayName-Value",
                        idcs_canonical_value_source_resource_type="EXAMPLE-idcsCanonicalValueSourceResourceType-Value",
                        idcs_canonical_value_source_filter="EXAMPLE-idcsCanonicalValueSourceFilter-Value",
                        idcs_canonical_value_source_resource_type_id="EXAMPLE-idcsCanonicalValueSourceResourceTypeID-Value",
                        idcs_canonical_value_source_display_attr_name="EXAMPLE-idcsCanonicalValueSourceDisplayAttrName-Value",
                        idcs_canonical_value_source_key_attr_name="EXAMPLE-idcsCanonicalValueSourceKeyAttrName-Value",
                        idcs_validate_reference=False,
                        idcs_scim_compliant=True,
                        idcs_attribute_mappable=True,
                        idcs_attribute_cacheable=True,
                        idcsui_order=771,
                        idcsui_regexp="EXAMPLE-idcsuiRegexp-Value",
                        idcsui_visible=True,
                        idcsui_widget="combobox",
                        idcs_value_persisted_in_other_attribute=False,
                        idcs_pii=False,
                        idcs_sanitize=False,
                        idcs_exclude_from_upgrade_patch=False)],
                idcs_ref_resource_attribute="EXAMPLE-idcsRefResourceAttribute-Value",
                idcs_attribute_cacheable=False,
                idcsui_order=676,
                idcsui_regexp="EXAMPLE-idcsuiRegexp-Value",
                idcsui_visible=False,
                idcsui_widget="inputtext",
                idcs_features=["social"],
                idcs_optional_pii_canonical_values=["EXAMPLE--Value"],
                idcs_sanitize=True,
                idcs_override_common_attribute=False,
                idcs_ignore_read_only_and_immutable_ref_attrs_during_force_delete=True,
                idcs_allow_updates_in_read_only_mode=True,
                idcs_paginate_response=False,
                idcs_requires_write_for_access_flows=True,
                idcs_requires_immediate_read_after_write_for_access_flows=True)]),
    if_match="EXAMPLE-ifMatch-Value",
    opc_retry_token="EXAMPLE-opcRetryToken-Value")

# Get the data from response
print(put_schema_response.data)