💨
セルフホストなGitLabとのCode:Connectiosnを利用したCDK用のカスタムリソースを作成
必要に駆られ?たので、Code::Connectionsを利用したCDK用のカスタムリソースを作成することにしました。
現状、AWSの公式マニュアルだったり、CloudFormationでは未対応なようで、、、だけどAPIは全てじゃないけど存在するみたいでした(いずれ対応するかと)、それらを駆使してカスタムリソースをつくることにしました。
※カスタムリソースが不要になる日を待ち侘びてます。。。
APIは全部じゃないけど公開されている。
Note:
にあるようにUpdate PengingaはCLIとかでは更新できない(WEBコンソールを使う必要がある)
そこら辺を踏まえた上で、Hostの作成とConnectionの作成までをCDKコンストラクトする!
というのを作成して公開しました。
import { CodeConnectionsHostCustomResource, CodeConnectionsHostProviderType } from '@gammarers/aws-codeconnections-host-custom-resource';
const codeConnectionsHostCustomResource = new CodeConnectionsHostCustomResource(this, 'CodeConnectionsHost', {
name: 'gitlab.example.com', // required, connection host name (Minimum length of 1. Maximum length of 64.)
providerEndpoint: 'https://gitlab.example.com', // required, your provider endpoint (Minimum length of 1. Maximum length of 512.)
providerType: CodeConnectionsHostProviderType.GIT_LAB_SELF_MANAGED,
});
// get host arn
const hostArn = gitLabSelfManagedConnectionHostCustomResource.findHostArn();
new codeconnections.CfnConnection(this, 'Connection', {
connectionName: 'example-gitlab-connection',
hostArn,
});
Discussion