<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Third Party Services
    |--------------------------------------------------------------------------
    |
    | This file is for storing the credentials for third party services such
    | as Mailgun, Postmark, AWS and more. This file provides the de facto
    | location for this type of information, allowing packages to have
    | a conventional file to locate the various service credentials.
    |
    */

    'postmark' => [
        'token' => env('POSTMARK_TOKEN'),
    ],

    'ses' => [
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
    ],

    'slack' => [
        'notifications' => [
            'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'),
            'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'),
        ],
    ],

    'bastion_token' => [
        'base_url' => env('BASTION_TOKEN_API_BASE_URL'),
        'submit_endpoint' => env('BASTION_TOKEN_SUBMIT_ENDPOINT', '/bastion_token'),
        'status_endpoint' => env('BASTION_TOKEN_STATUS_ENDPOINT', '/bastion_token/{task_id}'),
        'timeout' => (int) env('BASTION_TOKEN_TIMEOUT', 30),
        'poll_attempts' => (int) env('BASTION_TOKEN_POLL_ATTEMPTS', 60),
        'poll_interval_ms' => (int) env('BASTION_TOKEN_POLL_INTERVAL_MS', 500),
        'task_ttl_seconds' => (int) env('BASTION_TOKEN_TASK_TTL_SECONDS', 1800),
        'service' => env('BASTION_TOKEN_SERVICE', 'https://myapp.cdu.edu.cn/index.html'),
        'verify_ssl' => (bool) env('BASTION_TOKEN_VERIFY_SSL', false),
    ],

    'bastion_access' => [
        'base_url' => env('BASTION_ACCESS_BASE_URL', 'https://172.16.254.2'),
        'sso_endpoint' => env('BASTION_ACCESS_SSO_ENDPOINT', '/usmapi/v1/operation/custom/sso'),
        'timeout' => (int) env('BASTION_ACCESS_TIMEOUT', 30),
        'verify_ssl' => (bool) env('BASTION_ACCESS_VERIFY_SSL', false),
        'protocol_ids' => [
            'ssh' => (int) env('BASTION_PROTOCOL_ID_SSH', 2),
            'sftp' => (int) env('BASTION_PROTOCOL_ID_SFTP', 4),
            'rdp' => (int) env('BASTION_PROTOCOL_ID_RDP', 3),
        ],
    ],

    'ops_client' => [
        'ipv4' => env('OPS_CLIENT_IPV4', '172.16.1.2'),
        'asset_ipv4' => env('OPS_CLIENT_ASSET_IPV4', '0.0.0.0'),
    ],

];
