# 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_app_response = identity_domains_client.put_app(
    app_id="ocid1.test.oc1..<unique_ID>EXAMPLE-appId-Value",
    authorization="EXAMPLE-authorization-Value",
    resource_type_schema_version="EXAMPLE-resourceTypeSchemaVersion-Value",
    attributes="EXAMPLE-attributes-Value",
    attribute_sets=["never"],
    app=oci.identity_domains.models.App(
        schemas=["EXAMPLE--Value"],
        display_name="EXAMPLE-displayName-Value",
        based_on_template=oci.identity_domains.models.AppBasedOnTemplate(
            value="EXAMPLE-value-Value",
            ref=None,
            last_modified="EXAMPLE-lastModified-Value",
            well_known_id="ocid1.test.oc1..<unique_ID>EXAMPLE-wellKnownId-Value"),
        id="ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value",
        ocid="EXAMPLE-ocid-Value",
        meta=oci.identity_domains.models.Meta(
            resource_type="EXAMPLE-resourceType-Value",
            created="EXAMPLE-created-Value",
            last_modified="EXAMPLE-lastModified-Value",
            location="EXAMPLE-location-Value",
            version="EXAMPLE-version-Value"),
        idcs_created_by=oci.identity_domains.models.IdcsCreatedBy(
            value="EXAMPLE-value-Value",
            ref=None,
            type="App",
            display="EXAMPLE-display-Value",
            ocid="EXAMPLE-ocid-Value"),
        idcs_last_modified_by=oci.identity_domains.models.IdcsLastModifiedBy(
            value="EXAMPLE-value-Value",
            ref=None,
            type="App",
            display="EXAMPLE-display-Value",
            ocid="EXAMPLE-ocid-Value"),
        idcs_prevented_operations=["replace"],
        tags=[
            oci.identity_domains.models.Tags(
                key="EXAMPLE-key-Value",
                value="EXAMPLE-value-Value")],
        delete_in_progress=True,
        idcs_last_upgraded_in_release="EXAMPLE-idcsLastUpgradedInRelease-Value",
        domain_ocid="EXAMPLE-domainOcid-Value",
        compartment_ocid="EXAMPLE-compartmentOcid-Value",
        tenancy_ocid="EXAMPLE-tenancyOcid-Value",
        meter_as_opc_service=False,
        name="EXAMPLE-name-Value",
        client_secret="EXAMPLE-clientSecret-Value",
        hashed_client_secret="EXAMPLE-hashedClientSecret-Value",
        description="EXAMPLE-description-Value",
        id_token_enc_algo="EXAMPLE-idTokenEncAlgo-Value",
        delegated_service_names=["EXAMPLE--Value"],
        active=False,
        app_icon="EXAMPLE-appIcon-Value",
        app_thumbnail="EXAMPLE-appThumbnail-Value",
        migrated=False,
        infrastructure=True,
        is_login_target=False,
        show_in_my_apps=False,
        login_mechanism="FORMFILL",
        landing_page_url="EXAMPLE-landingPageUrl-Value",
        product_logo_url="EXAMPLE-productLogoUrl-Value",
        privacy_policy_url="EXAMPLE-privacyPolicyUrl-Value",
        terms_of_service_url="EXAMPLE-termsOfServiceUrl-Value",
        contact_email_address="EXAMPLE-contactEmailAddress-Value",
        product_name="EXAMPLE-productName-Value",
        home_page_url="EXAMPLE-homePageUrl-Value",
        is_form_fill=True,
        is_o_auth_client=False,
        is_radius_app=False,
        client_type="confidential",
        redirect_uris=["EXAMPLE--Value"],
        all_url_schemes_allowed=True,
        logout_uri="EXAMPLE-logoutUri-Value",
        post_logout_redirect_uris=["EXAMPLE--Value"],
        allowed_grants=["EXAMPLE--Value"],
        allowed_operations=["introspect"],
        client_ip_checking="anywhere",
        is_opc_service=True,
        is_unmanaged_app=True,
        allow_access_control=False,
        is_o_auth_resource=False,
        access_token_expiry=674,
        refresh_token_expiry=124,
        allow_offline=False,
        callback_service_url="EXAMPLE-callbackServiceUrl-Value",
        audience="EXAMPLE-audience-Value",
        is_mobile_target=False,
        login_page_url="EXAMPLE-loginPageUrl-Value",
        linking_callback_url="EXAMPLE-linkingCallbackUrl-Value",
        logout_page_url="EXAMPLE-logoutPageUrl-Value",
        error_page_url="EXAMPLE-errorPageUrl-Value",
        is_saml_service_provider=False,
        is_web_tier_policy=False,
        is_kerberos_realm=False,
        icon="EXAMPLE-icon-Value",
        is_alias_app=False,
        is_managed_app=False,
        service_type_urn="EXAMPLE-serviceTypeURN-Value",
        service_type_version="EXAMPLE-serviceTypeVersion-Value",
        is_obligation_capable=True,
        ready_to_upgrade=False,
        trust_scope="Explicit",
        is_database_service=False,
        secondary_audiences=["EXAMPLE--Value"],
        is_enterprise_app=True,
        bypass_consent=True,
        disable_kmsi_token_authentication=True,
        is_multicloud_service_app=True,
        radius_policy=oci.identity_domains.models.AppRadiusPolicy(
            value="EXAMPLE-value-Value",
            ref=None),
        apps_network_perimeters=[
            oci.identity_domains.models.AppAppsNetworkPerimeters(
                value="EXAMPLE-value-Value",
                ref=None)],
        cloud_control_properties=[
            oci.identity_domains.models.AppCloudControlProperties(
                name="EXAMPLE-name-Value",
                values=["EXAMPLE--Value"])],
        editable_attributes=[
            oci.identity_domains.models.AppEditableAttributes(
                name="EXAMPLE-name-Value")],
        terms_of_use=oci.identity_domains.models.AppTermsOfUse(
            value="EXAMPLE-value-Value",
            ref=None,
            name="EXAMPLE-name-Value"),
        protectable_secondary_audiences=[
            oci.identity_domains.models.AppProtectableSecondaryAudiences(
                value="EXAMPLE-value-Value",
                read_only=False)],
        idp_policy=oci.identity_domains.models.AppIdpPolicy(
            value="EXAMPLE-value-Value",
            ref=None),
        allowed_tags=[
            oci.identity_domains.models.AppAllowedTags(
                key="EXAMPLE-key-Value",
                value="EXAMPLE-value-Value",
                read_only=True)],
        app_signon_policy=oci.identity_domains.models.AppAppSignonPolicy(
            value="EXAMPLE-value-Value",
            ref=None),
        trust_policies=[
            oci.identity_domains.models.AppTrustPolicies(
                value="EXAMPLE-value-Value",
                ref=None)],
        signon_policy=oci.identity_domains.models.AppSignonPolicy(
            value="EXAMPLE-value-Value",
            ref=None),
        identity_providers=[
            oci.identity_domains.models.AppIdentityProviders(
                value="EXAMPLE-value-Value",
                ref=None,
                display="EXAMPLE-display-Value")],
        accounts=[
            oci.identity_domains.models.AppAccounts(
                value="EXAMPLE-value-Value",
                ref=None,
                owner_id="ocid1.test.oc1..<unique_ID>EXAMPLE-ownerId-Value",
                name="EXAMPLE-name-Value",
                active=False)],
        grants=[
            oci.identity_domains.models.AppGrants(
                value="EXAMPLE-value-Value",
                ref=None,
                grantee_id="ocid1.test.oc1..<unique_ID>EXAMPLE-granteeId-Value",
                grantee_type="Group",
                grant_mechanism="IMPORT_APPROLE_MEMBERS")],
        service_params=[
            oci.identity_domains.models.AppServiceParams(
                name="EXAMPLE-name-Value",
                value="EXAMPLE-value-Value")],
        attr_rendering_metadata=[
            oci.identity_domains.models.AppAttrRenderingMetadata(
                name="EXAMPLE-name-Value",
                label="EXAMPLE-label-Value",
                helptext="EXAMPLE-helptext-Value",
                widget="textarea",
                datatype="EXAMPLE-datatype-Value",
                section="general",
                order=10,
                required=True,
                regexp="EXAMPLE-regexp-Value",
                read_only=False,
                visible=True,
                min_length=954,
                max_length=840,
                min_size=784,
                max_size=963)],
        granted_app_roles=[
            oci.identity_domains.models.AppGrantedAppRoles(
                value="EXAMPLE-value-Value",
                ref=None,
                type="indirect",
                display="EXAMPLE-display-Value",
                app_id="ocid1.test.oc1..<unique_ID>EXAMPLE-appId-Value",
                app_name="EXAMPLE-appName-Value",
                admin_role=True,
                legacy_group_name="EXAMPLE-legacyGroupName-Value",
                read_only=True)],
        saml_service_provider=oci.identity_domains.models.AppSamlServiceProvider(
            value="EXAMPLE-value-Value",
            ref=None),
        allowed_scopes=[
            oci.identity_domains.models.AppAllowedScopes(
                fqs="EXAMPLE-fqs-Value",
                id_of_defining_app="EXAMPLE-idOfDefiningApp-Value",
                read_only=True)],
        certificates=[
            oci.identity_domains.models.AppCertificates(
                cert_alias="EXAMPLE-certAlias-Value",
                sha1_thumbprint="EXAMPLE-sha1Thumbprint-Value",
                kid="EXAMPLE-kid-Value",
                x5t="EXAMPLE-x5t-Value",
                x509_base64_certificate="EXAMPLE-x509Base64Certificate-Value")],
        alias_apps=[
            oci.identity_domains.models.AppAliasApps(
                value="EXAMPLE-value-Value",
                ref=None,
                display="EXAMPLE-display-Value",
                description="EXAMPLE-description-Value")],
        as_opc_service=oci.identity_domains.models.AppAsOPCService(
            value="EXAMPLE-value-Value",
            ref=None),
        admin_roles=[
            oci.identity_domains.models.AppAdminRoles(
                value="EXAMPLE-value-Value",
                ref=None,
                display="EXAMPLE-display-Value",
                description="EXAMPLE-description-Value")],
        user_roles=[
            oci.identity_domains.models.AppUserRoles(
                value="EXAMPLE-value-Value",
                ref=None,
                display="EXAMPLE-display-Value",
                description="EXAMPLE-description-Value")],
        scopes=[
            oci.identity_domains.models.AppScopes(
                value="EXAMPLE-value-Value",
                fqs="EXAMPLE-fqs-Value",
                description="EXAMPLE-description-Value",
                display_name="EXAMPLE-displayName-Value",
                requires_consent=True,
                read_only=True)],
        urn_ietf_params_scim_schemas_oracle_idcs_extension_radius_app_app=oci.identity_domains.models.AppExtensionRadiusAppApp(
            client_ip="EXAMPLE-clientIP-Value",
            port="EXAMPLE-port-Value",
            secret_key="EXAMPLE-secretKey-Value",
            include_group_in_response=True,
            secret_key_temporary="EXAMPLE-secretKeyTemporary-Value",
            capture_client_ip=True,
            type_of_radius_app="EXAMPLE-typeOfRadiusApp-Value",
            end_user_ip_attribute="EXAMPLE-endUserIPAttribute-Value",
            radius_vendor_specific_id="ocid1.test.oc1..<unique_ID>EXAMPLE-radiusVendorSpecificId-Value",
            country_code_response_attribute_id="ocid1.test.oc1..<unique_ID>EXAMPLE-countryCodeResponseAttributeId-Value",
            group_membership_radius_attribute="EXAMPLE-groupMembershipRadiusAttribute-Value",
            response_format="EXAMPLE-responseFormat-Value",
            response_format_delimiter="EXAMPLE-responseFormatDelimiter-Value",
            group_name_format="EXAMPLE-groupNameFormat-Value",
            password_and_otp_together=True,
            group_membership_to_return=[
                oci.identity_domains.models.AppGroupMembershipToReturn(
                    value="EXAMPLE-value-Value",
                    ref=None,
                    display="EXAMPLE-display-Value")]),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_saml_service_provider_app=oci.identity_domains.models.AppExtensionSamlServiceProviderApp(
            metadata="EXAMPLE-metadata-Value",
            partner_provider_id="ocid1.test.oc1..<unique_ID>EXAMPLE-partnerProviderId-Value",
            partner_provider_pattern="EXAMPLE-partnerProviderPattern-Value",
            tenant_provider_id="ocid1.test.oc1..<unique_ID>EXAMPLE-tenantProviderId-Value",
            succinct_id="ocid1.test.oc1..<unique_ID>EXAMPLE-succinctId-Value",
            assertion_consumer_url="EXAMPLE-assertionConsumerUrl-Value",
            logout_request_url="EXAMPLE-logoutRequestUrl-Value",
            logout_response_url="EXAMPLE-logoutResponseUrl-Value",
            name_id_format="EXAMPLE-nameIdFormat-Value",
            signing_certificate="EXAMPLE-signingCertificate-Value",
            encryption_certificate="EXAMPLE-encryptionCertificate-Value",
            encryption_algorithm="AES-128-GCM",
            key_encryption_algorithm="RSA-OAEP",
            encrypt_assertion=True,
            sign_response_or_assertion="Response",
            include_signing_cert_in_signature=False,
            logout_binding="Redirect",
            logout_enabled=False,
            signature_hash_algorithm="SHA-1",
            federation_protocol="SAML2.0",
            name_id_userstore_attribute="EXAMPLE-nameIdUserstoreAttribute-Value",
            hok_required=True,
            hok_acs_url="EXAMPLE-hokAcsUrl-Value",
            last_notification_sent_time="EXAMPLE-lastNotificationSentTime-Value",
            outbound_assertion_attributes=oci.identity_domains.models.AppOutboundAssertionAttributes(
                value="EXAMPLE-value-Value",
                ref=None,
                direction="EXAMPLE-direction-Value"),
            user_assertion_attributes=[
                oci.identity_domains.models.AppUserAssertionAttributes(
                    name="EXAMPLE-name-Value",
                    user_store_attribute_name="EXAMPLE-userStoreAttributeName-Value",
                    format="EXAMPLE-format-Value")],
            group_assertion_attributes=[
                oci.identity_domains.models.AppGroupAssertionAttributes(
                    name="EXAMPLE-name-Value",
                    format="EXAMPLE-format-Value",
                    condition="EXAMPLE-condition-Value",
                    group_name="EXAMPLE-groupName-Value")]),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_web_tier_policy_app=oci.identity_domains.models.AppExtensionWebTierPolicyApp(
            web_tier_policy_json="EXAMPLE-webTierPolicyJson-Value",
            web_tier_policy_az_control="server",
            resource_ref=True),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_managedapp_app=oci.identity_domains.models.AppExtensionManagedappApp(
            connected=True,
            can_be_authoritative=True,
            is_authoritative=False,
            is_on_premise_app=True,
            is_directory=False,
            is_schema_discovery_supported=True,
            is_schema_customization_supported=False,
            enable_sync=True,
            enable_sync_summary_report_notification=True,
            enable_auth_sync_new_user_notification=True,
            admin_consent_granted=True,
            is_three_legged_o_auth_enabled=False,
            is_two_legged_o_auth_enabled=False,
            three_legged_o_auth_provider_name="EXAMPLE-threeLeggedOAuthProviderName-Value",
            sync_config_last_modified="EXAMPLE-syncConfigLastModified-Value",
            account_form_visible=True,
            identity_bridges=[
                oci.identity_domains.models.AppIdentityBridges(
                    value="EXAMPLE-value-Value",
                    ref=None,
                    name="EXAMPLE-name-Value")],
            connector_bundle=oci.identity_domains.models.AppConnectorBundle(
                value="EXAMPLE-value-Value",
                type="ConnectorBundle",
                ref=None,
                display="EXAMPLE-display-Value",
                well_known_id="ocid1.test.oc1..<unique_ID>EXAMPLE-wellKnownId-Value"),
            bundle_configuration_properties=[
                oci.identity_domains.models.AppBundleConfigurationProperties(
                    name="EXAMPLE-name-Value",
                    icf_type="ArrayOfGuardedByteArray",
                    required=False,
                    display_name="EXAMPLE-displayName-Value",
                    value=["EXAMPLE--Value"],
                    order=977,
                    help_message="EXAMPLE-helpMessage-Value",
                    confidential=False)],
            object_classes=[
                oci.identity_domains.models.AppObjectClasses(
                    value="EXAMPLE-value-Value",
                    type="ManagedObjectClass",
                    ref=None,
                    display="EXAMPLE-display-Value",
                    resource_type="EXAMPLE-resourceType-Value",
                    is_account_object_class=False)],
            bundle_pool_configuration=oci.identity_domains.models.AppBundlePoolConfiguration(
                max_idle=846,
                max_objects=589,
                max_wait=500,
                min_evictable_idle_time_millis=314,
                min_idle=654),
            flat_file_connector_bundle=oci.identity_domains.models.AppFlatFileConnectorBundle(
                value="EXAMPLE-value-Value",
                ref=None,
                display="EXAMPLE-display-Value",
                well_known_id="ocid1.test.oc1..<unique_ID>EXAMPLE-wellKnownId-Value"),
            flat_file_bundle_configuration_properties=[
                oci.identity_domains.models.AppFlatFileBundleConfigurationProperties(
                    name="EXAMPLE-name-Value",
                    icf_type="String",
                    required=False,
                    display_name="EXAMPLE-displayName-Value",
                    value=["EXAMPLE--Value"],
                    order=466,
                    help_message="EXAMPLE-helpMessage-Value",
                    confidential=True)],
            three_legged_o_auth_credential=oci.identity_domains.models.AppThreeLeggedOAuthCredential(
                access_token="EXAMPLE-accessToken-Value",
                refresh_token="EXAMPLE-refreshToken-Value",
                access_token_expiry="EXAMPLE-accessTokenExpiry-Value")),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_form_fill_app_template_app_template=oci.identity_domains.models.AppExtensionFormFillAppTemplateAppTemplate(
            form_type="WebApplication",
            form_credential_sharing_group_id="EXAMPLE-formCredentialSharingGroupID-Value",
            reveal_password_on_form=True,
            user_name_form_template="EXAMPLE-userNameFormTemplate-Value",
            user_name_form_expression="EXAMPLE-userNameFormExpression-Value",
            form_cred_method="USER_SETS_PASSWORD_ONLY",
            configuration="EXAMPLE-configuration-Value",
            sync_from_template=True,
            form_fill_url_match=[
                oci.identity_domains.models.AppFormFillUrlMatch(
                    form_url="EXAMPLE-formUrl-Value",
                    form_url_match_type="EXAMPLE-formUrlMatchType-Value")]),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_opc_service_app=oci.identity_domains.models.AppExtensionOpcServiceApp(
            service_instance_identifier="EXAMPLE-serviceInstanceIdentifier-Value",
            region="EXAMPLE-region-Value",
            current_federation_mode="AppAsServiceProvider",
            current_synchronization_mode="AppAsSource",
            next_federation_mode="AppAsServiceProvider",
            next_synchronization_mode="AppAsTarget",
            enabling_next_fed_sync_modes=False),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_kerberos_realm_app=oci.identity_domains.models.AppExtensionKerberosRealmApp(
            realm_name="EXAMPLE-realmName-Value",
            master_key="EXAMPLE-masterKey-Value",
            default_encryption_salt_type="EXAMPLE-defaultEncryptionSaltType-Value",
            supported_encryption_salt_types=["EXAMPLE--Value"],
            ticket_flags=728,
            max_ticket_life=414,
            max_renewable_age=392),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_requestable_app=oci.identity_domains.models.AppExtensionRequestableApp(
            requestable=True),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_form_fill_app_app=oci.identity_domains.models.AppExtensionFormFillAppApp(
            form_type="WebApplication",
            form_credential_sharing_group_id="EXAMPLE-formCredentialSharingGroupID-Value",
            reveal_password_on_form=True,
            user_name_form_template="EXAMPLE-userNameFormTemplate-Value",
            user_name_form_expression="EXAMPLE-userNameFormExpression-Value",
            form_cred_method="USER_SETS_PASSWORD_ONLY",
            configuration="EXAMPLE-configuration-Value",
            sync_from_template=False,
            form_fill_url_match=[
                oci.identity_domains.models.AppFormFillUrlMatch(
                    form_url="EXAMPLE-formUrl-Value",
                    form_url_match_type="EXAMPLE-formUrlMatchType-Value")]),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_dbcs_app=oci.identity_domains.models.AppExtensionDbcsApp(
            domain_name="EXAMPLE-domainName-Value",
            domain_app=oci.identity_domains.models.AppDomainApp(
                value="EXAMPLE-value-Value",
                ref=None,
                display="EXAMPLE-display-Value")),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_enterprise_app_app=oci.identity_domains.models.AppExtensionEnterpriseAppApp(
            app_resources=[
                oci.identity_domains.models.AppAppResources(
                    value="EXAMPLE-value-Value",
                    ref=None)],
            deny_authz_policy=oci.identity_domains.models.AppDenyAuthzPolicy(
                value="EXAMPLE-value-Value",
                ref=None),
            allow_authz_policy=oci.identity_domains.models.AppAllowAuthzPolicy(
                value="EXAMPLE-value-Value",
                ref=None),
            allow_authz_decision_ttl=885,
            deny_authz_decision_ttl=271),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_oci_tags=oci.identity_domains.models.ExtensionOCITags(
            freeform_tags=[
                oci.identity_domains.models.FreeformTags(
                    key="EXAMPLE-key-Value",
                    value="EXAMPLE-value-Value")],
            defined_tags=[
                oci.identity_domains.models.DefinedTags(
                    namespace="EXAMPLE-namespace-Value",
                    key="EXAMPLE-key-Value",
                    value="EXAMPLE-value-Value")],
            tag_slug="EXAMPLE-tagSlug-Value"),
        urn_ietf_params_scim_schemas_oracle_idcs_extension_multicloud_service_app_app=oci.identity_domains.models.AppExtensionMulticloudServiceAppApp(
            multicloud_service_type="AWSCognito",
            multicloud_platform_url="EXAMPLE-multicloudPlatformUrl-Value")),
    if_match="EXAMPLE-ifMatch-Value",
    opc_retry_token="EXAMPLE-opcRetryToken-Value")

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