# 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
fleet_apps_management_client = oci.fleet_apps_management.FleetAppsManagementClient(
    config)


# Send the request to service, some parameters are not required, see API
# doc for more info
create_fleet_response = fleet_apps_management_client.create_fleet(
    create_fleet_details=oci.fleet_apps_management.models.CreateFleetDetails(
        display_name="EXAMPLE-displayName-Value",
        compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
        resource_selection=oci.fleet_apps_management.models.DynamicResourceSelection(
            resource_selection_type="DYNAMIC",
            rule_selection_criteria=oci.fleet_apps_management.models.SelectionCriteria(
                match_condition="ANY",
                rules=[
                    oci.fleet_apps_management.models.Rule(
                        compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                        resource_compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-resourceCompartmentId-Value",
                        conditions=[
                            oci.fleet_apps_management.models.Condition(
                                attr_group="EXAMPLE-attrGroup-Value",
                                attr_key="EXAMPLE-attrKey-Value",
                                attr_value="EXAMPLE-attrValue-Value")],
                        basis="EXAMPLE-basis-Value")])),
        description="EXAMPLE-description-Value",
        details=oci.fleet_apps_management.models.EnvironmentFleetDetails(
            fleet_type="ENVIRONMENT"),
        products=["EXAMPLE--Value"],
        environment_type="EXAMPLE-environmentType-Value",
        notification_preferences=[
            oci.fleet_apps_management.models.NotificationPreference(
                topic_id="ocid1.test.oc1..<unique_ID>EXAMPLE-topicId-Value",
                compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                preferences=oci.fleet_apps_management.models.Preferences(
                    upcoming_schedule=oci.fleet_apps_management.models.UpcomingSchedule(
                        on_upcoming_schedule=False,
                        notify_before="EXAMPLE-notifyBefore-Value"),
                    on_job_failure=True,
                    on_topology_modification=False,
                    on_task_pause=False,
                    on_task_failure=False,
                    on_task_success=True,
                    on_resource_non_compliance=False,
                    on_runbook_newer_version=True))],
        resources=[
            oci.fleet_apps_management.models.AssociatedFleetResourceDetails(
                resource_id="ocid1.test.oc1..<unique_ID>EXAMPLE-resourceId-Value",
                compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                tenancy_id="ocid1.test.oc1..<unique_ID>EXAMPLE-tenancyId-Value",
                fleet_resource_type="EXAMPLE-fleetResourceType-Value")],
        credentials=[
            oci.fleet_apps_management.models.AssociatedFleetCredentialDetails(
                display_name="EXAMPLE-displayName-Value",
                compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                entity_specifics=oci.fleet_apps_management.models.TargetCredentialEntitySpecificDetails(
                    credential_level="TARGET",
                    resource_id="ocid1.test.oc1..<unique_ID>EXAMPLE-resourceId-Value",
                    target="EXAMPLE-target-Value"),
                user=oci.fleet_apps_management.models.KeyEncryptionCredentialDetails(
                    credential_type="KEY_ENCRYPTION",
                    value="EXAMPLE-value-Value",
                    key_id="ocid1.test.oc1..<unique_ID>EXAMPLE-keyId-Value",
                    vault_id="ocid1.test.oc1..<unique_ID>EXAMPLE-vaultId-Value",
                    key_version="EXAMPLE-keyVersion-Value"))],
        properties=[
            oci.fleet_apps_management.models.AssociatedFleetPropertyDetails(
                compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
                fleet_property_type="STRING",
                display_name="EXAMPLE-displayName-Value",
                value="EXAMPLE-value-Value",
                is_required=False)],
        parent_fleet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-parentFleetId-Value",
        is_target_auto_confirm=False,
        freeform_tags={
            'EXAMPLE_KEY_PAZ7f': 'EXAMPLE_VALUE_N5IuaeRKE75aQbiC9Tjz'},
        defined_tags={
            'EXAMPLE_KEY_H5GUP': {
                'EXAMPLE_KEY_mQp12': 'EXAMPLE--Value'}}),
    opc_retry_token="EXAMPLE-opcRetryToken-Value",
    opc_request_id="OUE38VDTVVN7AUCN506Z<unique_ID>")

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