Reputation: 427
I am trying to create FOUR Glue Connections using Cloud Formation template.
The template should ideally create all FOUR connections and I could add more if I want to. I have tried using multiple resources, doesn't work.
But the below code is creating the the connection for the LAST connection only. Here is my Code:
AWSTemplateFormatVersion: 2010-09-09
Description: Glue Connection
Parameters:
VpcId:
Description: VPC-ID
Type: 'AWS::EC2::VPC::Id'
Default: vpc-xxxxxxxxx
SecurityGroup:
Description: SG-ID
Type: 'AWS::EC2::SecurityGroup::Id'
Default: sg-xxxxxxxxx
SubnetRESA1:
Type: String
Description: Public Subnet
Default: subnet-xxxxxxxxx
Resources:
GC31IPP:
Type: 'AWS::Glue::Connection'
Properties:
CatalogId: 'a/c_number'
ConnectionInput:
ConnectionProperties:
Name: GENERIC_CONNECTION
Type: Network
ConnectionType: NETWORK
Description: >-
Adding a Generic connection with VPC, Subnet and Security Group to
access SAP and other DBs
Name: GENERIC_CONNECTION
PhysicalConnectionRequirements:
AvailabilityZone: us-east-1a
SecurityGroupIdList:
- sg-xxxxxxxxx
SubnetId: subnet-xxxxxxxxx
ConnectionInput:
ConnectionProperties:
Name: MySQL_CONNECTION
Type: JDBC
JDBC_CONNECTION_URL: "jdbc:mysql://host-url:3306/db"
USERNAME: "user"
PASSWORD: "pass"
ConnectionType: JDBC
Description: >-
MySQL connection to POS DB
Name: MySQL_CONNECTION
PhysicalConnectionRequirements:
AvailabilityZone: us-east-1a
SecurityGroupIdList:
- sg-xxxxxxxxx
SubnetId: subnet-xxxxxxxxx
ConnectionInput:
ConnectionProperties:
Name: SAP_ECC_CONNECTION_Pre-ProdEnv
Type: JDBC
JDBC_CONNECTION_URL: "jdbc:sap://host-url:31015/?instanceNumber=10&databaseName=db_name"
USERNAME: "user"
PASSWORD: "pass"
ConnectionType: JDBC
Description: >-
SAP ECC Pre Prod connection
Name: SAP_ECC_CONNECTION_Pre-ProdEnv
PhysicalConnectionRequirements:
AvailabilityZone: us-east-1a
SecurityGroupIdList:
- sg-xxxxxxxxx
SubnetId: subnet-xxxxxxxxx
ConnectionInput:
ConnectionProperties:
Name: SAP_QAL_CONNECTION_QAEnv
Type: JDBC
JDBC_CONNECTION_URL: "jdbc:sap://host-url:32015/?instanceNumber=20&databaseName=db_name"
USERNAME: "seru"
PASSWORD: "pass"
ConnectionType: JDBC
Description: >-
SAP ECC Pre Prod connection
Name: SAP_QAL_CONNECTION_QAEnv
PhysicalConnectionRequirements:
AvailabilityZone: us-east-1a
SecurityGroupIdList:
- sg-xxxxxxxxx
SubnetId: subnet-xxxxxxxxx
The above template is creating only ONE connection i.e. the last one. Named: SAP_QAL_CONNECTION_QAEnv
.
How can I add all of them in a single script?
Upvotes: 0
Views: 4243
Reputation: 238747
This is because a single AWS::Glue::Connection
creates one connection. To create four, you need four AWS::Glue::Connection
resources.
Illustrative example which you will need to adjust to your settings:
GC31IPP-Connection1:
Type: 'AWS::Glue::Connection'
Properties:
CatalogId: 'a/c_number'
ConnectionInput:
ConnectionProperties:
Name: GENERIC_CONNECTION
Type: Network
GC31IPP-Connection2:
Type: 'AWS::Glue::Connection'
Properties:
CatalogId: 'a/c_number'
ConnectionInput:
ConnectionProperties:
Name: GENERIC_CONNECTION
Type: Network
GC31IPP-Connection3:
Type: 'AWS::Glue::Connection'
Properties:
CatalogId: 'a/c_number'
ConnectionInput:
ConnectionProperties:
Name: GENERIC_CONNECTION
Type: Network
GC31IPP-Connection4:
Type: 'AWS::Glue::Connection'
Properties:
CatalogId: 'a/c_number'
ConnectionInput:
ConnectionProperties:
Name: GENERIC_CONNECTION
Type: Network
Upvotes: 3