# AWS RDS MySQL

## Example Usage

***

{% tabs %}
{% tab title="Terraform" %}
{% code title="aws-rds-mysql-integration.tf" %}

```tf
resource "apono_integration" "aws-rds-mysql-integration" {
  name                     = "AWS RDS MySQL"
  type                     = "aws-rds-mysql"
  connector_id             = "apono-connector-id"
  connected_resource_types = ["aws-rds-mysql-instance"]
  metadata = {
    auth_type = "<Auth Type>"
    aws_region = "<Region>"
    aws_instance_id = "<Instance ID>"
    credentials_rotation_period_in_days = "<Credentials rotation period (in days)>"
    credentials_cleanup_period_in_days = "<User cleanup after access is revoked (in days)>"
  }
  aws_secret = {
    region    = "aws_region_template_value"
    secret_id = "aws_secret_id_template_value"
  }
}
```

{% endcode %}
{% endtab %}

{% tab title="Terraform V2" %}
{% code title="aws-rds-mysql-integration.tf" %}

```tf
resource "apono_resource_integration" "aws-rds-mysql-integration" {
  name                     = "AWS RDS MySQL"
  type                     = "aws-rds-mysql"
  connector_id             = "apono-connector-id"
  connected_resource_types = ["aws-rds-mysql-instance"]
  integration_config = {
    auth_type = "<Auth Type>"
    aws_region = "<Region>"
    aws_instance_id = "<Instance ID>"
    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 = {
    aws = {
      region    = "aws_region_template_value"
      secret_id = "aws_secret_id_template_value"
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="Public API" %}
{% code title="aws-rds-mysql-integration.json" %}

```json
{
    "aws-rds-mysql-integration": {
        "name": "AWS RDS MySQL",
        "type": "aws-rds-mysql",
        "connector_id": "apono-connector-id",
        "connected_resource_types": [
            "aws-rds-mysql-instance"
        ],
        "integration_config": {
            "auth_type": "<Auth Type>",
            "aws_region": "<Region>",
            "aws_instance_id": "<Instance ID>",
            "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": {
    	    "region": "aws_region_template_value",
    	    "secret_id": "aws_secret_id_template_value"
  	    }
    }
}
```

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

## Schema

***

* `type` aws-rds-mysql
* `connected_resource_types` List of resource types to sync.

<details>

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

* aws-rds-mysql-instance
* aws-rds-mysql-database
* aws-rds-mysql-table
* aws-rds-mysql-role

</details>

### Integration Config

***

* `auth_type` (Required | String) Auth Type
  * Possible values: aws-iam-auth, user-password
* `aws_region` (Required | String) Region
  * Possible values: us-east-1, us-east-2, us-west-1, us-west-2, eu-central-1, eu-central-2, eu-west-1, eu-west-2, eu-south-1, eu-south-2, eu-west-3, eu-north-1, af-south-1, ap-east-1, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-7, ap-south-1, ap-south-2, ap-northeast-3, ap-northeast-2, ap-southeast-1, ap-southeast-2, ap-northeast-1, ca-central-1, ca-west-1, me-south-1, me-central-1, sa-east-1, il-central-1, mx-central-1
* `aws_instance_id` (Required | String) Instance ID
* `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)
