|
65 | 65 | " try:\n",
|
66 | 66 | " response = self.opensearch_client.describe_elasticsearch_domain(DomainName=domain_name)\n",
|
67 | 67 | " domain_info = response['DomainStatus']\n",
|
68 |
| - " domain_url = domain_info['Endpoint']\n", |
69 | 68 | " domain_arn = domain_info['ARN']\n",
|
| 69 | + "\n", |
| 70 | + " # Check if domain has VPC endpoints\n", |
| 71 | + " if 'Endpoints' in domain_info:\n", |
| 72 | + " # VPC domain case\n", |
| 73 | + " if 'vpc' in domain_info['Endpoints']:\n", |
| 74 | + " domain_url = domain_info['Endpoints']['vpc']\n", |
| 75 | + " else:\n", |
| 76 | + " domain_url = next(iter(domain_info['Endpoints'].values()))\n", |
| 77 | + " # Non-VPC domain case\n", |
| 78 | + " elif 'Endpoint' in domain_info:\n", |
| 79 | + " domain_url = domain_info['Endpoint']\n", |
| 80 | + " else:\n", |
| 81 | + " print(f\"No endpoint found for domain '{domain_name}'\")\n", |
| 82 | + " return None, None\n", |
| 83 | + "\n", |
70 | 84 | " return f'https://{domain_url}', domain_arn\n",
|
71 | 85 | " except self.opensearch_client.exceptions.ResourceNotFoundException:\n",
|
72 | 86 | " print(f\"Domain '{domain_name}' not found.\")\n",
|
|
0 commit comments