# Get defaults for a MSSql dSource linking.

Endpoint: POST /dsources/mssql/defaults
Version: 3.30.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Request body:

  - `application/json` (unknown)
    The parameters to get defaults for linking an MSSql dSource.

## Request fields (application/json):

  - `source_id` (string, required)
    The ID of the source to be linked.

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `name` (string)
    Name of the dSource to be created.

  - `source_id` (string)
    Id of the source to link.

  - `group_id` (string)
    Id of the dataset group where this dSource should belong to.

  - `description` (string)
    The notes/description for the dSource.

  - `log_sync_enabled` (boolean)
    True if LogSync should run for this database.

  - `sync_policy_id` (string)
    The ID of the SnapSync policy for the dSource.
    Example: snapshot-123

  - `retention_policy_id` (string)
    The ID of the Retention policy for the dSource.
    Example: retention-policy-123

  - `make_current_account_owner` (boolean)
    Whether the account creating this reporting schedule must be configured as owner of the reporting schedule.

  - `tags` (array)
    The tags to be created for dSource.

  - `tags.key` (string, required)
    Key of the tag
    Example: key-1

  - `tags.value` (string, required)
    Value of the tag
    Example: value-1

  - `ops_pre_sync` (array)
    Operations to perform before syncing the created dSource. These operations can quiesce any data prior to syncing.

  - `ops_pre_sync.name` (string)

  - `ops_pre_sync.command` (string)

  - `ops_pre_sync.shell` (string)
    Enum: "bash", "shell", "expect", "ps", "psd"

  - `ops_pre_sync.credentials_env_vars` (array)
    List of environment variables that will contain credentials for this operation.

  - `ops_pre_sync.credentials_env_vars.base_var_name` (string, required)
    Base name of the environment variables. Variables are named by appending '_USER', '_PASSWORD', '_PUBKEY' and '_PRIVKEY' to this base name, respectively. Variables whose values are not entered or are not present in the type of credential or vault selected, will not be set.

  - `ops_pre_sync.credentials_env_vars.password` (string)
    Password to assign to the environment variables.
    Example: password

  - `ops_pre_sync.credentials_env_vars.vault_username` (string)
    Delphix display name for the vault user.
    Example: my-vault

  - `ops_pre_sync.credentials_env_vars.vault` (string)
    The name or reference of the vault to assign to the environment variables.
    Example: 1-VAULT-1

  - `ops_pre_sync.credentials_env_vars.hashicorp_vault_engine` (string)
    Vault engine name where the credential is stored.
    Example: kv

  - `ops_pre_sync.credentials_env_vars.hashicorp_vault_secret_path` (string)
    Path in the vault engine where the credential is stored.
    Example: oracle-env

  - `ops_pre_sync.credentials_env_vars.hashicorp_vault_username_key` (string)
    Hashicorp vault key for the username in the key-value store.
    Example: username

  - `ops_pre_sync.credentials_env_vars.hashicorp_vault_secret_key` (string)
    Hashicorp vault key for the password in the key-value store.
    Example: secret

  - `ops_pre_sync.credentials_env_vars.azure_vault_name` (string)
    Azure key vault name.
    Example: azure_vault

  - `ops_pre_sync.credentials_env_vars.azure_vault_username_key` (string)
    Azure vault key in the key-value store.
    Example: username

  - `ops_pre_sync.credentials_env_vars.azure_vault_secret_key` (string)
    Azure vault key in the key-value store.
    Example: secret

  - `ops_pre_sync.credentials_env_vars.cyberark_vault_query_string` (string)
    Query to find a credential in the CyberArk vault.
    Example: Safe=Test;Folder=Test;Object=Test

  - `ops_pre_sync.credentials_env_vars.credential_type` (string)
    Credential type of the credential environment variable
    Example: PasswordCredential

  - `ops_pre_sync.credentials_env_vars.element_id` (string)
    Element ID of the credential environment variable. Omit to create a new credential. Include an existing element_id to update that credential. Any existing credential whose element_id is omitted from the request will be deleted. An element_id that does not match any existing credential is silently ignored.
    Example: 35

  - `ops_pre_sync.credentials_env_vars.type` (string)
    Type of the credential environment variable
    Example: CredentialsEnvVars

  - `ops_pre_sync.hook_template_id` (string)
    ID of the hook template

  - `ops_post_sync` (array)
    Operations to perform after syncing a created dSource.

  - `encryption_key` (string)
    The encryption key to use when restoring encrypted backups.

  - `sync_strategy` (string)
    Determines how the Delphix Engine will take a backup:
* `latest_backup` - Use the most recent backup.
* `new_backup` - Delphix will take a new backup of your source database.
* `specific_backup` - Use a specific backup. Using this option requires setting `ase_backup_files`.
* `no_backup` - Use as input to sync MSSQL databases without a backup.
Default is `new_backup`.
    Enum: "latest_backup", "new_backup", "specific_backup", "no_backup"

  - `mssql_backup_uuid` (string)
    When using the `specific_backup` sync_strategy, determines the Backup Set UUID.

  - `compression_enabled` (boolean)
    When using the `new_backup` sync_strategy, determines if compression must be enabled. Defaults to the configuration of the ingestion strategy configured on the Delphix Engine for this dSource.

  - `availability_group_backup_policy` (string)
    When using the `new_backup` sync_strategy for an MSSql Availability Group, determines the backup policy:
* `primary` - Backups only go to the primary node.
* `secondary_only` - Backups only go to secondary nodes. If secondary nodes are down, backups will fail.
* `prefer_secondary` - Backups go to secondary nodes, but if secondary nodes are down, backups will go to the primary node.
    Enum: "primary", "secondary_only", "prefer_secondary"

  - `source_host_user` (string)
    ID or user reference of the host OS user to use for linking.

  - `ppt_repository` (string)
    Reference of the SQL instance on the PPT environment that we want to use for pre-provisioning.

  - `ppt_host_user` (string)
    Reference of the host OS user on the PPT host to use for linking.

  - `staging_pre_script` (string)
    A user-provided PowerShell script or executable to run prior to restoring from a backup during pre-provisioning.

  - `staging_post_script` (string)
    A user-provided PowerShell script or executable to run after restoring from a backup during pre-provisioning.

  - `sync_strategy_managed_type` (string)
    MSSQL specific parameters for source based sync strategy.:
* `external` - MSSQL specific parameters for externally managed source based sync strategy.
* `delphix` - MSSQL specific parameters for delphix managed source based sync strategy.
* `staging_push` - MSSQL specific parameters for staging push based sync strategy.
    Enum: "external", "delphix", "staging_push"

  - `mssql_user_environment_reference` (string)
    Reference to the source environment user to use for linking.

  - `mssql_user_domain_username` (string)
    The username for the source DB user.

  - `mssql_user_domain_password` (string)
    Password for the database user.

  - `mssql_user_domain_vault_username` (string)
    Delphix display name for the vault user.
    Example: my-vault

  - `mssql_user_domain_vault` (string)
    The name or reference of the vault from which to read the database credentials.

  - `mssql_user_domain_hashicorp_vault_engine` (string)
    Vault engine name where the credential is stored.

  - `mssql_user_domain_hashicorp_vault_secret_path` (string)
    Path in the vault engine where the credential is stored.

  - `mssql_user_domain_hashicorp_vault_username_key` (string)
    Hashicorp vault key for the username in the key-value store.

  - `mssql_user_domain_hashicorp_vault_secret_key` (string)
    Hashicorp vault key for the password in the key-value store.

  - `mssql_user_domain_azure_vault_name` (string)
    Azure key vault name.

  - `mssql_user_domain_azure_vault_username_key` (string)
    Azure vault key for the username in the key-value store.

  - `mssql_user_domain_azure_vault_secret_key` (string)
    Azure vault key for the password in the key-value store.

  - `mssql_user_domain_cyberark_vault_query_string` (string)
    Query to find a credential in the CyberArk vault.

  - `mssql_database_username` (string)
    The username for the source DB user.

  - `mssql_database_password` (string)
    Password for the database user.

  - `delphix_managed_backup_compression_enabled` (boolean)
    Specify whether the backups taken should be compressed or uncompressed when Delphix managed option is selected.

  - `delphix_managed_backup_policy` (string)
    Specify which node of an availability group to run the copy-only full backup on:
* `primary` - Backups only go to the primary node.
* `secondary_only` - Backups only go to secondary nodes. If secondary nodes are down, backups will fail.
* `prefer_secondary` - Backups go to secondary nodes, but if secondary nodes are down, backups will go to the primary node.
    Enum: "primary", "secondary_only", "prefer_secondary"

  - `external_managed_validate_sync_mode` (string)
    Specifies the backup types ValidatedSync will use to synchronize the dSource with the source database
    Enum: "TRANSACTION_LOG", "FULL_OR_DIFFERENTIAL", "FULL", "NONE"

  - `external_managed_shared_backup_locations` (array)
    Shared source database backup locations.

  - `external_netbackup_config_master_name` (string)
    The master server name of this NetBackup configuration.

  - `external_netbackup_config_source_client_name` (string)
    The source's client server name of this NetBackup configuration.

  - `external_netbackup_config_params` (object)
    NetBackup configuration parameter overrides.

  - `external_netbackup_config_templates` (string)
    Optional config template selection for NetBackup configurations. If set, external_netbackup_config_params will be ignored.

  - `external_commserve_host_name` (string)
    The commserve host name of this Commvault configuration.

  - `external_commvault_config_source_client_name` (string)
    The source client name of this Commvault configuration.

  - `external_commvault_config_staging_client_name` (string)
    The staging client name of this Commvault configuration.

  - `external_commvault_config_params` (object)
    Commvault configuration parameter overrides.

  - `external_commvault_config_templates` (string)
    Optional config template selection for Commvault configurations. If set, configParams will be ignored.

