# 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_instances_client = oci.container_instances.ContainerInstanceClient(
    config)


# Send the request to service, some parameters are not required, see API
# doc for more info
create_container_instance_response = container_instances_client.create_container_instance(
    create_container_instance_details=oci.container_instances.models.CreateContainerInstanceDetails(
        compartment_id="ocid1.test.oc1..<unique_ID>EXAMPLE-compartmentId-Value",
        availability_domain="EXAMPLE-availabilityDomain-Value",
        shape="EXAMPLE-shape-Value",
        shape_config=oci.container_instances.models.CreateContainerInstanceShapeConfigDetails(
            ocpus=5225.058,
            memory_in_gbs=7872.1357),
        containers=[
            oci.container_instances.models.CreateContainerDetails(
                image_url="EXAMPLE-imageUrl-Value",
                display_name="EXAMPLE-displayName-Value",
                command=["EXAMPLE--Value"],
                arguments=["EXAMPLE--Value"],
                working_directory="EXAMPLE-workingDirectory-Value",
                environment_variables={
                    'EXAMPLE_KEY_faPBd': 'EXAMPLE_VALUE_6gky5xs1MTXBS6tgdsrc'},
                volume_mounts=[
                    oci.container_instances.models.CreateVolumeMountDetails(
                        mount_path="EXAMPLE-mountPath-Value",
                        volume_name="EXAMPLE-volumeName-Value",
                        sub_path="EXAMPLE-subPath-Value",
                        is_read_only=False,
                        partition=117)],
                is_resource_principal_disabled=False,
                resource_config=oci.container_instances.models.CreateContainerResourceConfigDetails(
                    vcpus_limit=9863.848,
                    memory_limit_in_gbs=5692.9443),
                health_checks=[
                    oci.container_instances.models.CreateContainerTcpHealthCheckDetails(
                        health_check_type="TCP",
                        port=61427,
                        name="EXAMPLE-name-Value",
                        initial_delay_in_seconds=298,
                        interval_in_seconds=969,
                        failure_threshold=568,
                        success_threshold=15,
                        timeout_in_seconds=867,
                        failure_action="KILL")],
                security_context=oci.container_instances.models.CreateLinuxSecurityContextDetails(
                    security_context_type="LINUX",
                    run_as_user=56672,
                    run_as_group=8858,
                    is_non_root_user_check_enabled=False,
                    is_root_file_system_readonly=True,
                    capabilities=oci.container_instances.models.ContainerCapabilities(
                        add_capabilities=["CAP_DAC_OVERRIDE"],
                        drop_capabilities=["CAP_NET_BIND_SERVICE"])),
                freeform_tags={
                    'EXAMPLE_KEY_GGnex': 'EXAMPLE_VALUE_11oNRMWMWOxdPegldRzg'},
                defined_tags={
                    'EXAMPLE_KEY_pS2tc': {
                        'EXAMPLE_KEY_vuPu9': 'EXAMPLE--Value'}})],
        vnics=[
            oci.container_instances.models.CreateContainerVnicDetails(
                subnet_id="ocid1.test.oc1..<unique_ID>EXAMPLE-subnetId-Value",
                display_name="EXAMPLE-displayName-Value",
                hostname_label="EXAMPLE-hostnameLabel-Value",
                is_public_ip_assigned=True,
                skip_source_dest_check=False,
                nsg_ids=["EXAMPLE--Value"],
                private_ip="EXAMPLE-privateIp-Value",
                freeform_tags={
                    'EXAMPLE_KEY_9cDqy': 'EXAMPLE_VALUE_UVwQWzGT6lhbLlZzw6jS'},
                defined_tags={
                    'EXAMPLE_KEY_XEpSE': {
                        'EXAMPLE_KEY_kJjUq': 'EXAMPLE--Value'}})],
        display_name="EXAMPLE-displayName-Value",
        fault_domain="EXAMPLE-faultDomain-Value",
        volumes=[
            oci.container_instances.models.CreateContainerConfigFileVolumeDetails(
                volume_type="CONFIGFILE",
                name="EXAMPLE-name-Value",
                configs=[
                    oci.container_instances.models.ContainerConfigFile(
                        file_name="EXAMPLE-fileName-Value",
                        data="Gnkmn5pPeZO5KUSSPVOq",
                        path="EXAMPLE-path-Value")])],
        dns_config=oci.container_instances.models.CreateContainerDnsConfigDetails(
            nameservers=["EXAMPLE--Value"],
            searches=["EXAMPLE--Value"],
            options=["EXAMPLE--Value"]),
        graceful_shutdown_timeout_in_seconds=186,
        image_pull_secrets=[
            oci.container_instances.models.CreateVaultImagePullSecretDetails(
                secret_type="VAULT",
                registry_endpoint="EXAMPLE-registryEndpoint-Value",
                secret_id="ocid1.test.oc1..<unique_ID>EXAMPLE-secretId-Value")],
        container_restart_policy="NEVER",
        freeform_tags={
            'EXAMPLE_KEY_mfhKO': 'EXAMPLE_VALUE_aDoaFnAmiMeetFdRM1zv'},
        defined_tags={
            'EXAMPLE_KEY_zAtXR': {
                'EXAMPLE_KEY_uFpkQ': 'EXAMPLE--Value'}},
        security_context=oci.container_instances.models.CreateLinuxContainerInstanceSecurityContextDetails(
            security_context_type="LINUX",
            fs_group=62714,
            fs_group_change_policy="ON_ROOT_MISMATCH")),
    opc_retry_token="EXAMPLE-opcRetryToken-Value",
    opc_request_id="MM3SCZ6NL5N2APUXPXPO<unique_ID>")

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