# Azure VM SSH

## Example Usage

***

{% tabs %}
{% tab title="Terraform" %}
{% code title="azure-vm-ssh-integration.tf" %}

```tf
resource "apono_integration" "azure-vm-ssh-integration" {
  name                     = "Azure VM SSH"
  type                     = "azure-vm-ssh"
  connector_id             = "apono-connector-id"
  connected_resource_types = ["azure-vm-ssh-server"]
  metadata = {
    region = "<Region>"
    user = "<User>"
    groups = "<User Groups>"
    shell = "<User&#39;s Login Shell>"
    user_key_name = "<User Key Name>"
    credentials_rotation_period_in_days = "<Credentials rotation period (in days)>"
    credentials_cleanup_period_in_days = "<User cleanup after access is revoked (in days)>"
  }
  kubernetes_secret = {
    name      = "name_template_value"
    namespace = "namespace_template_value"
  }
}
```

{% endcode %}
{% endtab %}

{% tab title="Terraform V2" %}
{% code title="azure-vm-ssh-integration.tf" %}

```tf
resource "apono_resource_integration" "azure-vm-ssh-integration" {
  name                     = "Azure VM SSH"
  type                     = "azure-vm-ssh"
  connector_id             = "apono-connector-id"
  connected_resource_types = ["azure-vm-ssh-server"]
  integration_config = {
    region = "<Region>"
    user = "<User>"
    groups = "<User Groups>"
    shell = "<User&#39;s Login Shell>"
    user_key_name = "<User Key Name>"
    credentials_rotation_period_in_days = "<Credentials rotation period (in days)>"
    credentials_cleanup_period_in_days = "<User cleanup after access is revoked (in days)>"
  }
  secret_store_config = {
    kubernetes = {
      name      = "name_template_value"
      namespace = "namespace_template_value"
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="Public API" %}
{% code title="azure-vm-ssh-integration.json" %}

```json
{
    "azure-vm-ssh-integration": {
        "name": "Azure VM SSH",
        "type": "azure-vm-ssh",
        "connector_id": "apono-connector-id",
        "connected_resource_types": [
            "azure-vm-ssh-server"
        ],
        "integration_config": {
            "region": "<Region>",
            "user": "<User>",
            "groups": "<User Groups>",
            "shell": "<User&#39;s Login Shell>",
            "user_key_name": "<User Key Name>",
            "credentials_rotation_period_in_days": "<Credentials rotation period (in days)>",
            "credentials_cleanup_period_in_days": "<User cleanup after access is revoked (in days)>",
        },
	"secret_store_config": {
    	    "name": "name_template_value",
    	    "namespace": "namespace_template_value"
  	    }
    }
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

## Schema

***

* `type` azure-vm-ssh
* `connected_resource_types` List of resource types to sync.

<details>

<summary>Available resource types you can use</summary>

* azure-vm-ssh-server

</details>

### Integration Config

***

* `region` (Optional | String) Region
  * Possible values: eastus, eastus2, centralus, northcentralus, southcentralus, westus, westus2, westus3, canadacentral, canadaeast, brazilsouth, brazilsoutheast, northeurope, westeurope, uksouth, ukwest, francecentral, germanywestcentral, norwayeast, swedencentral, switzerlandnorth, switzerlandwest, uaenorth, mecentral, mesouth, israelcentral, southafricanorth, eastasia, southeastasia, australiaeast, australiasoutheast, japaneast, japanwest, koreacentral, centralindia, southindia, westindia
* `user` (Required | String) User
* `groups` (Optional | String) User Groups
* `shell` (Optional | String) User's Login Shell
* `user_key_name` (Optional | String) User Key Name
* `credentials_rotation_period_in_days` (Optional | String) Credentials rotation period (in days)
* `credentials_cleanup_period_in_days` (Optional | String) User cleanup after access is revoked (in days)
