Initial commit

This commit is contained in:
Daniel Hougaard
2024-08-29 02:05:00 +04:00
parent cdc706f703
commit fe0b265ec5
26 changed files with 45484 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

2
.gitignore vendored
View File

@@ -128,3 +128,5 @@ dist
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
/src/api/infisical/model/*.ts

7
openapitools.json Normal file
View File

@@ -0,0 +1,7 @@
{
"$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "7.8.0"
}
}

3050
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

22
package.json Normal file
View File

@@ -0,0 +1,22 @@
{
"name": "infisical-node-sdk",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"generate-api:infisical": "openapi-generator-cli generate -i https://app.infisical.com/api/docs/json -g typescript-axios -o ./src/api/infisical/ --skip-validate-spec --additional-properties=useSingleRequestParameter=true,withoutPrefixEnums=true,enumNameSuffix=,withSeparateModelsAndApi=true,apiPackage=server,modelPackage=model --openapi-normalizer REFACTOR_ALLOF_WITH_PROPERTIES_ONLY=true"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"devDependencies": {
"@openapitools/openapi-generator-cli": "^2.13.5"
},
"dependencies": {
"@aws-crypto/sha256-js": "^5.2.0",
"@aws-sdk/credential-provider-node": "^3.637.0",
"@aws-sdk/credential-providers": "^3.637.0",
"@aws-sdk/signature-v4": "^3.374.0",
"axios": "^1.7.5"
}
}

View File

@@ -0,0 +1 @@
# empty npmignore to ensure all required files (e.g., in the dist folder) are published by npm

View File

@@ -0,0 +1 @@
.gitignore

View File

@@ -0,0 +1,692 @@
.npmignore
api.ts
base.ts
common.ts
configuration.ts
git_push.sh
index.ts
model/api-status-get200-response.ts
model/api-v1-access-approvals-policies-policy-id-patch-request.ts
model/api-v1-access-approvals-policies-post-request.ts
model/api-v1-access-approvals-requests-count-get200-response.ts
model/api-v1-access-approvals-requests-get200-response-requests-inner-policy.ts
model/api-v1-access-approvals-requests-get200-response-requests-inner-privilege.ts
model/api-v1-access-approvals-requests-get200-response-requests-inner.ts
model/api-v1-access-approvals-requests-get200-response.ts
model/api-v1-access-approvals-requests-post-request.ts
model/api-v1-access-approvals-requests-post200-response-approval.ts
model/api-v1-access-approvals-requests-post200-response.ts
model/api-v1-access-approvals-requests-request-id-review-post200-response-review.ts
model/api-v1-access-approvals-requests-request-id-review-post200-response.ts
model/api-v1-additional-privilege-identity-delete-request.ts
model/api-v1-additional-privilege-identity-get200-response.ts
model/api-v1-additional-privilege-identity-patch-request-privilege-details.ts
model/api-v1-additional-privilege-identity-patch-request.ts
model/api-v1-additional-privilege-identity-permanent-post-request-privilege-permission-conditions.ts
model/api-v1-additional-privilege-identity-permanent-post-request-privilege-permission.ts
model/api-v1-additional-privilege-identity-permanent-post-request.ts
model/api-v1-additional-privilege-identity-permanent-post200-response-privilege.ts
model/api-v1-additional-privilege-identity-permanent-post200-response.ts
model/api-v1-additional-privilege-identity-temporary-post-request.ts
model/api-v1-additional-privilege-users-get200-response.ts
model/api-v1-additional-privilege-users-permanent-post-request.ts
model/api-v1-additional-privilege-users-permanent-post200-response-privilege.ts
model/api-v1-additional-privilege-users-permanent-post200-response.ts
model/api-v1-additional-privilege-users-privilege-id-patch-request.ts
model/api-v1-additional-privilege-users-temporary-post-request.ts
model/api-v1-admin-config-get200-response-config.ts
model/api-v1-admin-config-get200-response.ts
model/api-v1-admin-config-patch-request.ts
model/api-v1-admin-config-patch200-response-config.ts
model/api-v1-admin-config-patch200-response.ts
model/api-v1-admin-signup-post-request.ts
model/api-v1-admin-signup-post200-response.ts
model/api-v1-admin-user-management-users-get200-response-users-inner.ts
model/api-v1-admin-user-management-users-get200-response.ts
model/api-v1-admin-user-management-users-user-id-delete200-response.ts
model/api-v1-audit-log-streams-get200-response-audit-log-streams-inner.ts
model/api-v1-audit-log-streams-get200-response.ts
model/api-v1-audit-log-streams-id-get200-response-audit-log-stream-headers-inner.ts
model/api-v1-audit-log-streams-id-get200-response-audit-log-stream.ts
model/api-v1-audit-log-streams-id-get200-response.ts
model/api-v1-audit-log-streams-id-patch-request.ts
model/api-v1-audit-log-streams-post-request-headers-inner.ts
model/api-v1-audit-log-streams-post-request.ts
model/api-v1-audit-log-streams-post200-response.ts
model/api-v1-auth-aws-auth-identities-identity-id-get200-response-identity-aws-auth.ts
model/api-v1-auth-aws-auth-identities-identity-id-get200-response.ts
model/api-v1-auth-aws-auth-identities-identity-id-patch-request.ts
model/api-v1-auth-aws-auth-identities-identity-id-post-request.ts
model/api-v1-auth-aws-auth-login-post-request.ts
model/api-v1-auth-azure-auth-identities-identity-id-get200-response-identity-azure-auth.ts
model/api-v1-auth-azure-auth-identities-identity-id-get200-response.ts
model/api-v1-auth-azure-auth-identities-identity-id-patch-request.ts
model/api-v1-auth-azure-auth-identities-identity-id-post-request.ts
model/api-v1-auth-check-auth-post200-response.ts
model/api-v1-auth-gcp-auth-identities-identity-id-get200-response-identity-gcp-auth.ts
model/api-v1-auth-gcp-auth-identities-identity-id-get200-response.ts
model/api-v1-auth-gcp-auth-identities-identity-id-patch-request.ts
model/api-v1-auth-gcp-auth-identities-identity-id-post-request.ts
model/api-v1-auth-kubernetes-auth-identities-identity-id-delete200-response-identity-kubernetes-auth.ts
model/api-v1-auth-kubernetes-auth-identities-identity-id-delete200-response.ts
model/api-v1-auth-kubernetes-auth-identities-identity-id-get200-response-identity-kubernetes-auth.ts
model/api-v1-auth-kubernetes-auth-identities-identity-id-get200-response.ts
model/api-v1-auth-kubernetes-auth-identities-identity-id-patch-request.ts
model/api-v1-auth-kubernetes-auth-identities-identity-id-post-request.ts
model/api-v1-auth-kubernetes-auth-login-post-request.ts
model/api-v1-auth-oidc-auth-identities-identity-id-delete200-response-identity-oidc-auth.ts
model/api-v1-auth-oidc-auth-identities-identity-id-delete200-response.ts
model/api-v1-auth-oidc-auth-identities-identity-id-get200-response-identity-oidc-auth.ts
model/api-v1-auth-oidc-auth-identities-identity-id-get200-response.ts
model/api-v1-auth-oidc-auth-identities-identity-id-patch-request.ts
model/api-v1-auth-oidc-auth-identities-identity-id-post-request.ts
model/api-v1-auth-token-auth-identities-identity-id-get200-response-identity-token-auth.ts
model/api-v1-auth-token-auth-identities-identity-id-get200-response.ts
model/api-v1-auth-token-auth-identities-identity-id-patch-request.ts
model/api-v1-auth-token-auth-identities-identity-id-post-request-access-token-trusted-ips-inner.ts
model/api-v1-auth-token-auth-identities-identity-id-post-request.ts
model/api-v1-auth-token-auth-identities-identity-id-tokens-get200-response-tokens-inner.ts
model/api-v1-auth-token-auth-identities-identity-id-tokens-get200-response.ts
model/api-v1-auth-token-auth-identities-identity-id-tokens-post-request.ts
model/api-v1-auth-token-auth-identities-identity-id-tokens-post200-response.ts
model/api-v1-auth-token-auth-tokens-token-id-patch-request.ts
model/api-v1-auth-token-auth-tokens-token-id-patch200-response.ts
model/api-v1-auth-token-post200-response.ts
model/api-v1-auth-token-renew-post-request.ts
model/api-v1-auth-token-revoke-post-request.ts
model/api-v1-auth-universal-auth-identities-identity-id-client-secrets-client-secret-id-get200-response.ts
model/api-v1-auth-universal-auth-identities-identity-id-client-secrets-get200-response-client-secret-data-inner.ts
model/api-v1-auth-universal-auth-identities-identity-id-client-secrets-get200-response.ts
model/api-v1-auth-universal-auth-identities-identity-id-client-secrets-post-request.ts
model/api-v1-auth-universal-auth-identities-identity-id-client-secrets-post200-response.ts
model/api-v1-auth-universal-auth-identities-identity-id-get200-response-identity-universal-auth.ts
model/api-v1-auth-universal-auth-identities-identity-id-get200-response.ts
model/api-v1-auth-universal-auth-identities-identity-id-patch-request.ts
model/api-v1-auth-universal-auth-identities-identity-id-post-request.ts
model/api-v1-auth-universal-auth-login-post-request.ts
model/api-v1-bot-bot-id-active-patch-request-bot-key.ts
model/api-v1-bot-bot-id-active-patch-request.ts
model/api-v1-bot-project-id-get200-response-bot.ts
model/api-v1-bot-project-id-get200-response.ts
model/api-v1-dynamic-secrets-get200-response-dynamic-secrets-inner.ts
model/api-v1-dynamic-secrets-get200-response.ts
model/api-v1-dynamic-secrets-leases-lease-id-delete-request.ts
model/api-v1-dynamic-secrets-leases-lease-id-delete200-response.ts
model/api-v1-dynamic-secrets-leases-lease-id-get200-response-lease.ts
model/api-v1-dynamic-secrets-leases-lease-id-get200-response.ts
model/api-v1-dynamic-secrets-leases-lease-id-renew-post-request.ts
model/api-v1-dynamic-secrets-leases-post-request.ts
model/api-v1-dynamic-secrets-leases-post200-response.ts
model/api-v1-dynamic-secrets-name-delete-request.ts
model/api-v1-dynamic-secrets-name-get200-response-dynamic-secret.ts
model/api-v1-dynamic-secrets-name-get200-response.ts
model/api-v1-dynamic-secrets-name-leases-get200-response-leases-inner.ts
model/api-v1-dynamic-secrets-name-leases-get200-response.ts
model/api-v1-dynamic-secrets-name-patch-request-data.ts
model/api-v1-dynamic-secrets-name-patch-request.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of-inputs.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of1-inputs.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of1.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of2-inputs.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of2.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of3-inputs.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of3.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of4-inputs.ts
model/api-v1-dynamic-secrets-post-request-provider-any-of4.ts
model/api-v1-dynamic-secrets-post-request-provider.ts
model/api-v1-dynamic-secrets-post-request.ts
model/api-v1-dynamic-secrets-post200-response.ts
model/api-v1-external-kms-get200-response-external-kms-list-inner-external-kms.ts
model/api-v1-external-kms-get200-response-external-kms-list-inner.ts
model/api-v1-external-kms-get200-response.ts
model/api-v1-external-kms-id-get200-response-external-kms-external.ts
model/api-v1-external-kms-id-get200-response-external-kms.ts
model/api-v1-external-kms-id-get200-response.ts
model/api-v1-external-kms-id-patch-request-provider-inputs.ts
model/api-v1-external-kms-id-patch-request-provider.ts
model/api-v1-external-kms-id-patch-request.ts
model/api-v1-external-kms-post-request-provider-inputs-credential-any-of-data.ts
model/api-v1-external-kms-post-request-provider-inputs-credential-any-of.ts
model/api-v1-external-kms-post-request-provider-inputs-credential-any-of1-data.ts
model/api-v1-external-kms-post-request-provider-inputs-credential-any-of1.ts
model/api-v1-external-kms-post-request-provider-inputs-credential.ts
model/api-v1-external-kms-post-request-provider-inputs.ts
model/api-v1-external-kms-post-request-provider.ts
model/api-v1-external-kms-post-request.ts
model/api-v1-external-kms-post200-response-external-kms-external.ts
model/api-v1-external-kms-post200-response-external-kms.ts
model/api-v1-external-kms-post200-response.ts
model/api-v1-folders-batch-patch-request-folders-inner.ts
model/api-v1-folders-batch-patch-request.ts
model/api-v1-folders-folder-id-or-name-delete-request.ts
model/api-v1-folders-folder-id-patch-request.ts
model/api-v1-folders-get200-response-folders-inner.ts
model/api-v1-folders-get200-response.ts
model/api-v1-folders-post-request.ts
model/api-v1-folders-post200-response.ts
model/api-v1-groups-current-slug-patch-request.ts
model/api-v1-groups-post-request.ts
model/api-v1-groups-post200-response.ts
model/api-v1-groups-slug-users-get200-response-users-inner.ts
model/api-v1-groups-slug-users-get200-response.ts
model/api-v1-groups-slug-users-username-post200-response.ts
model/api-v1-identities-get200-response-identities-inner-identity.ts
model/api-v1-identities-get200-response-identities-inner.ts
model/api-v1-identities-get200-response.ts
model/api-v1-identities-identity-id-get200-response.ts
model/api-v1-identities-identity-id-identity-memberships-get200-response-identity-memberships-inner.ts
model/api-v1-identities-identity-id-identity-memberships-get200-response.ts
model/api-v1-identities-identity-id-patch-request.ts
model/api-v1-identities-post-request.ts
model/api-v1-identities-post200-response-identity.ts
model/api-v1-identities-post200-response.ts
model/api-v1-integration-auth-access-token-post-request.ts
model/api-v1-integration-auth-delete200-response.ts
model/api-v1-integration-auth-integration-auth-id-apps-get200-response-apps-inner.ts
model/api-v1-integration-auth-integration-auth-id-apps-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-aws-secrets-manager-kms-keys-get200-response-kms-keys-inner.ts
model/api-v1-integration-auth-integration-auth-id-aws-secrets-manager-kms-keys-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-bitbucket-workspaces-get200-response-workspaces-inner.ts
model/api-v1-integration-auth-integration-auth-id-bitbucket-workspaces-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-checkly-groups-get200-response-groups-inner.ts
model/api-v1-integration-auth-integration-auth-id-checkly-groups-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-github-envs-get200-response-envs-inner.ts
model/api-v1-integration-auth-integration-auth-id-github-envs-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-github-orgs-get200-response-orgs-inner.ts
model/api-v1-integration-auth-integration-auth-id-github-orgs-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-heroku-pipelines-get200-response-pipelines-inner-app.ts
model/api-v1-integration-auth-integration-auth-id-heroku-pipelines-get200-response-pipelines-inner-pipeline.ts
model/api-v1-integration-auth-integration-auth-id-heroku-pipelines-get200-response-pipelines-inner.ts
model/api-v1-integration-auth-integration-auth-id-heroku-pipelines-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-northflank-secret-groups-get200-response-secret-groups-inner.ts
model/api-v1-integration-auth-integration-auth-id-northflank-secret-groups-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-qovery-apps-get200-response-apps-inner.ts
model/api-v1-integration-auth-integration-auth-id-qovery-apps-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-qovery-containers-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-qovery-environments-get200-response-environments-inner.ts
model/api-v1-integration-auth-integration-auth-id-qovery-environments-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-qovery-jobs-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-qovery-projects-get200-response-projects-inner.ts
model/api-v1-integration-auth-integration-auth-id-qovery-projects-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-railway-services-get200-response-services-inner.ts
model/api-v1-integration-auth-integration-auth-id-railway-services-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-teamcity-build-configs-get200-response-build-configs-inner.ts
model/api-v1-integration-auth-integration-auth-id-teamcity-build-configs-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-teams-get200-response.ts
model/api-v1-integration-auth-integration-auth-id-vercel-branches-get200-response.ts
model/api-v1-integration-auth-integration-options-get200-response-integration-options-inner.ts
model/api-v1-integration-auth-integration-options-get200-response.ts
model/api-v1-integration-auth-oauth-token-post-request.ts
model/api-v1-integration-integration-id-patch-request-metadata.ts
model/api-v1-integration-integration-id-patch-request.ts
model/api-v1-integration-post-request-metadata-secret-gcplabel.ts
model/api-v1-integration-post-request-metadata.ts
model/api-v1-integration-post-request.ts
model/api-v1-integration-post200-response-integration.ts
model/api-v1-integration-post200-response.ts
model/api-v1-invite-org-signup-post-request.ts
model/api-v1-invite-org-signup-post200-response-complete-invite-links-inner.ts
model/api-v1-invite-org-signup-post200-response.ts
model/api-v1-invite-org-verify-post-request.ts
model/api-v1-invite-org-verify-post200-response.ts
model/api-v1-ldap-config-config-id-group-maps-get200-response-inner.ts
model/api-v1-ldap-config-config-id-group-maps-post-request.ts
model/api-v1-ldap-config-config-id-group-maps-post200-response.ts
model/api-v1-ldap-config-get200-response.ts
model/api-v1-ldap-config-patch-request.ts
model/api-v1-ldap-config-post-request.ts
model/api-v1-ldap-config-post200-response.ts
model/api-v1-ldap-login-post-request.ts
model/api-v1-organization-admin-projects-get200-response-projects-inner.ts
model/api-v1-organization-admin-projects-get200-response.ts
model/api-v1-organization-admin-projects-project-id-grant-admin-access-post200-response-membership.ts
model/api-v1-organization-admin-projects-project-id-grant-admin-access-post200-response.ts
model/api-v1-organization-get200-response-organizations-inner.ts
model/api-v1-organization-get200-response.ts
model/api-v1-organization-organization-id-get200-response.ts
model/api-v1-organization-organization-id-groups-get200-response-groups-inner-custom-role.ts
model/api-v1-organization-organization-id-groups-get200-response-groups-inner.ts
model/api-v1-organization-organization-id-groups-get200-response.ts
model/api-v1-organization-organization-id-incident-contact-org-get200-response-incident-contacts-org-inner.ts
model/api-v1-organization-organization-id-incident-contact-org-get200-response.ts
model/api-v1-organization-organization-id-incident-contact-org-post200-response.ts
model/api-v1-organization-organization-id-patch-request.ts
model/api-v1-organization-organization-id-patch200-response.ts
model/api-v1-organization-organization-id-permissions-get200-response-membership.ts
model/api-v1-organization-organization-id-permissions-get200-response.ts
model/api-v1-organization-organization-id-roles-get200-response-data-roles-inner.ts
model/api-v1-organization-organization-id-roles-get200-response-data.ts
model/api-v1-organization-organization-id-roles-get200-response.ts
model/api-v1-organization-organization-id-roles-post-request.ts
model/api-v1-organization-organization-id-roles-post200-response-role.ts
model/api-v1-organization-organization-id-roles-post200-response.ts
model/api-v1-organization-organization-id-roles-role-id-patch-request.ts
model/api-v1-organization-organization-id-users-get200-response-users-inner-user.ts
model/api-v1-organization-organization-id-users-get200-response-users-inner.ts
model/api-v1-organization-organization-id-users-get200-response.ts
model/api-v1-organizations-organization-id-billing-details-patch-request.ts
model/api-v1-organizations-organization-id-billing-details-payment-methods-post-request.ts
model/api-v1-organizations-organization-id-billing-details-tax-ids-post-request.ts
model/api-v1-organizations-organization-id-plan-get200-response.ts
model/api-v1-organizations-organization-id-session-trial-post-request.ts
model/api-v1-password-backup-private-key-get200-response-backup-private-key.ts
model/api-v1-password-backup-private-key-get200-response.ts
model/api-v1-password-backup-private-key-post-request.ts
model/api-v1-password-change-password-post-request.ts
model/api-v1-password-email-password-reset-post-request.ts
model/api-v1-password-email-password-reset-verify-post-request.ts
model/api-v1-password-email-password-reset-verify-post200-response-user.ts
model/api-v1-password-email-password-reset-verify-post200-response.ts
model/api-v1-password-password-reset-post-request.ts
model/api-v1-password-srp1-post-request.ts
model/api-v1-password-srp1-post200-response.ts
model/api-v1-pki-alerts-alert-id-patch-request.ts
model/api-v1-pki-alerts-post-request.ts
model/api-v1-pki-alerts-post200-response.ts
model/api-v1-pki-ca-ca-id-ca-certificates-get200-response-inner.ts
model/api-v1-pki-ca-ca-id-certificate-get200-response.ts
model/api-v1-pki-ca-ca-id-crls-get200-response-inner.ts
model/api-v1-pki-ca-ca-id-csr-get200-response.ts
model/api-v1-pki-ca-ca-id-import-certificate-post-request.ts
model/api-v1-pki-ca-ca-id-import-certificate-post200-response.ts
model/api-v1-pki-ca-ca-id-issue-certificate-post-request.ts
model/api-v1-pki-ca-ca-id-issue-certificate-post200-response.ts
model/api-v1-pki-ca-ca-id-patch-request.ts
model/api-v1-pki-ca-ca-id-renew-post-request.ts
model/api-v1-pki-ca-ca-id-renew-post200-response.ts
model/api-v1-pki-ca-ca-id-sign-certificate-post-request.ts
model/api-v1-pki-ca-ca-id-sign-certificate-post200-response.ts
model/api-v1-pki-ca-ca-id-sign-intermediate-post-request.ts
model/api-v1-pki-ca-ca-id-sign-intermediate-post200-response.ts
model/api-v1-pki-ca-post-request.ts
model/api-v1-pki-ca-post200-response-ca.ts
model/api-v1-pki-ca-post200-response.ts
model/api-v1-pki-certificate-templates-certificate-template-id-est-config-get200-response.ts
model/api-v1-pki-certificate-templates-certificate-template-id-est-config-patch-request.ts
model/api-v1-pki-certificate-templates-certificate-template-id-est-config-post-request.ts
model/api-v1-pki-certificate-templates-certificate-template-id-est-config-post200-response.ts
model/api-v1-pki-certificate-templates-certificate-template-id-get200-response.ts
model/api-v1-pki-certificate-templates-certificate-template-id-patch-request.ts
model/api-v1-pki-certificate-templates-post-request.ts
model/api-v1-pki-certificates-issue-certificate-post-request.ts
model/api-v1-pki-certificates-serial-number-certificate-get200-response.ts
model/api-v1-pki-certificates-serial-number-get200-response-certificate.ts
model/api-v1-pki-certificates-serial-number-get200-response.ts
model/api-v1-pki-certificates-serial-number-revoke-post-request.ts
model/api-v1-pki-certificates-serial-number-revoke-post200-response.ts
model/api-v1-pki-certificates-sign-certificate-post-request.ts
model/api-v1-pki-collections-collection-id-items-collection-item-id-delete200-response.ts
model/api-v1-pki-collections-collection-id-items-get200-response-collection-items-inner.ts
model/api-v1-pki-collections-collection-id-items-get200-response.ts
model/api-v1-pki-collections-collection-id-items-post-request.ts
model/api-v1-pki-collections-collection-id-items-post200-response.ts
model/api-v1-pki-collections-collection-id-patch-request.ts
model/api-v1-pki-collections-post-request.ts
model/api-v1-pki-collections-post200-response.ts
model/api-v1-rate-limit-get200-response-rate-limit.ts
model/api-v1-rate-limit-get200-response.ts
model/api-v1-rate-limit-put-request.ts
model/api-v1-scim-groups-get200-response-resources-inner-meta.ts
model/api-v1-scim-groups-get200-response-resources-inner.ts
model/api-v1-scim-groups-get200-response.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of-op.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of-value.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of1-op.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of1.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of2-op.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of2-value-inner.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner-any-of2.ts
model/api-v1-scim-groups-group-id-patch-request-operations-inner.ts
model/api-v1-scim-groups-group-id-patch-request.ts
model/api-v1-scim-groups-group-id-put-request.ts
model/api-v1-scim-groups-post-request.ts
model/api-v1-scim-groups-post200-response.ts
model/api-v1-scim-scim-tokens-get200-response-scim-tokens-inner.ts
model/api-v1-scim-scim-tokens-get200-response.ts
model/api-v1-scim-scim-tokens-post-request.ts
model/api-v1-scim-scim-tokens-post200-response.ts
model/api-v1-scim-scim-tokens-scim-token-id-delete200-response.ts
model/api-v1-scim-users-get200-response-resources-inner-emails-inner.ts
model/api-v1-scim-users-get200-response-resources-inner-name.ts
model/api-v1-scim-users-get200-response-resources-inner.ts
model/api-v1-scim-users-get200-response.ts
model/api-v1-scim-users-org-membership-id-get201-response-groups-inner.ts
model/api-v1-scim-users-org-membership-id-get201-response.ts
model/api-v1-scim-users-org-membership-id-put-request.ts
model/api-v1-scim-users-org-membership-id-put200-response.ts
model/api-v1-scim-users-post-request-emails-inner.ts
model/api-v1-scim-users-post-request.ts
model/api-v1-scim-users-post200-response.ts
model/api-v1-secret-approval-requests-count-get200-response-approvals.ts
model/api-v1-secret-approval-requests-count-get200-response.ts
model/api-v1-secret-approval-requests-get200-response-approvals-inner-commits-inner.ts
model/api-v1-secret-approval-requests-get200-response-approvals-inner-committer-user.ts
model/api-v1-secret-approval-requests-get200-response-approvals-inner-policy.ts
model/api-v1-secret-approval-requests-get200-response-approvals-inner-reviewers-inner.ts
model/api-v1-secret-approval-requests-get200-response-approvals-inner.ts
model/api-v1-secret-approval-requests-get200-response.ts
model/api-v1-secret-approval-requests-id-get200-response-approval-commits-inner-secret-version.ts
model/api-v1-secret-approval-requests-id-get200-response-approval-commits-inner-secret.ts
model/api-v1-secret-approval-requests-id-get200-response-approval-commits-inner.ts
model/api-v1-secret-approval-requests-id-get200-response-approval-policy.ts
model/api-v1-secret-approval-requests-id-get200-response-approval-reviewers-inner.ts
model/api-v1-secret-approval-requests-id-get200-response-approval.ts
model/api-v1-secret-approval-requests-id-get200-response.ts
model/api-v1-secret-approval-requests-id-merge-post-request.ts
model/api-v1-secret-approval-requests-id-merge-post200-response-approval.ts
model/api-v1-secret-approval-requests-id-merge-post200-response.ts
model/api-v1-secret-approval-requests-id-review-post-request.ts
model/api-v1-secret-approval-requests-id-review-post200-response-review.ts
model/api-v1-secret-approval-requests-id-review-post200-response.ts
model/api-v1-secret-approval-requests-id-status-post-request.ts
model/api-v1-secret-approvals-board-get200-response.ts
model/api-v1-secret-approvals-get200-response-approvals-inner-environment.ts
model/api-v1-secret-approvals-get200-response-approvals-inner-user-approvers-inner.ts
model/api-v1-secret-approvals-get200-response-approvals-inner.ts
model/api-v1-secret-approvals-get200-response.ts
model/api-v1-secret-approvals-post-request.ts
model/api-v1-secret-approvals-post200-response-approval.ts
model/api-v1-secret-approvals-post200-response.ts
model/api-v1-secret-approvals-sap-id-patch-request.ts
model/api-v1-secret-imports-get200-response-secret-imports-inner-import-env.ts
model/api-v1-secret-imports-get200-response-secret-imports-inner.ts
model/api-v1-secret-imports-get200-response.ts
model/api-v1-secret-imports-post-request-import.ts
model/api-v1-secret-imports-post-request.ts
model/api-v1-secret-imports-post200-response.ts
model/api-v1-secret-imports-secret-import-id-delete-request.ts
model/api-v1-secret-imports-secret-import-id-patch-request-import.ts
model/api-v1-secret-imports-secret-import-id-patch-request.ts
model/api-v1-secret-imports-secret-import-id-replication-resync-post-request.ts
model/api-v1-secret-imports-secrets-get200-response-secrets-inner-secrets-inner.ts
model/api-v1-secret-imports-secrets-get200-response-secrets-inner.ts
model/api-v1-secret-imports-secrets-get200-response.ts
model/api-v1-secret-imports-secrets-raw-get200-response-secrets-inner.ts
model/api-v1-secret-imports-secrets-raw-get200-response.ts
model/api-v1-secret-rotation-providers-workspace-id-get200-response-providers-inner.ts
model/api-v1-secret-rotation-providers-workspace-id-get200-response.ts
model/api-v1-secret-rotations-get200-response-secret-rotations-inner-outputs-inner-secret.ts
model/api-v1-secret-rotations-get200-response-secret-rotations-inner-outputs-inner.ts
model/api-v1-secret-rotations-get200-response-secret-rotations-inner.ts
model/api-v1-secret-rotations-get200-response.ts
model/api-v1-secret-rotations-post-request.ts
model/api-v1-secret-rotations-post200-response-secret-rotation-outputs-inner.ts
model/api-v1-secret-rotations-post200-response-secret-rotation.ts
model/api-v1-secret-rotations-post200-response.ts
model/api-v1-secret-rotations-restart-post-request.ts
model/api-v1-secret-rotations-restart-post200-response-secret-rotation.ts
model/api-v1-secret-rotations-restart-post200-response.ts
model/api-v1-secret-scanning-create-installation-session-organization-post-request.ts
model/api-v1-secret-scanning-create-installation-session-organization-post200-response.ts
model/api-v1-secret-scanning-installation-status-organization-organization-id-get200-response.ts
model/api-v1-secret-scanning-link-installation-post-request.ts
model/api-v1-secret-scanning-link-installation-post200-response.ts
model/api-v1-secret-scanning-organization-organization-id-risks-get200-response-risks-inner.ts
model/api-v1-secret-scanning-organization-organization-id-risks-get200-response.ts
model/api-v1-secret-scanning-organization-organization-id-risks-risk-id-status-post-request.ts
model/api-v1-secret-secret-id-secret-versions-get200-response-secret-versions-inner.ts
model/api-v1-secret-secret-id-secret-versions-get200-response.ts
model/api-v1-secret-sharing-get200-response-secrets-inner.ts
model/api-v1-secret-sharing-get200-response.ts
model/api-v1-secret-sharing-post-request.ts
model/api-v1-secret-sharing-post200-response.ts
model/api-v1-secret-sharing-public-id-get200-response.ts
model/api-v1-secret-sharing-public-post-request.ts
model/api-v1-secret-snapshot-secret-snapshot-id-get200-response-secret-snapshot-environment.ts
model/api-v1-secret-snapshot-secret-snapshot-id-get200-response-secret-snapshot-folder-version-inner.ts
model/api-v1-secret-snapshot-secret-snapshot-id-get200-response-secret-snapshot-secret-versions-inner-tags-inner.ts
model/api-v1-secret-snapshot-secret-snapshot-id-get200-response-secret-snapshot-secret-versions-inner.ts
model/api-v1-secret-snapshot-secret-snapshot-id-get200-response-secret-snapshot.ts
model/api-v1-secret-snapshot-secret-snapshot-id-get200-response.ts
model/api-v1-secret-snapshot-secret-snapshot-id-rollback-post200-response.ts
model/api-v1-sso-config-get200-response.ts
model/api-v1-sso-config-patch-request.ts
model/api-v1-sso-config-post-request.ts
model/api-v1-sso-config-post200-response.ts
model/api-v1-sso-oidc-config-get200-response.ts
model/api-v1-sso-oidc-config-patch-request.ts
model/api-v1-sso-oidc-config-patch200-response.ts
model/api-v1-sso-oidc-config-post-request.ts
model/api-v1-sso-oidc-config-post200-response.ts
model/api-v1-sso-token-exchange-post-request.ts
model/api-v1-user-action-get200-response-user-action.ts
model/api-v1-user-action-get200-response.ts
model/api-v1-user-action-post-request.ts
model/api-v1-user-action-post200-response-user-action.ts
model/api-v1-user-action-post200-response.ts
model/api-v1-user-engagement-me-wish-post-request.ts
model/api-v1-user-get200-response-user.ts
model/api-v1-user-get200-response.ts
model/api-v1-user-me-project-favorites-get200-response.ts
model/api-v1-user-me-project-favorites-put-request.ts
model/api-v1-user-private-key-get200-response.ts
model/api-v1-webhooks-get200-response-webhooks-inner.ts
model/api-v1-webhooks-get200-response.ts
model/api-v1-webhooks-post-request.ts
model/api-v1-webhooks-post200-response-webhook.ts
model/api-v1-webhooks-post200-response.ts
model/api-v1-webhooks-webhook-id-patch-request.ts
model/api-v1-workspace-get200-response-workspaces-inner-roles-inner.ts
model/api-v1-workspace-get200-response-workspaces-inner.ts
model/api-v1-workspace-get200-response.ts
model/api-v1-workspace-project-id-permissions-get200-response-data-membership-roles-inner.ts
model/api-v1-workspace-project-id-permissions-get200-response-data-membership.ts
model/api-v1-workspace-project-id-permissions-get200-response-data.ts
model/api-v1-workspace-project-id-permissions-get200-response.ts
model/api-v1-workspace-project-id-tags-get200-response-workspace-tags-inner.ts
model/api-v1-workspace-project-id-tags-get200-response.ts
model/api-v1-workspace-project-id-tags-post-request.ts
model/api-v1-workspace-project-id-tags-post200-response.ts
model/api-v1-workspace-project-id-tags-tag-id-get200-response-workspace-tag.ts
model/api-v1-workspace-project-id-tags-tag-id-get200-response.ts
model/api-v1-workspace-project-id-tags-tag-id-patch-request.ts
model/api-v1-workspace-project-slug-roles-get200-response-roles-inner.ts
model/api-v1-workspace-project-slug-roles-get200-response.ts
model/api-v1-workspace-project-slug-roles-post-request-permissions-inner-conditions-secret-path.ts
model/api-v1-workspace-project-slug-roles-post-request-permissions-inner-conditions.ts
model/api-v1-workspace-project-slug-roles-post-request-permissions-inner.ts
model/api-v1-workspace-project-slug-roles-post-request.ts
model/api-v1-workspace-project-slug-roles-post200-response-role-permissions-inner-conditions-secret-path.ts
model/api-v1-workspace-project-slug-roles-post200-response-role-permissions-inner-conditions.ts
model/api-v1-workspace-project-slug-roles-post200-response-role-permissions-inner-subject.ts
model/api-v1-workspace-project-slug-roles-post200-response-role-permissions-inner.ts
model/api-v1-workspace-project-slug-roles-post200-response-role.ts
model/api-v1-workspace-project-slug-roles-post200-response.ts
model/api-v1-workspace-project-slug-roles-role-id-patch-request.ts
model/api-v1-workspace-workspace-id-audit-logs-filters-actors-get200-response.ts
model/api-v1-workspace-workspace-id-audit-logs-get200-response-audit-logs-inner-event.ts
model/api-v1-workspace-workspace-id-audit-logs-get200-response-audit-logs-inner.ts
model/api-v1-workspace-workspace-id-audit-logs-get200-response.ts
model/api-v1-workspace-workspace-id-authorizations-get200-response-authorizations-inner.ts
model/api-v1-workspace-workspace-id-authorizations-get200-response.ts
model/api-v1-workspace-workspace-id-auto-capitalization-post-request.ts
model/api-v1-workspace-workspace-id-delete200-response.ts
model/api-v1-workspace-workspace-id-environments-env-id-get200-response-environment.ts
model/api-v1-workspace-workspace-id-environments-env-id-get200-response.ts
model/api-v1-workspace-workspace-id-environments-id-patch-request.ts
model/api-v1-workspace-workspace-id-environments-post-request.ts
model/api-v1-workspace-workspace-id-environments-post200-response.ts
model/api-v1-workspace-workspace-id-get200-response-workspace.ts
model/api-v1-workspace-workspace-id-get200-response.ts
model/api-v1-workspace-workspace-id-integrations-get200-response-integrations-inner.ts
model/api-v1-workspace-workspace-id-integrations-get200-response.ts
model/api-v1-workspace-workspace-id-key-post-request-key.ts
model/api-v1-workspace-workspace-id-key-post-request.ts
model/api-v1-workspace-workspace-id-keys-get200-response-public-keys-inner.ts
model/api-v1-workspace-workspace-id-keys-get200-response.ts
model/api-v1-workspace-workspace-id-kms-backup-get200-response.ts
model/api-v1-workspace-workspace-id-kms-backup-post-request.ts
model/api-v1-workspace-workspace-id-kms-get200-response-secret-manager-kms-key.ts
model/api-v1-workspace-workspace-id-kms-get200-response.ts
model/api-v1-workspace-workspace-id-kms-patch-request-kms-any-of.ts
model/api-v1-workspace-workspace-id-kms-patch-request-kms-any-of1.ts
model/api-v1-workspace-workspace-id-kms-patch-request-kms.ts
model/api-v1-workspace-workspace-id-kms-patch-request.ts
model/api-v1-workspace-workspace-id-memberships-details-post-request.ts
model/api-v1-workspace-workspace-id-memberships-details-post200-response.ts
model/api-v1-workspace-workspace-id-memberships-get200-response-memberships-inner-user.ts
model/api-v1-workspace-workspace-id-memberships-get200-response-memberships-inner.ts
model/api-v1-workspace-workspace-id-memberships-get200-response.ts
model/api-v1-workspace-workspace-id-memberships-membership-id-patch-request-roles-inner-any-of.ts
model/api-v1-workspace-workspace-id-memberships-membership-id-patch-request-roles-inner-any-of1.ts
model/api-v1-workspace-workspace-id-memberships-membership-id-patch-request-roles-inner.ts
model/api-v1-workspace-workspace-id-memberships-membership-id-patch-request.ts
model/api-v1-workspace-workspace-id-memberships-membership-id-patch200-response-roles-inner.ts
model/api-v1-workspace-workspace-id-memberships-membership-id-patch200-response.ts
model/api-v1-workspace-workspace-id-memberships-post-request-members-inner.ts
model/api-v1-workspace-workspace-id-memberships-post-request.ts
model/api-v1-workspace-workspace-id-memberships-post200-response.ts
model/api-v1-workspace-workspace-id-migrate-v3-post200-response.ts
model/api-v1-workspace-workspace-id-name-post-request.ts
model/api-v1-workspace-workspace-id-name-post200-response.ts
model/api-v1-workspace-workspace-id-patch-request.ts
model/api-v1-workspace-workspace-id-patch200-response.ts
model/api-v1-workspace-workspace-id-secret-snapshots-count-get200-response.ts
model/api-v1-workspace-workspace-id-secret-snapshots-get200-response-secret-snapshots-inner.ts
model/api-v1-workspace-workspace-id-secret-snapshots-get200-response.ts
model/api-v1-workspace-workspace-id-service-token-data-get200-response-service-token-data-inner.ts
model/api-v1-workspace-workspace-id-service-token-data-get200-response.ts
model/api-v1-workspace-workspace-id-trusted-ips-get200-response-trusted-ips-inner.ts
model/api-v1-workspace-workspace-id-trusted-ips-get200-response.ts
model/api-v1-workspace-workspace-id-trusted-ips-post-request.ts
model/api-v1-workspace-workspace-id-trusted-ips-post200-response.ts
model/api-v1-workspace-workspace-id-trusted-ips-trusted-ip-id-patch-request.ts
model/api-v1-workspace-workspace-id-users-get200-response-users-inner-project.ts
model/api-v1-workspace-workspace-id-users-get200-response-users-inner-roles-inner.ts
model/api-v1-workspace-workspace-id-users-get200-response-users-inner-user.ts
model/api-v1-workspace-workspace-id-users-get200-response-users-inner.ts
model/api-v1-workspace-workspace-id-users-get200-response.ts
model/api-v1-workspace-workspace-slug-audit-logs-retention-put-request.ts
model/api-v1-workspace-workspace-slug-version-limit-put-request.ts
model/api-v2-auth-mfa-verify-post-request.ts
model/api-v2-auth-mfa-verify-post200-response.ts
model/api-v2-organizations-org-id-identity-memberships-get200-response.ts
model/api-v2-organizations-organization-id-memberships-get200-response-users-inner-user.ts
model/api-v2-organizations-organization-id-memberships-get200-response-users-inner.ts
model/api-v2-organizations-organization-id-memberships-get200-response.ts
model/api-v2-organizations-organization-id-memberships-membership-id-delete200-response.ts
model/api-v2-organizations-organization-id-memberships-membership-id-get200-response-membership-user.ts
model/api-v2-organizations-organization-id-memberships-membership-id-get200-response-membership.ts
model/api-v2-organizations-organization-id-memberships-membership-id-get200-response.ts
model/api-v2-organizations-organization-id-memberships-membership-id-patch-request.ts
model/api-v2-organizations-organization-id-memberships-membership-id-project-memberships-get200-response-memberships-inner.ts
model/api-v2-organizations-organization-id-memberships-membership-id-project-memberships-get200-response.ts
model/api-v2-organizations-organization-id-workspaces-get200-response-workspaces-inner-environments-inner.ts
model/api-v2-organizations-organization-id-workspaces-get200-response-workspaces-inner.ts
model/api-v2-organizations-organization-id-workspaces-get200-response.ts
model/api-v2-service-token-get200-response-user.ts
model/api-v2-service-token-get200-response.ts
model/api-v2-service-token-post-request-scopes-inner.ts
model/api-v2-service-token-post-request.ts
model/api-v2-service-token-post200-response.ts
model/api-v2-service-token-service-token-id-delete200-response.ts
model/api-v2-users-me-api-keys-api-key-data-id-delete200-response.ts
model/api-v2-users-me-api-keys-get200-response-inner.ts
model/api-v2-users-me-api-keys-post-request.ts
model/api-v2-users-me-api-keys-post200-response.ts
model/api-v2-users-me-auth-methods-put-request.ts
model/api-v2-users-me-emails-code-post-request.ts
model/api-v2-users-me-emails-verify-post-request.ts
model/api-v2-users-me-mfa-patch-request.ts
model/api-v2-users-me-mfa-patch200-response.ts
model/api-v2-users-me-name-patch-request.ts
model/api-v2-users-me-sessions-get200-response-inner.ts
model/api-v2-workspace-post-request.ts
model/api-v2-workspace-post200-response.ts
model/api-v2-workspace-project-id-certificate-templates-get200-response.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-get200-response.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-patch-request-roles-inner-any-of.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-patch-request-roles-inner-any-of1.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-patch-request-roles-inner.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-patch-request.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-post-request-roles-inner-any-of.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-post-request-roles-inner-any-of1.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-post-request-roles-inner.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-post-request.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-post200-response-identity-membership.ts
model/api-v2-workspace-project-id-identity-memberships-identity-id-post200-response.ts
model/api-v2-workspace-project-id-memberships-delete-request.ts
model/api-v2-workspace-project-id-memberships-post-request.ts
model/api-v2-workspace-project-id-memberships-post200-response.ts
model/api-v2-workspace-project-id-pki-alerts-get200-response.ts
model/api-v2-workspace-project-id-pki-collections-get200-response.ts
model/api-v2-workspace-project-id-upgrade-post-request.ts
model/api-v2-workspace-project-id-upgrade-status-get200-response.ts
model/api-v2-workspace-project-slug-groups-get200-response-group-memberships-inner-group.ts
model/api-v2-workspace-project-slug-groups-get200-response-group-memberships-inner.ts
model/api-v2-workspace-project-slug-groups-get200-response.ts
model/api-v2-workspace-project-slug-groups-group-slug-patch-request.ts
model/api-v2-workspace-project-slug-groups-group-slug-post-request.ts
model/api-v2-workspace-project-slug-groups-group-slug-post200-response-group-membership.ts
model/api-v2-workspace-project-slug-groups-group-slug-post200-response.ts
model/api-v2-workspace-slug-cas-get200-response.ts
model/api-v2-workspace-slug-certificates-get200-response.ts
model/api-v2-workspace-slug-patch-request.ts
model/api-v2-workspace-workspace-id-encrypted-key-get200-response-sender.ts
model/api-v2-workspace-workspace-id-encrypted-key-get200-response.ts
model/api-v3-auth-login1-post-request.ts
model/api-v3-auth-login2-post-request.ts
model/api-v3-auth-login2-post200-response-any-of.ts
model/api-v3-auth-login2-post200-response-any-of1.ts
model/api-v3-auth-login2-post200-response.ts
model/api-v3-secrets-backfill-secret-references-post-request.ts
model/api-v3-secrets-batch-delete-request-secrets-inner.ts
model/api-v3-secrets-batch-delete-request.ts
model/api-v3-secrets-batch-patch-request-secrets-inner.ts
model/api-v3-secrets-batch-patch-request.ts
model/api-v3-secrets-batch-post-request-secrets-inner.ts
model/api-v3-secrets-batch-post-request.ts
model/api-v3-secrets-batch-post200-response-any-of.ts
model/api-v3-secrets-batch-post200-response.ts
model/api-v3-secrets-batch-raw-delete-request-secrets-inner.ts
model/api-v3-secrets-batch-raw-delete-request.ts
model/api-v3-secrets-batch-raw-patch-request-secrets-inner.ts
model/api-v3-secrets-batch-raw-patch-request.ts
model/api-v3-secrets-batch-raw-post-request-secrets-inner.ts
model/api-v3-secrets-batch-raw-post-request.ts
model/api-v3-secrets-batch-raw-post200-response-any-of.ts
model/api-v3-secrets-batch-raw-post200-response.ts
model/api-v3-secrets-get200-response-imports-inner-secrets-inner.ts
model/api-v3-secrets-get200-response-imports-inner.ts
model/api-v3-secrets-get200-response-secrets-inner.ts
model/api-v3-secrets-get200-response.ts
model/api-v3-secrets-move-post-request.ts
model/api-v3-secrets-move-post200-response.ts
model/api-v3-secrets-raw-get200-response-imports-inner-secrets-inner.ts
model/api-v3-secrets-raw-get200-response-imports-inner.ts
model/api-v3-secrets-raw-get200-response-secrets-inner.ts
model/api-v3-secrets-raw-get200-response.ts
model/api-v3-secrets-raw-secret-name-delete-request.ts
model/api-v3-secrets-raw-secret-name-get200-response-secret.ts
model/api-v3-secrets-raw-secret-name-get200-response.ts
model/api-v3-secrets-raw-secret-name-patch-request.ts
model/api-v3-secrets-raw-secret-name-post-request.ts
model/api-v3-secrets-raw-secret-name-post200-response-any-of.ts
model/api-v3-secrets-raw-secret-name-post200-response-any-of1.ts
model/api-v3-secrets-raw-secret-name-post200-response.ts
model/api-v3-secrets-secret-name-delete-request.ts
model/api-v3-secrets-secret-name-get200-response-secret.ts
model/api-v3-secrets-secret-name-get200-response.ts
model/api-v3-secrets-secret-name-patch-request.ts
model/api-v3-secrets-secret-name-post-request.ts
model/api-v3-secrets-secret-name-post200-response-any-of.ts
model/api-v3-secrets-secret-name-post200-response.ts
model/api-v3-secrets-tags-secret-name-delete-request.ts
model/api-v3-secrets-tags-secret-name-post-request.ts
model/api-v3-secrets-tags-secret-name-post200-response-secret-tags-inner.ts
model/api-v3-secrets-tags-secret-name-post200-response-secret.ts
model/api-v3-secrets-tags-secret-name-post200-response.ts
model/api-v3-signup-complete-account-invite-post-request.ts
model/api-v3-signup-complete-account-signup-post-request.ts
model/api-v3-signup-complete-account-signup-post200-response.ts
model/api-v3-signup-email-verify-post200-response.ts
model/api-v3-users-me-api-keys-get200-response.ts
model/api-v3-workspaces-project-id-secrets-get200-response-secrets-inner.ts
model/api-v3-workspaces-project-id-secrets-get200-response.ts
model/api-v3-workspaces-project-id-secrets-names-post-request-secrets-to-update-inner.ts
model/api-v3-workspaces-project-id-secrets-names-post-request.ts
model/index.ts
server/default-api.ts

View File

@@ -0,0 +1 @@
7.8.0

18
src/api/infisical/api.ts Normal file
View File

@@ -0,0 +1,18 @@
/* tslint:disable */
/* eslint-disable */
/**
* Infisical API
* List of all available APIs that can be consumed
*
* The version of the OpenAPI document: 0.0.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export * from './server/default-api';

86
src/api/infisical/base.ts Normal file
View File

@@ -0,0 +1,86 @@
/* tslint:disable */
/* eslint-disable */
/**
* Infisical API
* List of all available APIs that can be consumed
*
* The version of the OpenAPI document: 0.0.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { Configuration } from './configuration';
// Some imports not used depending on template conditions
// @ts-ignore
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import globalAxios from 'axios';
export const BASE_PATH = "https://app.infisical.com".replace(/\/+$/, "");
/**
*
* @export
*/
export const COLLECTION_FORMATS = {
csv: ",",
ssv: " ",
tsv: "\t",
pipes: "|",
};
/**
*
* @export
* @interface RequestArgs
*/
export interface RequestArgs {
url: string;
options: RawAxiosRequestConfig;
}
/**
*
* @export
* @class BaseAPI
*/
export class BaseAPI {
protected configuration: Configuration | undefined;
constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
if (configuration) {
this.configuration = configuration;
this.basePath = configuration.basePath ?? basePath;
}
}
};
/**
*
* @export
* @class RequiredError
* @extends {Error}
*/
export class RequiredError extends Error {
constructor(public field: string, msg?: string) {
super(msg);
this.name = "RequiredError"
}
}
interface ServerMap {
[key: string]: {
url: string,
description: string,
}[];
}
/**
*
* @export
*/
export const operationServerMap: ServerMap = {
}

150
src/api/infisical/common.ts Normal file
View File

@@ -0,0 +1,150 @@
/* tslint:disable */
/* eslint-disable */
/**
* Infisical API
* List of all available APIs that can be consumed
*
* The version of the OpenAPI document: 0.0.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import type { Configuration } from "./configuration";
import type { RequestArgs } from "./base";
import type { AxiosInstance, AxiosResponse } from 'axios';
import { RequiredError } from "./base";
/**
*
* @export
*/
export const DUMMY_BASE_URL = 'https://example.com'
/**
*
* @throws {RequiredError}
* @export
*/
export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {
if (paramValue === null || paramValue === undefined) {
throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
}
}
/**
*
* @export
*/
export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {
if (configuration && configuration.apiKey) {
const localVarApiKeyValue = typeof configuration.apiKey === 'function'
? await configuration.apiKey(keyParamName)
: await configuration.apiKey;
object[keyParamName] = localVarApiKeyValue;
}
}
/**
*
* @export
*/
export const setBasicAuthToObject = function (object: any, configuration?: Configuration) {
if (configuration && (configuration.username || configuration.password)) {
object["auth"] = { username: configuration.username, password: configuration.password };
}
}
/**
*
* @export
*/
export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {
if (configuration && configuration.accessToken) {
const accessToken = typeof configuration.accessToken === 'function'
? await configuration.accessToken()
: await configuration.accessToken;
object["Authorization"] = "Bearer " + accessToken;
}
}
/**
*
* @export
*/
export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {
if (configuration && configuration.accessToken) {
const localVarAccessTokenValue = typeof configuration.accessToken === 'function'
? await configuration.accessToken(name, scopes)
: await configuration.accessToken;
object["Authorization"] = "Bearer " + localVarAccessTokenValue;
}
}
function setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = ""): void {
if (parameter == null) return;
if (typeof parameter === "object") {
if (Array.isArray(parameter)) {
(parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));
}
else {
Object.keys(parameter).forEach(currentKey =>
setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)
);
}
}
else {
if (urlSearchParams.has(key)) {
urlSearchParams.append(key, parameter);
}
else {
urlSearchParams.set(key, parameter);
}
}
}
/**
*
* @export
*/
export const setSearchParams = function (url: URL, ...objects: any[]) {
const searchParams = new URLSearchParams(url.search);
setFlattenedQueryParams(searchParams, objects);
url.search = searchParams.toString();
}
/**
*
* @export
*/
export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {
const nonString = typeof value !== 'string';
const needsSerialization = nonString && configuration && configuration.isJsonMime
? configuration.isJsonMime(requestOptions.headers['Content-Type'])
: nonString;
return needsSerialization
? JSON.stringify(value !== undefined ? value : {})
: (value || "");
}
/**
*
* @export
*/
export const toPathString = function (url: URL) {
return url.pathname + url.search + url.hash
}
/**
*
* @export
*/
export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {
return <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url};
return axios.request<T, R>(axiosRequestArgs);
};
}

View File

@@ -0,0 +1,110 @@
/* tslint:disable */
/* eslint-disable */
/**
* Infisical API
* List of all available APIs that can be consumed
*
* The version of the OpenAPI document: 0.0.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export interface ConfigurationParameters {
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
username?: string;
password?: string;
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
basePath?: string;
serverIndex?: number;
baseOptions?: any;
formDataCtor?: new () => any;
}
export class Configuration {
/**
* parameter for apiKey security
* @param name security name
* @memberof Configuration
*/
apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
/**
* parameter for basic security
*
* @type {string}
* @memberof Configuration
*/
username?: string;
/**
* parameter for basic security
*
* @type {string}
* @memberof Configuration
*/
password?: string;
/**
* parameter for oauth2 security
* @param name security name
* @param scopes oauth2 scope
* @memberof Configuration
*/
accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
/**
* override base path
*
* @type {string}
* @memberof Configuration
*/
basePath?: string;
/**
* override server index
*
* @type {number}
* @memberof Configuration
*/
serverIndex?: number;
/**
* base options for axios calls
*
* @type {any}
* @memberof Configuration
*/
baseOptions?: any;
/**
* The FormData constructor that will be used to create multipart form data
* requests. You can inject this here so that execution environments that
* do not support the FormData class can still run the generated client.
*
* @type {new () => FormData}
*/
formDataCtor?: new () => any;
constructor(param: ConfigurationParameters = {}) {
this.apiKey = param.apiKey;
this.username = param.username;
this.password = param.password;
this.accessToken = param.accessToken;
this.basePath = param.basePath;
this.serverIndex = param.serverIndex;
this.baseOptions = param.baseOptions;
this.formDataCtor = param.formDataCtor;
}
/**
* Check if the given MIME is a JSON MIME.
* JSON MIME examples:
* application/json
* application/json; charset=UTF8
* APPLICATION/JSON
* application/vnd.company+json
* @param mime - MIME (Multipurpose Internet Mail Extensions)
* @return True if the given MIME is JSON, false otherwise.
*/
public isJsonMime(mime: string): boolean {
const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
}
}

View File

@@ -0,0 +1,57 @@
#!/bin/sh
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
#
# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com"
git_user_id=$1
git_repo_id=$2
release_note=$3
git_host=$4
if [ "$git_host" = "" ]; then
git_host="github.com"
echo "[INFO] No command line input provided. Set \$git_host to $git_host"
fi
if [ "$git_user_id" = "" ]; then
git_user_id="GIT_USER_ID"
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
fi
if [ "$git_repo_id" = "" ]; then
git_repo_id="GIT_REPO_ID"
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
fi
if [ "$release_note" = "" ]; then
release_note="Minor update"
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
fi
# Initialize the local directory as a Git repository
git init
# Adds the files in the local repository and stages them for commit.
git add .
# Commits the tracked changes and prepares them to be pushed to a remote repository.
git commit -m "$release_note"
# Sets the new remote
git_remote=$(git remote)
if [ "$git_remote" = "" ]; then # git remote not defined
if [ "$GIT_TOKEN" = "" ]; then
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
else
git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
fi
fi
git pull origin master
# Pushes (Forces) the changes in the local repository up to the remote repository
echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
git push origin master 2>&1 | grep -v 'To https'

View File

@@ -0,0 +1,18 @@
/* tslint:disable */
/* eslint-disable */
/**
* Infisical API
* List of all available APIs that can be consumed
*
* The version of the OpenAPI document: 0.0.1
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
export * from "./api";
export * from "./configuration";
export * from "./model";

File diff suppressed because it is too large Load Diff

113
src/custom/auth.ts Normal file
View File

@@ -0,0 +1,113 @@
import { InfisicalSDK } from "..";
import { ApiV1AuthUniversalAuthLoginPostRequest } from "../api/infisical";
import { DefaultApi as InfisicalApi } from "../api/infisical";
type AuthenticatorFunction = (accessToken: string) => InfisicalSDK;
const getAwsRegion = () => {
// Implement AWS region retrieval logic here
// For simplicity, we'll use an environment variable
const region = process.env.AWS_REGION;
if (!region) {
throw new Error("AWS region not set");
}
return region;
};
export default class AuthClient {
sdkAuthenticator: AuthenticatorFunction;
apiClient: InfisicalApi;
constructor(authenticator: AuthenticatorFunction) {
this.sdkAuthenticator = authenticator;
this.apiClient = new InfisicalApi();
}
universalAuth = {
login: async (options: ApiV1AuthUniversalAuthLoginPostRequest) => {
const res = await this.apiClient.apiV1AuthUniversalAuthLoginPost({
apiV1AuthUniversalAuthLoginPostRequest: options
});
return this.sdkAuthenticator(res.data.accessToken);
}
};
awsIam = {
login: async (identityId: string) => {
if (!identityId) {
identityId = process.env.INFISICAL_AWS_IAM_AUTH_IDENTITY_ID_ENV_NAME || "";
}
const awsRegion = getAwsRegion();
const credentials = await fromNodeProviderChain()();
// Prepare request for signing
const iamRequestURL = `https://sts.${awsRegion}.amazonaws.com/`;
const iamRequestBody = "Action=GetCallerIdentity&Version=2011-06-15";
const currentTime = new Date().toISOString().replace(/[:-]|\.\d{3}/g, "");
const headers = {
"X-Amz-Date": currentTime,
Host: `sts.${awsRegion}.amazonaws.com`,
"Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
"Content-Length": iamRequestBody.length.toString()
};
const signer = new SignatureV4({
credentials,
region: awsRegion,
service: "sts",
sha256: Sha256
});
const signedRequest = await signer.sign({
method: "POST",
protocol: "https",
hostname: `sts.${awsRegion}.amazonaws.com`,
path: "/",
headers,
body: iamRequestBody
});
const realHeaders: Record<string, string> = {};
for (const [key, value] of Object.entries(signedRequest.headers)) {
if (key.toLowerCase() !== "content-length") {
realHeaders[key] = Array.isArray(value) ? value[0] : value;
}
}
const jsonStringHeaders = JSON.stringify(realHeaders);
const request = {
httpRequestMethod: "POST",
iamRequestBody: Buffer.from(iamRequestBody).toString("base64"),
iamRequestHeaders: Buffer.from(jsonStringHeaders).toString("base64"),
identityId
};
const credential = await this.apiClient.apiV1AuthAwsAuthLoginPost({
apiV1AuthAwsAuthLoginPostRequest: {
iamHttpRequestMethod: request.httpRequestMethod,
iamRequestBody: request.iamRequestBody,
iamRequestHeaders: request.iamRequestHeaders,
identityId: request.identityId
}
});
return this.sdkAuthenticator(credential.data.accessToken);
}
};
accessToken = (token: string) => {
return this.sdkAuthenticator(token);
};
}
import * as crypto from "crypto";
import axios from "axios";
import { SignatureV4 } from "@aws-sdk/signature-v4";
import { Sha256 } from "@aws-crypto/sha256-js";
import { defaultProvider } from "@aws-sdk/credential-provider-node";
import { fromNodeProviderChain } from "@aws-sdk/credential-providers";

40
src/custom/secrets.ts Normal file
View File

@@ -0,0 +1,40 @@
import { Configuration, DefaultApi as InfisicalApi } from "../api/infisical";
import type {
DefaultApiApiV3SecretsRawGetRequest,
DefaultApiApiV3SecretsRawSecretNameDeleteRequest,
DefaultApiApiV3SecretsRawSecretNameGetRequest,
DefaultApiApiV3SecretsRawSecretNamePatchRequest,
DefaultApiApiV3SecretsRawSecretNamePostRequest
} from "../api/infisical";
export default class SecretsClient {
#apiInstance: InfisicalApi;
constructor(private apiInstance: InfisicalApi) {
this.#apiInstance = apiInstance;
}
listSecrets = async (options: DefaultApiApiV3SecretsRawGetRequest) => {
const res = await this.#apiInstance.apiV3SecretsRawGet(options);
return res.data;
};
retrieveSecret = async (options: DefaultApiApiV3SecretsRawSecretNameGetRequest) => {
const res = await this.#apiInstance.apiV3SecretsRawSecretNameGet(options);
return res.data.secret;
};
updateSecret = async (options: DefaultApiApiV3SecretsRawSecretNamePatchRequest) => {
const res = await this.#apiInstance.apiV3SecretsRawSecretNamePatch(options);
return res.data;
};
createSecret = async (options: DefaultApiApiV3SecretsRawSecretNamePostRequest) => {
const res = await this.#apiInstance.apiV3SecretsRawSecretNamePost(options);
return res.data;
};
deleteSecret = async (options: DefaultApiApiV3SecretsRawSecretNameDeleteRequest) => {
const res = await this.#apiInstance.apiV3SecretsRawSecretNameDelete(options);
return res.data;
};
}

36
src/index.ts Normal file
View File

@@ -0,0 +1,36 @@
import { Configuration, DefaultApi as InfisicalApi } from "./api/infisical";
import SecretsClient from "./custom/secrets";
import AuthClient from "./custom/auth";
// We need to do bind(this) because the authenticate method is a private method, and usually you can't call private methods from outside the class.
class InfisicalSDK {
#apiInstance: InfisicalApi;
// #accessToken: string; // No need to store the auth token here
#secretsClient: SecretsClient;
#authClient: AuthClient;
constructor() {
this.#apiInstance = new InfisicalApi();
this.#authClient = new AuthClient(this.authenticate.bind(this));
this.#secretsClient = new SecretsClient(this.#apiInstance);
}
private authenticate(accessToken: string) {
this.#apiInstance = new InfisicalApi(new Configuration({ accessToken }));
this.#secretsClient = new SecretsClient(this.#apiInstance);
this.#authClient = new AuthClient(this.authenticate.bind(this));
return this;
}
secrets = () => this.#secretsClient;
auth = () => this.#authClient;
// rest = () => this.#apiInstance;
}
export { InfisicalSDK };

292
test/filtered-spec.json Normal file
View File

@@ -0,0 +1,292 @@
{
"openapi": "3.0.3",
"info": {
"title": "Infisical API",
"description": "List of all available APIs that can be consumed",
"version": "0.0.1"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"bearerFormat": "JWT",
"description": "An access token in Infisical"
}
},
"schemas": {}
},
"paths": {
"/api/v1/identities": {
"get": {
"description": "List identities",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "query",
"name": "orgId",
"required": true,
"description": "The ID of the organization to list identities."
}
],
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"identities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"role": {
"type": "string"
},
"roleId": {
"type": "string",
"format": "uuid",
"nullable": true
},
"orgId": {
"type": "string",
"format": "uuid"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"identityId": {
"type": "string",
"format": "uuid"
},
"customRole": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"permissions": {},
"description": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"name",
"slug"
],
"additionalProperties": false
},
"identity": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"id": {
"type": "string",
"format": "uuid"
},
"authMethod": {
"type": "string",
"nullable": true
}
},
"required": [
"name",
"id"
],
"additionalProperties": false
}
},
"required": [
"id",
"role",
"orgId",
"createdAt",
"updatedAt",
"identityId",
"identity"
],
"additionalProperties": false
}
}
},
"required": [
"identities"
],
"additionalProperties": false
}
}
}
}
}
}
},
"/api/v1/identities/{identityId}": {
"get": {
"description": "Get an identity by id",
"parameters": [
{
"schema": {
"type": "string"
},
"in": "path",
"name": "identityId",
"required": true,
"description": "The ID of the identity to get details."
}
],
"security": [
{
"bearerAuth": []
}
],
"responses": {
"200": {
"description": "Default Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"identity": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"role": {
"type": "string"
},
"roleId": {
"type": "string",
"format": "uuid",
"nullable": true
},
"orgId": {
"type": "string",
"format": "uuid"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"identityId": {
"type": "string",
"format": "uuid"
},
"customRole": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"permissions": {},
"description": {
"type": "string",
"nullable": true
}
},
"required": [
"id",
"name",
"slug"
],
"additionalProperties": false
},
"identity": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"id": {
"type": "string",
"format": "uuid"
},
"authMethod": {
"type": "string",
"nullable": true
}
},
"required": [
"name",
"id"
],
"additionalProperties": false
}
},
"required": [
"id",
"role",
"orgId",
"createdAt",
"updatedAt",
"identityId",
"identity"
],
"additionalProperties": false
}
},
"required": [
"identity"
],
"additionalProperties": false
}
}
}
}
}
}
}
},
"servers": [
{
"url": "https://app.infisical.com",
"description": "Production server"
},
{
"url": "http://localhost:8080",
"description": "Local server"
}
]
}

17
test/index.ts Normal file
View File

@@ -0,0 +1,17 @@
import { InfisicalSDK } from "../src";
(async () => {
const client = new InfisicalSDK();
await client.auth().universalAuth.login({
clientId: "d4ea369b-e918-4a1d-bceb-f8ccd03f507d",
clientSecret: "2ff84a5173d7ae1d0f5b744053d9b28dce62010891e350b4f07869950f238fbc"
});
const secrets = await client.secrets().listSecrets({
environment: "dev",
workspaceId: "f1617cbc-be46-4466-89de-ec8767afeaab"
});
console.log(secrets.secrets);
})();

7
test/openapitools.json Normal file
View File

@@ -0,0 +1,7 @@
{
"$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "7.8.0"
}
}

63
test/package-lock.json generated Normal file
View File

@@ -0,0 +1,63 @@
{
"name": "test",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "test",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"fs": "^0.0.1-security",
"https": "^1.0.0",
"typescript": "^5.5.4"
},
"devDependencies": {
"@types/node": "^22.5.1"
}
},
"node_modules/@types/node": {
"version": "22.5.1",
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz",
"integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==",
"dev": true,
"license": "MIT",
"dependencies": {
"undici-types": "~6.19.2"
}
},
"node_modules/fs": {
"version": "0.0.1-security",
"resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
"integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==",
"license": "ISC"
},
"node_modules/https": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz",
"integrity": "sha512-4EC57ddXrkaF0x83Oj8sM6SLQHAWXw90Skqu2M4AEWENZ3F02dFJE/GARA8igO79tcgYqGrD7ae4f5L3um2lgg==",
"license": "ISC"
},
"node_modules/typescript": {
"version": "5.5.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
"license": "Apache-2.0",
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=14.17"
}
},
"node_modules/undici-types": {
"version": "6.19.8",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"dev": true,
"license": "MIT"
}
}
}

20
test/package.json Normal file
View File

@@ -0,0 +1,20 @@
{
"name": "test",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"description": "",
"dependencies": {
"fs": "^0.0.1-security",
"https": "^1.0.0",
"typescript": "^5.5.4"
},
"devDependencies": {
"@types/node": "^22.5.1"
}
}

69
test/speccer.ts Normal file
View File

@@ -0,0 +1,69 @@
import https from "https";
import fs from "fs";
const specUrl = "https://app.infisical.com/api/docs/json";
const outputFile = "filtered-spec.json";
// List of endpoints you want to keep, with their HTTP methods
interface Endpoint {
path: string;
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
}
const desiredEndpoints: Endpoint[] = [
// Identities
{ path: "/api/v1/identities", method: "POST" },
{ path: "/api/v1/identities/{identityId}", method: "PATCH" },
{ path: "/api/v1/identities/{identityId}", method: "DELETE" },
{ path: "/api/v1/identities/{identityId}", method: "GET" },
{ path: "/api/v1/identities", method: "GET" },
// Token Auth
{ path: "/api/v1/auth/token-auth/identities/{identityId}", method: "POST" },
{ path: "/api/v1/auth/token-auth/identities/{identityId}", method: "GET" },
{ path: "/api/v1/auth/token-auth/identities/{identityId}", method: "PATCH" },
{ path: "/api/v1/auth/token-auth/identities/{identityId}", method: "DELETE" },
{ path: "/api/v1/auth/token-auth/identities/{identityId}/tokens", method: "GET" },
{ path: "/api/v1/auth/token-auth/identities/{identityId}/tokens", method: "POST" },
{ path: "/api/v1/auth/token-auth/tokens/{tokenId}", method: "PATCH" },
{ path: "/v1/auth/token-auth/tokens/{tokenId}/revoke", method: "POST" }
];
https
.get(specUrl, res => {
let data = "";
res.on("data", chunk => {
data += chunk;
});
res.on("end", () => {
const spec = JSON.parse(data);
// Filter the paths object
spec.paths = Object.keys(spec.paths).reduce((filteredPaths, path) => {
const matchingEndpoints = desiredEndpoints.filter(
endpoint => endpoint.path === path && spec.paths[path][endpoint.method.toLowerCase()]
);
if (matchingEndpoints.length > 0) {
// @ts-expect-error
filteredPaths[path] = {};
matchingEndpoints.forEach(endpoint => {
// @ts-expect-error
filteredPaths[path][endpoint.method.toLowerCase()] = spec.paths[path][endpoint.method.toLowerCase()];
});
}
return filteredPaths;
}, {});
// Write the filtered spec to a file
fs.writeFileSync(outputFile, JSON.stringify(spec, null, 2));
console.log(`Filtered spec written to ${outputFile}`);
});
})
.on("error", err => {
console.error("Error fetching spec:", err.message);
});

108
test/tsconfig.json Normal file
View File

@@ -0,0 +1,108 @@
{
"compilerOptions": {
/* Visit https://aka.ms/tsconfig to read more about this file */
/* Projects */
// "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */
// "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
// "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */
// "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */
// "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
// "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
/* Language and Environment */
"target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
// "jsx": "preserve", /* Specify what JSX code is generated. */
// "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
// "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */
// "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
// "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
// "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */
/* Modules */
"module": "commonjs", /* Specify what module code is generated. */
// "rootDir": "./", /* Specify the root folder within your source files. */
// "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
// "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
// "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */
// "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */
// "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */
// "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */
// "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */
// "resolveJsonModule": true, /* Enable importing .json files. */
// "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */
// "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */
/* JavaScript Support */
// "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */
// "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
/* Emit */
// "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
// "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
// "sourceMap": true, /* Create source map files for emitted JavaScript files. */
// "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
// "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */
// "outDir": "./", /* Specify an output folder for all emitted files. */
// "removeComments": true, /* Disable emitting comments. */
// "noEmit": true, /* Disable emitting files from a compilation. */
// "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
// "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
// "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
// "newLine": "crlf", /* Set the newline character for emitting files. */
// "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */
// "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
// "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
// "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
/* Interop Constraints */
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
// "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */
// "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */
// "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
"esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
// "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
/* Type Checking */
"strict": true, /* Enable all strict type-checking options. */
// "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */
// "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
// "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */
// "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
// "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */
// "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */
// "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
// "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */
// "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */
// "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
// "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
// "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
// "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */
// "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
// "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */
// "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
// "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
/* Completeness */
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
"skipLibCheck": true /* Skip type checking all .d.ts files. */
}
}