From 84277ede729d39e38652fff0beaf23f231766c8e Mon Sep 17 00:00:00 2001 From: cdklabs-automation <90142015+cdklabs-automation@users.noreply.github.com> Date: Sun, 10 Mar 2024 23:16:53 -0700 Subject: [PATCH] feat: cloudformation registry update (#559) * feat: cloudformation registry update * chore: self mutation Signed-off-by: github-actions --------- Signed-off-by: github-actions Co-authored-by: mergify Co-authored-by: github-actions --- .gitattributes | 2 + .github/workflows/build-individual.yml | 2 + ...elease-svectordb-vectordatabase-apikey.yml | 196 +++++++++++++++++ ...ease-svectordb-vectordatabase-database.yml | 196 +++++++++++++++++ .gitignore | 6 + .projen/files.json | 2 + README.md | 4 +- .../.gitignore | 15 ++ .../.npmignore | 8 + .../.projen/files.json | 13 ++ .../.projen/tasks.json | 45 ++++ .../svectordb-vectordatabase-apikey/LICENSE | 202 ++++++++++++++++++ .../svectordb-vectordatabase-apikey/README.md | 45 ++++ .../package.json | 72 +++++++ .../src/index.ts | 89 ++++++++ .../.gitignore | 15 ++ .../.npmignore | 8 + .../.projen/files.json | 13 ++ .../.projen/tasks.json | 45 ++++ .../svectordb-vectordatabase-database/LICENSE | 202 ++++++++++++++++++ .../README.md | 45 ++++ .../package.json | 72 +++++++ .../src/index.ts | 129 +++++++++++ .../svectordb-vectordatabase-apikey.json | 15 ++ .../svectordb-vectordatabase-database.json | 15 ++ 25 files changed, 1455 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/release-svectordb-vectordatabase-apikey.yml create mode 100644 .github/workflows/release-svectordb-vectordatabase-database.yml create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.gitignore create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.npmignore create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/files.json create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/tasks.json create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/LICENSE create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/README.md create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/package.json create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/src/index.ts create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/.gitignore create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/.npmignore create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/files.json create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/tasks.json create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/LICENSE create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/README.md create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/package.json create mode 100644 packages/@cdk-cloudformation/svectordb-vectordatabase-database/src/index.ts create mode 100644 registry/types/svectordb-vectordatabase-apikey.json create mode 100644 registry/types/svectordb-vectordatabase-database.json diff --git a/.gitattributes b/.gitattributes index 72098ab91..ba629fbb9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -170,6 +170,8 @@ /.github/workflows/release-spot-elastigroup-group.yml linguist-generated /.github/workflows/release-stackery-open-bastion-module.yml linguist-generated /.github/workflows/release-stocks-orders-marketorder.yml linguist-generated +/.github/workflows/release-svectordb-vectordatabase-apikey.yml linguist-generated +/.github/workflows/release-svectordb-vectordatabase-database.yml linguist-generated /.github/workflows/release-symphonia-opensource-cloudformationartifactsbucket-module.yml linguist-generated /.github/workflows/release-sysdig-helm-agent.yml linguist-generated /.github/workflows/release-tf-ad-computer.yml linguist-generated diff --git a/.github/workflows/build-individual.yml b/.github/workflows/build-individual.yml index d40089e0b..b4d085d73 100644 --- a/.github/workflows/build-individual.yml +++ b/.github/workflows/build-individual.yml @@ -183,6 +183,8 @@ jobs: - spot-elastigroup-group - stackery-open-bastion-module - stocks-orders-marketorder + - svectordb-vectordatabase-apikey + - svectordb-vectordatabase-database - symphonia-opensource-cloudformationartifactsbucket-module - sysdig-helm-agent - tf-ad-computer diff --git a/.github/workflows/release-svectordb-vectordatabase-apikey.yml b/.github/workflows/release-svectordb-vectordatabase-apikey.yml new file mode 100644 index 000000000..62e508589 --- /dev/null +++ b/.github/workflows/release-svectordb-vectordatabase-apikey.yml @@ -0,0 +1,196 @@ +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". + +name: release-svectordb-vectordatabase-apikey +on: + push: + branches: + - main + workflow_dispatch: {} +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + outputs: + releasable_commits: ${{ steps.check-commits.outputs.releasable_count }} + tag_exists: ${{ steps.check-tag.outputs.exists }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set git identity + run: |- + git config user.name "github-actions" + git config user.email "github-actions@github.com" + - run: yarn install + - name: build + run: npx projen build + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-apikey + - name: Create version files + run: |- + echo $(node -p "require('./package.json').version") > dist/version.txt + echo "@cdk-cloudformation/svectordb-vectordatabase-apikey@v$(cat dist/version.txt)" > dist/releasetag.txt + echo "Update AWS CloudFormation Registry type SvectorDB::VectorDatabase::ApiKey to v$(cat dist/version.txt)" > dist/changelog.txt + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-apikey + - name: Check for releasable commits + id: check-commits + run: |- + LATEST_TAG=$(git -c "versionsort.suffix=-" tag --sort="-version:refname" --list "@cdk-cloudformation/svectordb-vectordatabase-apikey@v*" | head -n 1) + echo ${LATEST_TAG:=$(git rev-list HEAD -- . | tail -1)^} + COUNT=$(git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep '^(feat|fix){1}(\([^()[:space:]]+\))?(!)?:[[:blank:]]+.+' -- . | wc -l | xargs) + echo "releasable_count=$COUNT" >> $GITHUB_OUTPUT + cat $GITHUB_OUTPUT + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-apikey + - name: Check if tag exists + id: check-tag + run: |- + TAG=$(cat dist/releasetag.txt) + ([ ! -z "$TAG" ] && git ls-remote -q --exit-code --tags origin $TAG && (echo "exists=true" >> $GITHUB_OUTPUT)) || (echo "exists=false" >> $GITHUB_OUTPUT) + cat $GITHUB_OUTPUT + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-apikey + - if: always() + run: mv packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/dist . + - name: Upload artifact + if: always() + uses: actions/upload-artifact@v4 + with: + name: build-artifact + path: dist + overwrite: true + container: + image: jsii/superchain:1-bullseye-slim + release_github: + name: Publish to GitHub Releases + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_REPOSITORY: ${{ github.repository }} + GITHUB_REF: ${{ github.ref }} + run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.txt -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi + release_npm: + name: Publish to npm + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + NPM_DIST_TAG: latest + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npx -p publib@latest publib-npm + release_maven: + name: Publish to Maven Central + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 11.x + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + MAVEN_ENDPOINT: https://s01.oss.sonatype.org + MAVEN_GPG_PRIVATE_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + MAVEN_GPG_PRIVATE_KEY_PASSPHRASE: ${{ secrets.MAVEN_GPG_PRIVATE_KEY_PASSPHRASE }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} + MAVEN_STAGING_PROFILE_ID: ${{ secrets.MAVEN_STAGING_PROFILE_ID }} + run: npx -p publib@latest publib-maven + release_nuget: + name: Publish to NuGet Gallery + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - uses: actions/setup-dotnet@v3 + with: + dotnet-version: 3.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} + run: npx -p publib@latest publib-nuget + release_pypi: + name: Publish to PyPI + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} + TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + run: npx -p publib@latest publib-pypi diff --git a/.github/workflows/release-svectordb-vectordatabase-database.yml b/.github/workflows/release-svectordb-vectordatabase-database.yml new file mode 100644 index 000000000..4bcfd3251 --- /dev/null +++ b/.github/workflows/release-svectordb-vectordatabase-database.yml @@ -0,0 +1,196 @@ +# ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen". + +name: release-svectordb-vectordatabase-database +on: + push: + branches: + - main + workflow_dispatch: {} +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + outputs: + releasable_commits: ${{ steps.check-commits.outputs.releasable_count }} + tag_exists: ${{ steps.check-tag.outputs.exists }} + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Set git identity + run: |- + git config user.name "github-actions" + git config user.email "github-actions@github.com" + - run: yarn install + - name: build + run: npx projen build + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-database + - name: Create version files + run: |- + echo $(node -p "require('./package.json').version") > dist/version.txt + echo "@cdk-cloudformation/svectordb-vectordatabase-database@v$(cat dist/version.txt)" > dist/releasetag.txt + echo "Update AWS CloudFormation Registry type SvectorDB::VectorDatabase::Database to v$(cat dist/version.txt)" > dist/changelog.txt + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-database + - name: Check for releasable commits + id: check-commits + run: |- + LATEST_TAG=$(git -c "versionsort.suffix=-" tag --sort="-version:refname" --list "@cdk-cloudformation/svectordb-vectordatabase-database@v*" | head -n 1) + echo ${LATEST_TAG:=$(git rev-list HEAD -- . | tail -1)^} + COUNT=$(git log --no-merges --oneline $LATEST_TAG..HEAD -E --grep '^(feat|fix){1}(\([^()[:space:]]+\))?(!)?:[[:blank:]]+.+' -- . | wc -l | xargs) + echo "releasable_count=$COUNT" >> $GITHUB_OUTPUT + cat $GITHUB_OUTPUT + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-database + - name: Check if tag exists + id: check-tag + run: |- + TAG=$(cat dist/releasetag.txt) + ([ ! -z "$TAG" ] && git ls-remote -q --exit-code --tags origin $TAG && (echo "exists=true" >> $GITHUB_OUTPUT)) || (echo "exists=false" >> $GITHUB_OUTPUT) + cat $GITHUB_OUTPUT + working-directory: packages/@cdk-cloudformation/svectordb-vectordatabase-database + - if: always() + run: mv packages/@cdk-cloudformation/svectordb-vectordatabase-database/dist . + - name: Upload artifact + if: always() + uses: actions/upload-artifact@v4 + with: + name: build-artifact + path: dist + overwrite: true + container: + image: jsii/superchain:1-bullseye-slim + release_github: + name: Publish to GitHub Releases + needs: build + runs-on: ubuntu-latest + permissions: + contents: write + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_REPOSITORY: ${{ github.repository }} + GITHUB_REF: ${{ github.ref }} + run: errout=$(mktemp); gh release create $(cat dist/releasetag.txt) -R $GITHUB_REPOSITORY -F dist/changelog.txt -t $(cat dist/releasetag.txt) --target $GITHUB_REF 2> $errout && true; exitcode=$?; if [ $exitcode -ne 0 ] && ! grep -q "Release.tag_name already exists" $errout; then cat $errout; exit $exitcode; fi + release_npm: + name: Publish to npm + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + NPM_DIST_TAG: latest + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npx -p publib@latest publib-npm + release_maven: + name: Publish to Maven Central + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 11.x + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + MAVEN_ENDPOINT: https://s01.oss.sonatype.org + MAVEN_GPG_PRIVATE_KEY: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} + MAVEN_GPG_PRIVATE_KEY_PASSPHRASE: ${{ secrets.MAVEN_GPG_PRIVATE_KEY_PASSPHRASE }} + MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} + MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} + MAVEN_STAGING_PROFILE_ID: ${{ secrets.MAVEN_STAGING_PROFILE_ID }} + run: npx -p publib@latest publib-maven + release_nuget: + name: Publish to NuGet Gallery + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - uses: actions/setup-dotnet@v3 + with: + dotnet-version: 3.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} + run: npx -p publib@latest publib-nuget + release_pypi: + name: Publish to PyPI + needs: build + runs-on: ubuntu-latest + permissions: + contents: read + if: (needs.build.outputs.tag_exists != 'true') && (needs.build.outputs.releasable_commits > 0) + steps: + - uses: actions/setup-node@v4 + with: + node-version: 18.x + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - name: Download build artifacts + uses: actions/download-artifact@v4 + with: + name: build-artifact + path: dist + - name: Restore build artifact permissions + run: cd dist && setfacl --restore=permissions-backup.acl + continue-on-error: true + - name: Release + env: + TWINE_USERNAME: ${{ secrets.TWINE_USERNAME }} + TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }} + run: npx -p publib@latest publib-pypi diff --git a/.gitignore b/.gitignore index 20dcee56b..637a48a64 100644 --- a/.gitignore +++ b/.gitignore @@ -533,6 +533,12 @@ junit.xml /packages/@cdk-cloudformation/stocks-orders-marketorder/dist/ /packages/@cdk-cloudformation/stocks-orders-marketorder/lib/ !/.github/workflows/release-stocks-orders-marketorder.yml +/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/dist/ +/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/lib/ +!/.github/workflows/release-svectordb-vectordatabase-apikey.yml +/packages/@cdk-cloudformation/svectordb-vectordatabase-database/dist/ +/packages/@cdk-cloudformation/svectordb-vectordatabase-database/lib/ +!/.github/workflows/release-svectordb-vectordatabase-database.yml /packages/@cdk-cloudformation/symphonia-opensource-cloudformationartifactsbucket-module/dist/ /packages/@cdk-cloudformation/symphonia-opensource-cloudformationartifactsbucket-module/lib/ !/.github/workflows/release-symphonia-opensource-cloudformationartifactsbucket-module.yml diff --git a/.projen/files.json b/.projen/files.json index a7d04e485..89b3fd6a5 100644 --- a/.projen/files.json +++ b/.projen/files.json @@ -169,6 +169,8 @@ ".github/workflows/release-spot-elastigroup-group.yml", ".github/workflows/release-stackery-open-bastion-module.yml", ".github/workflows/release-stocks-orders-marketorder.yml", + ".github/workflows/release-svectordb-vectordatabase-apikey.yml", + ".github/workflows/release-svectordb-vectordatabase-database.yml", ".github/workflows/release-symphonia-opensource-cloudformationartifactsbucket-module.yml", ".github/workflows/release-sysdig-helm-agent.yml", ".github/workflows/release-tf-ad-computer.yml", diff --git a/README.md b/README.md index 723827b86..1ccae7963 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ that version from your package manager. -Release status for 173 libraries: +Release status for 175 libraries: * [![aqua-enterprise-enforcer](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-aqua-enterprise-enforcer.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-aqua-enterprise-enforcer.yml) * [![aqua-enterprise-kubeenforcer](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-aqua-enterprise-kubeenforcer.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-aqua-enterprise-kubeenforcer.yml) @@ -202,6 +202,8 @@ Release status for 173 libraries: * [![spot-elastigroup-group](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-spot-elastigroup-group.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-spot-elastigroup-group.yml) * [![stackery-open-bastion-module](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-stackery-open-bastion-module.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-stackery-open-bastion-module.yml) * [![stocks-orders-marketorder](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-stocks-orders-marketorder.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-stocks-orders-marketorder.yml) +* [![svectordb-vectordatabase-apikey](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-svectordb-vectordatabase-apikey.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-svectordb-vectordatabase-apikey.yml) +* [![svectordb-vectordatabase-database](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-svectordb-vectordatabase-database.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-svectordb-vectordatabase-database.yml) * [![symphonia-opensource-cloudformationartifactsbucket-module](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-symphonia-opensource-cloudformationartifactsbucket-module.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-symphonia-opensource-cloudformationartifactsbucket-module.yml) * [![sysdig-helm-agent](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-sysdig-helm-agent.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-sysdig-helm-agent.yml) * [![tf-ad-computer](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-tf-ad-computer.yml/badge.svg)](https://github.com/cdklabs/cdk-cloudformation/actions/workflows/release-tf-ad-computer.yml) diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.gitignore b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.gitignore new file mode 100644 index 000000000..3c26cd33e --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.gitignore @@ -0,0 +1,15 @@ +# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +node_modules/ +!/.gitattributes +!/.projen/tasks.json +!/.projen/deps.json +!/.projen/files.json +!/LICENSE +!/README.md +!/package.json +/.jsii +/lib/ +/tsconfig.json +/dist/ +tsconfig.tsbuildinfo +!/.npmignore diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.npmignore b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.npmignore new file mode 100644 index 000000000..23f1be049 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.npmignore @@ -0,0 +1,8 @@ +# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +.projen +dist +src +test +tsconfig.tsbuildinfo +!.jsii +!.jsii.gz diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/files.json b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/files.json new file mode 100644 index 000000000..e100c0f27 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/files.json @@ -0,0 +1,13 @@ +{ + "files": [ + ".gitattributes", + ".gitignore", + ".projen/deps.json", + ".projen/files.json", + ".projen/tasks.json", + "LICENSE", + "package.json", + "README.md" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/tasks.json b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/tasks.json new file mode 100644 index 000000000..157916927 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/.projen/tasks.json @@ -0,0 +1,45 @@ +{ + "tasks": { + "build": { + "name": "build", + "description": "build svectordb-vectordatabase-apikey", + "steps": [ + { + "spawn": "compile" + }, + { + "spawn": "package" + } + ] + }, + "compile": { + "name": "compile", + "description": "compile svectordb-vectordatabase-apikey with JSII", + "steps": [ + { + "exec": "jsii" + } + ] + }, + "default": { + "name": "default", + "description": "Synthesize project files", + "steps": [ + { + "exec": "npx projen default", + "cwd": "../../.." + } + ] + }, + "package": { + "name": "package", + "description": "produce multi-language packaging for svectordb-vectordatabase-apikey", + "steps": [ + { + "exec": "jsii-pacmak --no-npmignore" + } + ] + } + }, + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/LICENSE b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/README.md b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/README.md new file mode 100644 index 000000000..d55d5d3f6 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/README.md @@ -0,0 +1,45 @@ +# svectordb-vectordatabase-apikey + +> AWS CDK [L1 construct] and data structures for the [AWS CloudFormation Registry] type `SvectorDB::VectorDatabase::ApiKey` v1.0.0. + +[L1 construct]: https://docs.aws.amazon.com/cdk/latest/guide/constructs.html +[AWS CloudFormation Registry]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html + +## Description + +Generates an API key to access a SvectorDB serverless vector database, sign up at https://svectordb.com to get started + +## Usage + +In order to use this library, you will need to activate this AWS CloudFormation Registry type in your account. You can do this via the AWS Management Console or using the [AWS CLI](https://aws.amazon.com/cli/) using the following command: + +```sh +aws cloudformation activate-type \ + --type-name SvectorDB::VectorDatabase::ApiKey \ + --publisher-id a867ba60608173fcd64ddc25dcbee967cb54dbb4 \ + --type RESOURCE \ + --execution-role-arn ROLE-ARN +``` + +Alternatively: + +```sh +aws cloudformation activate-type \ + --public-type-arn arn:aws:cloudformation:us-east-1::type/resource/a867ba60608173fcd64ddc25dcbee967cb54dbb4/SvectorDB-VectorDatabase-ApiKey \ + --execution-role-arn ROLE-ARN +``` + +You can find more information about activating this type in the [AWS CloudFormation documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html). + +## Feedback + +This library is auto-generated and published to all supported programming languages by the [cdklabs/cdk-cloudformation] project based on the API schema published for `SvectorDB::VectorDatabase::ApiKey`. + +* Issues related to this generated library should be [reported here](https://github.com/cdklabs/cdk-cloudformation/issues/new?title=Issue+with+%40cdk-cloudformation%2Fsvectordb-vectordatabase-apikey+v1.0.0). +* Issues related to `SvectorDB::VectorDatabase::ApiKey` should be reported to the [publisher](undefined). + +[cdklabs/cdk-cloudformation]: https://github.com/cdklabs/cdk-cloudformation + +## License + +Distributed under the Apache-2.0 License. diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/package.json b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/package.json new file mode 100644 index 000000000..4d58b4944 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/package.json @@ -0,0 +1,72 @@ +{ + "name": "@cdk-cloudformation/svectordb-vectordatabase-apikey", + "description": "Generates an API key to access a SvectorDB serverless vector database, sign up at https://svectordb.com to get started", + "version": "1.0.0-alpha.7", + "author": { + "name": "Amazon Web Services", + "url": "https://aws.amazon.com", + "organization": true + }, + "keywords": [ + "cdk", + "awscdk", + "aws-cdk", + "cloudformation", + "cfn", + "extensions", + "constructs", + "cfn-resources", + "cloudformation-registry", + "l1", + "svectordb", + "vectordatabase", + "apikey" + ], + "repository": { + "type": "git", + "url": "https://github.com/cdklabs/cdk-cloudformation.git", + "directory": "packages/@cdk-cloudformation/svectordb-vectordatabase-apikey" + }, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "publishConfig": { + "access": "public" + }, + "jsii": { + "outdir": "dist", + "targets": { + "java": { + "package": "io.github.cdklabs.cdk_cloudformation.svectordb_vectordatabase_apikey", + "maven": { + "groupId": "io.github.cdklabs.cdk_cloudformation", + "artifactId": "svectordb-vectordatabase-apikey" + } + }, + "python": { + "distName": "cdk-cloudformation-svectordb-vectordatabase-apikey", + "module": "cdk_cloudformation_svectordb_vectordatabase_apikey" + }, + "dotnet": { + "namespace": "CdkCloudFormation.SvectorDBVectorDatabaseApiKey", + "packageId": "CdkCloudFormation.SvectorDBVectorDatabaseApiKey" + } + }, + "tsc": { + "outDir": "lib", + "rootDir": "src", + "types": [ + "node" + ] + } + }, + "peerDependencies": { + "aws-cdk-lib": "^2.132.0", + "constructs": "^10.3.0" + }, + "devDependencies": { + "aws-cdk-lib": "2.132.0", + "constructs": "10.3.0" + }, + "license": "Apache-2.0", + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/src/index.ts b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/src/index.ts new file mode 100644 index 000000000..465a0f5e2 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-apikey/src/index.ts @@ -0,0 +1,89 @@ +// Generated by cdk-import +import * as cdk from 'aws-cdk-lib'; +import * as constructs from 'constructs'; + +/** + * Generates an API key to access a SvectorDB serverless vector database, sign up at https://svectordb.com to get started + * + * @schema CfnApiKeyProps + */ +export interface CfnApiKeyProps { + /** + * (Advanced use cases only) - Custom endpoint URL for contacting the SvectorDB API + * + * @schema CfnApiKeyProps#EndpointUrl + */ + readonly endpointUrl?: string; + + /** + * Integration ID + * + * @schema CfnApiKeyProps#IntegrationId + */ + readonly integrationId: string; + + /** + * Database ID + * + * @schema CfnApiKeyProps#DatabaseId + */ + readonly databaseId: string; + +} + +/** + * Converts an object of type 'CfnApiKeyProps' to JSON representation. + */ +/* eslint-disable max-len, quote-props */ +export function toJson_CfnApiKeyProps(obj: CfnApiKeyProps | undefined): Record | undefined { + if (obj === undefined) { return undefined; } + const result = { + 'EndpointUrl': obj.endpointUrl, + 'IntegrationId': obj.integrationId, + 'DatabaseId': obj.databaseId, + }; + // filter undefined values + return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); +} +/* eslint-enable max-len, quote-props */ + + +/** + * A CloudFormation `SvectorDB::VectorDatabase::ApiKey` + * + * @cloudformationResource SvectorDB::VectorDatabase::ApiKey + * @stability external + * @link http://unknown-url + */ +export class CfnApiKey extends cdk.CfnResource { + /** + * The CloudFormation resource type name for this resource class. + */ + public static readonly CFN_RESOURCE_TYPE_NAME = "SvectorDB::VectorDatabase::ApiKey"; + + /** + * Resource props. + */ + public readonly props: CfnApiKeyProps; + + /** + * Attribute `SvectorDB::VectorDatabase::ApiKey.ApiKey` + * @link http://unknown-url + */ + public readonly attrApiKey: string; + + /** + * Create a new `SvectorDB::VectorDatabase::ApiKey`. + * + * @param scope - scope in which this resource is defined + * @param id - scoped id of the resource + * @param props - resource properties + */ + constructor(scope: constructs.Construct, id: string, props: CfnApiKeyProps) { + super(scope, id, { type: CfnApiKey.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnApiKeyProps(props)! }); + + this.props = props; + + this.attrApiKey = cdk.Token.asString(this.getAtt('ApiKey')); + } +} \ No newline at end of file diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.gitignore b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.gitignore new file mode 100644 index 000000000..3c26cd33e --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.gitignore @@ -0,0 +1,15 @@ +# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +node_modules/ +!/.gitattributes +!/.projen/tasks.json +!/.projen/deps.json +!/.projen/files.json +!/LICENSE +!/README.md +!/package.json +/.jsii +/lib/ +/tsconfig.json +/dist/ +tsconfig.tsbuildinfo +!/.npmignore diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.npmignore b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.npmignore new file mode 100644 index 000000000..23f1be049 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.npmignore @@ -0,0 +1,8 @@ +# ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen". +.projen +dist +src +test +tsconfig.tsbuildinfo +!.jsii +!.jsii.gz diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/files.json b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/files.json new file mode 100644 index 000000000..e100c0f27 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/files.json @@ -0,0 +1,13 @@ +{ + "files": [ + ".gitattributes", + ".gitignore", + ".projen/deps.json", + ".projen/files.json", + ".projen/tasks.json", + "LICENSE", + "package.json", + "README.md" + ], + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/tasks.json b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/tasks.json new file mode 100644 index 000000000..61cf12f6e --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/.projen/tasks.json @@ -0,0 +1,45 @@ +{ + "tasks": { + "build": { + "name": "build", + "description": "build svectordb-vectordatabase-database", + "steps": [ + { + "spawn": "compile" + }, + { + "spawn": "package" + } + ] + }, + "compile": { + "name": "compile", + "description": "compile svectordb-vectordatabase-database with JSII", + "steps": [ + { + "exec": "jsii" + } + ] + }, + "default": { + "name": "default", + "description": "Synthesize project files", + "steps": [ + { + "exec": "npx projen default", + "cwd": "../../.." + } + ] + }, + "package": { + "name": "package", + "description": "produce multi-language packaging for svectordb-vectordatabase-database", + "steps": [ + { + "exec": "jsii-pacmak --no-npmignore" + } + ] + } + }, + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/LICENSE b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/LICENSE new file mode 100644 index 000000000..d64569567 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/README.md b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/README.md new file mode 100644 index 000000000..ada1f72fe --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/README.md @@ -0,0 +1,45 @@ +# svectordb-vectordatabase-database + +> AWS CDK [L1 construct] and data structures for the [AWS CloudFormation Registry] type `SvectorDB::VectorDatabase::Database` v1.1.0. + +[L1 construct]: https://docs.aws.amazon.com/cdk/latest/guide/constructs.html +[AWS CloudFormation Registry]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry.html + +## Description + +Creates a serverless vector database with SvectorDB, sign up at https://svectordb.com to get started + +## Usage + +In order to use this library, you will need to activate this AWS CloudFormation Registry type in your account. You can do this via the AWS Management Console or using the [AWS CLI](https://aws.amazon.com/cli/) using the following command: + +```sh +aws cloudformation activate-type \ + --type-name SvectorDB::VectorDatabase::Database \ + --publisher-id a867ba60608173fcd64ddc25dcbee967cb54dbb4 \ + --type RESOURCE \ + --execution-role-arn ROLE-ARN +``` + +Alternatively: + +```sh +aws cloudformation activate-type \ + --public-type-arn arn:aws:cloudformation:us-east-1::type/resource/a867ba60608173fcd64ddc25dcbee967cb54dbb4/SvectorDB-VectorDatabase-Database \ + --execution-role-arn ROLE-ARN +``` + +You can find more information about activating this type in the [AWS CloudFormation documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html). + +## Feedback + +This library is auto-generated and published to all supported programming languages by the [cdklabs/cdk-cloudformation] project based on the API schema published for `SvectorDB::VectorDatabase::Database`. + +* Issues related to this generated library should be [reported here](https://github.com/cdklabs/cdk-cloudformation/issues/new?title=Issue+with+%40cdk-cloudformation%2Fsvectordb-vectordatabase-database+v1.1.0). +* Issues related to `SvectorDB::VectorDatabase::Database` should be reported to the [publisher](undefined). + +[cdklabs/cdk-cloudformation]: https://github.com/cdklabs/cdk-cloudformation + +## License + +Distributed under the Apache-2.0 License. diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/package.json b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/package.json new file mode 100644 index 000000000..bc3650ff9 --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/package.json @@ -0,0 +1,72 @@ +{ + "name": "@cdk-cloudformation/svectordb-vectordatabase-database", + "description": "Creates a serverless vector database with SvectorDB, sign up at https://svectordb.com to get started", + "version": "1.1.0-alpha.7", + "author": { + "name": "Amazon Web Services", + "url": "https://aws.amazon.com", + "organization": true + }, + "keywords": [ + "cdk", + "awscdk", + "aws-cdk", + "cloudformation", + "cfn", + "extensions", + "constructs", + "cfn-resources", + "cloudformation-registry", + "l1", + "svectordb", + "vectordatabase", + "database" + ], + "repository": { + "type": "git", + "url": "https://github.com/cdklabs/cdk-cloudformation.git", + "directory": "packages/@cdk-cloudformation/svectordb-vectordatabase-database" + }, + "main": "lib/index.js", + "types": "lib/index.d.ts", + "publishConfig": { + "access": "public" + }, + "jsii": { + "outdir": "dist", + "targets": { + "java": { + "package": "io.github.cdklabs.cdk_cloudformation.svectordb_vectordatabase_database", + "maven": { + "groupId": "io.github.cdklabs.cdk_cloudformation", + "artifactId": "svectordb-vectordatabase-database" + } + }, + "python": { + "distName": "cdk-cloudformation-svectordb-vectordatabase-database", + "module": "cdk_cloudformation_svectordb_vectordatabase_database" + }, + "dotnet": { + "namespace": "CdkCloudFormation.SvectorDBVectorDatabaseDatabase", + "packageId": "CdkCloudFormation.SvectorDBVectorDatabaseDatabase" + } + }, + "tsc": { + "outDir": "lib", + "rootDir": "src", + "types": [ + "node" + ] + } + }, + "peerDependencies": { + "aws-cdk-lib": "^2.132.0", + "constructs": "^10.3.0" + }, + "devDependencies": { + "aws-cdk-lib": "2.132.0", + "constructs": "10.3.0" + }, + "license": "Apache-2.0", + "//": "~~ Generated by projen. To modify, edit .projenrc.js and run \"npx projen\"." +} diff --git a/packages/@cdk-cloudformation/svectordb-vectordatabase-database/src/index.ts b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/src/index.ts new file mode 100644 index 000000000..46d56385d --- /dev/null +++ b/packages/@cdk-cloudformation/svectordb-vectordatabase-database/src/index.ts @@ -0,0 +1,129 @@ +// Generated by cdk-import +import * as cdk from 'aws-cdk-lib'; +import * as constructs from 'constructs'; + +/** + * Creates a serverless vector database with SvectorDB, sign up at https://svectordb.com to get started + * + * @schema CfnDatabaseProps + */ +export interface CfnDatabaseProps { + /** + * (Advanced use cases only) - Custom endpoint URL for contacting the SvectorDB API + * + * @schema CfnDatabaseProps#EndpointUrl + */ + readonly endpointUrl?: string; + + /** + * Integration ID + * + * @schema CfnDatabaseProps#IntegrationId + */ + readonly integrationId: string; + + /** + * Name that appears in the SvectorDB console + * + * @schema CfnDatabaseProps#Name + */ + readonly name?: string; + + /** + * @schema CfnDatabaseProps#Type + */ + readonly type?: CfnDatabasePropsType; + + /** + * @schema CfnDatabaseProps#Metric + */ + readonly metric: CfnDatabasePropsMetric; + + /** + * @schema CfnDatabaseProps#Dimension + */ + readonly dimension: number; + +} + +/** + * Converts an object of type 'CfnDatabaseProps' to JSON representation. + */ +/* eslint-disable max-len, quote-props */ +export function toJson_CfnDatabaseProps(obj: CfnDatabaseProps | undefined): Record | undefined { + if (obj === undefined) { return undefined; } + const result = { + 'EndpointUrl': obj.endpointUrl, + 'IntegrationId': obj.integrationId, + 'Name': obj.name, + 'Type': obj.type, + 'Metric': obj.metric, + 'Dimension': obj.dimension, + }; + // filter undefined values + return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); +} +/* eslint-enable max-len, quote-props */ + +/** + * @schema CfnDatabasePropsType + */ +export enum CfnDatabasePropsType { + /** SANDBOX */ + SANDBOX = "SANDBOX", + /** STANDARD */ + STANDARD = "STANDARD", +} + +/** + * @schema CfnDatabasePropsMetric + */ +export enum CfnDatabasePropsMetric { + /** EUCLIDEAN */ + EUCLIDEAN = "EUCLIDEAN", + /** DOT_PRODUCT */ + DOT_UNDERSCORE_PRODUCT = "DOT_PRODUCT", + /** COSINE */ + COSINE = "COSINE", +} + + +/** + * A CloudFormation `SvectorDB::VectorDatabase::Database` + * + * @cloudformationResource SvectorDB::VectorDatabase::Database + * @stability external + * @link http://unknown-url + */ +export class CfnDatabase extends cdk.CfnResource { + /** + * The CloudFormation resource type name for this resource class. + */ + public static readonly CFN_RESOURCE_TYPE_NAME = "SvectorDB::VectorDatabase::Database"; + + /** + * Resource props. + */ + public readonly props: CfnDatabaseProps; + + /** + * Attribute `SvectorDB::VectorDatabase::Database.Id` + * @link http://unknown-url + */ + public readonly attrId: string; + + /** + * Create a new `SvectorDB::VectorDatabase::Database`. + * + * @param scope - scope in which this resource is defined + * @param id - scoped id of the resource + * @param props - resource properties + */ + constructor(scope: constructs.Construct, id: string, props: CfnDatabaseProps) { + super(scope, id, { type: CfnDatabase.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnDatabaseProps(props)! }); + + this.props = props; + + this.attrId = cdk.Token.asString(this.getAtt('Id')); + } +} \ No newline at end of file diff --git a/registry/types/svectordb-vectordatabase-apikey.json b/registry/types/svectordb-vectordatabase-apikey.json new file mode 100644 index 000000000..2b59e932b --- /dev/null +++ b/registry/types/svectordb-vectordatabase-apikey.json @@ -0,0 +1,15 @@ +{ + "Arn": "arn:aws:cloudformation:us-east-1::type/resource/a867ba60608173fcd64ddc25dcbee967cb54dbb4/SvectorDB-VectorDatabase-ApiKey", + "Type": "RESOURCE", + "TypeName": "SvectorDB::VectorDatabase::ApiKey", + "Description": "Generates an API key to access a SvectorDB serverless vector database, sign up at https://svectordb.com to get started", + "Schema": "{\n \"typeName\": \"SvectorDB::VectorDatabase::ApiKey\",\n \"description\": \"Generates an API key to access a SvectorDB serverless vector database, sign up at https://svectordb.com to get started\",\n \"definitions\": {},\n \"properties\": {\n \"EndpointUrl\": {\n \"type\": \"string\",\n \"description\": \"(Advanced use cases only) - Custom endpoint URL for contacting the SvectorDB API\"\n },\n \"IntegrationId\": {\n \"type\": \"string\",\n \"description\": \"Integration ID\"\n },\n \"DatabaseId\": {\n \"type\": \"string\",\n \"description\": \"Database ID\"\n },\n \"ApiKey\": {\n \"type\": \"string\",\n \"description\": \"API key\"\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"IntegrationId\",\n \"DatabaseId\"\n ],\n \"createOnlyProperties\": [\n \"/properties/EndpointUrl\",\n \"/properties/IntegrationId\",\n \"/properties/DatabaseId\"\n ],\n \"readOnlyProperties\": [\n \"/properties/ApiKey\"\n ],\n \"primaryIdentifier\": [\n \"/properties/ApiKey\"\n ],\n \"handlers\": {\n \"create\": {\n \"permissions\": []\n },\n \"read\": {\n \"permissions\": []\n },\n \"update\": {\n \"permissions\": []\n },\n \"delete\": {\n \"permissions\": []\n },\n \"list\": {\n \"permissions\": []\n }\n }\n}", + "ProvisioningType": "FULLY_MUTABLE", + "DeprecatedStatus": "LIVE", + "RequiredActivatedTypes": [], + "Visibility": "PUBLIC", + "TimeCreated": "2024-03-09T14:26:04.444Z", + "PublisherId": "a867ba60608173fcd64ddc25dcbee967cb54dbb4", + "LatestPublicVersion": "1.0.0", + "IsActivated": false +} \ No newline at end of file diff --git a/registry/types/svectordb-vectordatabase-database.json b/registry/types/svectordb-vectordatabase-database.json new file mode 100644 index 000000000..a7efd2846 --- /dev/null +++ b/registry/types/svectordb-vectordatabase-database.json @@ -0,0 +1,15 @@ +{ + "Arn": "arn:aws:cloudformation:us-east-1::type/resource/a867ba60608173fcd64ddc25dcbee967cb54dbb4/SvectorDB-VectorDatabase-Database", + "Type": "RESOURCE", + "TypeName": "SvectorDB::VectorDatabase::Database", + "Description": "Creates a serverless vector database with SvectorDB, sign up at https://svectordb.com to get started", + "Schema": "{\n \"typeName\": \"SvectorDB::VectorDatabase::Database\",\n \"description\": \"Creates a serverless vector database with SvectorDB, sign up at https://svectordb.com to get started\",\n \"definitions\": {\n },\n \"properties\": {\n \"EndpointUrl\": {\n \"type\": \"string\",\n \"description\": \"(Advanced use cases only) - Custom endpoint URL for contacting the SvectorDB API\"\n },\n \"IntegrationId\": {\n \"type\": \"string\",\n \"description\": \"Integration ID\"\n },\n \"Id\": {\n \"type\": \"string\",\n \"description\": \"Database ID\"\n },\n \"Name\": {\n \"type\": \"string\",\n \"description\": \"Name that appears in the SvectorDB console\",\n \"minLength\": 1,\n \"maxLength\": 256,\n \"pattern\": \"^[A-Za-z0-9 -_]+$\"\n },\n \"Type\": {\n \"type\": \"string\",\n \"enum\": [\n \"SANDBOX\",\n \"STANDARD\"\n ]\n },\n \"Metric\": {\n \"type\": \"string\",\n \"enum\": [\n \"EUCLIDEAN\",\n \"DOT_PRODUCT\",\n \"COSINE\"\n ]\n },\n \"Dimension\": {\n \"type\": \"integer\",\n \"minimum\": 1,\n \"maximum\": 1024\n }\n },\n \"additionalProperties\": false,\n \"required\": [\n \"IntegrationId\",\n \"Metric\",\n \"Dimension\"\n ],\n \"createOnlyProperties\": [\n \"/properties/EndpointUrl\",\n \"/properties/IntegrationId\",\n \"/properties/Type\",\n \"/properties/Metric\",\n \"/properties/Dimension\"\n ],\n \"readOnlyProperties\": [\n \"/properties/Id\"\n ],\n \"primaryIdentifier\": [\n \"/properties/Id\"\n ],\n \"handlers\": {\n \"create\": {\n \"permissions\": []\n },\n \"read\": {\n \"permissions\": []\n },\n \"update\": {\n \"permissions\": []\n },\n \"delete\": {\n \"permissions\": []\n },\n \"list\": {\n \"permissions\": []\n }\n }\n}", + "ProvisioningType": "FULLY_MUTABLE", + "DeprecatedStatus": "LIVE", + "RequiredActivatedTypes": [], + "Visibility": "PUBLIC", + "TimeCreated": "2024-03-09T13:03:43.545Z", + "PublisherId": "a867ba60608173fcd64ddc25dcbee967cb54dbb4", + "LatestPublicVersion": "1.1.0", + "IsActivated": false +} \ No newline at end of file