@pulumi/artifactory 8.10.3 → 8.10.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alpineRepository.d.ts +27 -4
- package/alpineRepository.js +0 -1
- package/alpineRepository.js.map +1 -1
- package/anonymousUser.d.ts +15 -0
- package/anonymousUser.js +6 -0
- package/anonymousUser.js.map +1 -1
- package/archivePolicy.d.ts +153 -2
- package/archivePolicy.js +153 -2
- package/archivePolicy.js.map +1 -1
- package/config/vars.d.ts +3 -0
- package/config/vars.js.map +1 -1
- package/debianRepository.d.ts +21 -1
- package/debianRepository.js +0 -1
- package/debianRepository.js.map +1 -1
- package/dockerV1Repository.d.ts +9 -1
- package/dockerV1Repository.js +0 -1
- package/dockerV1Repository.js.map +1 -1
- package/dockerV2Repository.d.ts +9 -1
- package/dockerV2Repository.js +0 -1
- package/dockerV2Repository.js.map +1 -1
- package/federatedAlpineRepository.d.ts +18 -1
- package/federatedAlpineRepository.js +0 -1
- package/federatedAlpineRepository.js.map +1 -1
- package/federatedAnsibleRepository.d.ts +18 -1
- package/federatedAnsibleRepository.js +0 -1
- package/federatedAnsibleRepository.js.map +1 -1
- package/federatedBowerRepository.d.ts +18 -1
- package/federatedBowerRepository.js +0 -1
- package/federatedBowerRepository.js.map +1 -1
- package/federatedCargoRepository.d.ts +18 -1
- package/federatedCargoRepository.js +0 -1
- package/federatedCargoRepository.js.map +1 -1
- package/federatedChefRepository.d.ts +18 -1
- package/federatedChefRepository.js +0 -1
- package/federatedChefRepository.js.map +1 -1
- package/federatedCocoapodsRepository.d.ts +18 -1
- package/federatedCocoapodsRepository.js +0 -1
- package/federatedCocoapodsRepository.js.map +1 -1
- package/federatedComposerRepository.d.ts +18 -1
- package/federatedComposerRepository.js +0 -1
- package/federatedComposerRepository.js.map +1 -1
- package/federatedConanRepository.d.ts +20 -2
- package/federatedConanRepository.js +2 -2
- package/federatedConanRepository.js.map +1 -1
- package/federatedCondaRepository.d.ts +18 -1
- package/federatedCondaRepository.js +0 -1
- package/federatedCondaRepository.js.map +1 -1
- package/federatedCranRepository.d.ts +18 -1
- package/federatedCranRepository.js +0 -1
- package/federatedCranRepository.js.map +1 -1
- package/federatedDebianRepository.d.ts +18 -1
- package/federatedDebianRepository.js +0 -1
- package/federatedDebianRepository.js.map +1 -1
- package/federatedDockerRepository.d.ts +18 -1
- package/federatedDockerRepository.js +0 -1
- package/federatedDockerRepository.js.map +1 -1
- package/federatedDockerV1Repository.d.ts +18 -1
- package/federatedDockerV1Repository.js +0 -1
- package/federatedDockerV1Repository.js.map +1 -1
- package/federatedDockerV2Repository.d.ts +18 -1
- package/federatedDockerV2Repository.js +0 -1
- package/federatedDockerV2Repository.js.map +1 -1
- package/federatedGemsRepository.d.ts +18 -1
- package/federatedGemsRepository.js +0 -1
- package/federatedGemsRepository.js.map +1 -1
- package/federatedGenericRepository.d.ts +18 -1
- package/federatedGenericRepository.js +0 -1
- package/federatedGenericRepository.js.map +1 -1
- package/federatedGitltfsRepository.d.ts +18 -1
- package/federatedGitltfsRepository.js +0 -1
- package/federatedGitltfsRepository.js.map +1 -1
- package/federatedGoRepository.d.ts +18 -1
- package/federatedGoRepository.js +0 -1
- package/federatedGoRepository.js.map +1 -1
- package/federatedGradleRepository.d.ts +18 -1
- package/federatedGradleRepository.js +0 -1
- package/federatedGradleRepository.js.map +1 -1
- package/federatedHelmRepository.d.ts +18 -1
- package/federatedHelmRepository.js +0 -1
- package/federatedHelmRepository.js.map +1 -1
- package/federatedHelmociRepository.d.ts +18 -0
- package/federatedHelmociRepository.js.map +1 -1
- package/federatedHuggingfacemlRepository.d.ts +18 -0
- package/federatedHuggingfacemlRepository.js.map +1 -1
- package/federatedIvyRepository.d.ts +18 -1
- package/federatedIvyRepository.js +0 -1
- package/federatedIvyRepository.js.map +1 -1
- package/federatedMavenRepository.d.ts +18 -1
- package/federatedMavenRepository.js +0 -1
- package/federatedMavenRepository.js.map +1 -1
- package/federatedNpmRepository.d.ts +18 -1
- package/federatedNpmRepository.js +0 -1
- package/federatedNpmRepository.js.map +1 -1
- package/federatedNugetRepository.d.ts +18 -1
- package/federatedNugetRepository.js +0 -1
- package/federatedNugetRepository.js.map +1 -1
- package/federatedOciRepository.d.ts +18 -0
- package/federatedOciRepository.js.map +1 -1
- package/federatedOpkgRepository.d.ts +18 -1
- package/federatedOpkgRepository.js +0 -1
- package/federatedOpkgRepository.js.map +1 -1
- package/federatedPuppetRepository.d.ts +18 -1
- package/federatedPuppetRepository.js +0 -1
- package/federatedPuppetRepository.js.map +1 -1
- package/federatedPypiRepository.d.ts +18 -1
- package/federatedPypiRepository.js +0 -1
- package/federatedPypiRepository.js.map +1 -1
- package/federatedReleasebundlesRepository.d.ts +18 -1
- package/federatedReleasebundlesRepository.js +0 -1
- package/federatedReleasebundlesRepository.js.map +1 -1
- package/federatedRpmRepository.d.ts +18 -1
- package/federatedRpmRepository.js +0 -1
- package/federatedRpmRepository.js.map +1 -1
- package/federatedSbtRepository.d.ts +18 -1
- package/federatedSbtRepository.js +0 -1
- package/federatedSbtRepository.js.map +1 -1
- package/federatedSwiftRepository.d.ts +18 -1
- package/federatedSwiftRepository.js +0 -1
- package/federatedSwiftRepository.js.map +1 -1
- package/federatedTerraformModuleRepository.d.ts +18 -1
- package/federatedTerraformModuleRepository.js +0 -1
- package/federatedTerraformModuleRepository.js.map +1 -1
- package/federatedTerraformProviderRepository.d.ts +18 -1
- package/federatedTerraformProviderRepository.js +0 -1
- package/federatedTerraformProviderRepository.js.map +1 -1
- package/federatedVagrantRepository.d.ts +18 -1
- package/federatedVagrantRepository.js +0 -1
- package/federatedVagrantRepository.js.map +1 -1
- package/generalSecurity.d.ts +2 -1
- package/generalSecurity.js +2 -1
- package/generalSecurity.js.map +1 -1
- package/getFederatedTerraformModuleRepository.d.ts +4 -0
- package/getFederatedTerraformModuleRepository.js +4 -0
- package/getFederatedTerraformModuleRepository.js.map +1 -1
- package/getFederatedTerraformProviderRepository.d.ts +4 -0
- package/getFederatedTerraformProviderRepository.js +4 -0
- package/getFederatedTerraformProviderRepository.js.map +1 -1
- package/getLocalHuggingfacemlRepository.d.ts +9 -0
- package/getLocalHuggingfacemlRepository.js.map +1 -1
- package/getLocalTerraformModuleRepository.d.ts +6 -0
- package/getLocalTerraformModuleRepository.js +6 -0
- package/getLocalTerraformModuleRepository.js.map +1 -1
- package/getLocalTerraformProviderRepository.d.ts +6 -0
- package/getLocalTerraformProviderRepository.js +6 -0
- package/getLocalTerraformProviderRepository.js.map +1 -1
- package/getLocalTerraformbackendRepository.d.ts +4 -0
- package/getLocalTerraformbackendRepository.js +4 -0
- package/getLocalTerraformbackendRepository.js.map +1 -1
- package/getRemoteTerraformRepository.d.ts +22 -0
- package/getRemoteTerraformRepository.js +4 -0
- package/getRemoteTerraformRepository.js.map +1 -1
- package/getRepositories.d.ts +9 -0
- package/getRepositories.js.map +1 -1
- package/getVirtualTerraformRepository.d.ts +4 -0
- package/getVirtualTerraformRepository.js +4 -0
- package/getVirtualTerraformRepository.js.map +1 -1
- package/goRepository.d.ts +9 -0
- package/goRepository.js.map +1 -1
- package/group.d.ts +40 -1
- package/group.js +31 -1
- package/group.js.map +1 -1
- package/itemProperties.d.ts +0 -2
- package/itemProperties.js +0 -2
- package/itemProperties.js.map +1 -1
- package/localAnsibleRepository.d.ts +24 -4
- package/localAnsibleRepository.js +0 -1
- package/localAnsibleRepository.js.map +1 -1
- package/localBowerRepository.d.ts +9 -1
- package/localBowerRepository.js +0 -1
- package/localBowerRepository.js.map +1 -1
- package/localCargoRepository.d.ts +9 -1
- package/localCargoRepository.js +0 -1
- package/localCargoRepository.js.map +1 -1
- package/localChefRepository.d.ts +9 -1
- package/localChefRepository.js +0 -1
- package/localChefRepository.js.map +1 -1
- package/localCocoapodsRepository.d.ts +9 -1
- package/localCocoapodsRepository.js +0 -1
- package/localCocoapodsRepository.js.map +1 -1
- package/localComposerRepository.d.ts +9 -1
- package/localComposerRepository.js +0 -1
- package/localComposerRepository.js.map +1 -1
- package/localConanRepository.d.ts +9 -1
- package/localConanRepository.js +0 -1
- package/localConanRepository.js.map +1 -1
- package/localCondaRepository.d.ts +9 -1
- package/localCondaRepository.js +0 -1
- package/localCondaRepository.js.map +1 -1
- package/localCranRepository.d.ts +9 -1
- package/localCranRepository.js +0 -1
- package/localCranRepository.js.map +1 -1
- package/localGemsRepository.d.ts +9 -1
- package/localGemsRepository.js +0 -1
- package/localGemsRepository.js.map +1 -1
- package/localGenericRepository.d.ts +9 -1
- package/localGenericRepository.js +0 -1
- package/localGenericRepository.js.map +1 -1
- package/localGitltfsRepository.d.ts +9 -1
- package/localGitltfsRepository.js +0 -1
- package/localGitltfsRepository.js.map +1 -1
- package/localGoRepository.d.ts +9 -1
- package/localGoRepository.js +0 -1
- package/localGoRepository.js.map +1 -1
- package/localGradleRepository.d.ts +9 -1
- package/localGradleRepository.js +0 -1
- package/localGradleRepository.js.map +1 -1
- package/localHelmRepository.d.ts +9 -1
- package/localHelmRepository.js +0 -1
- package/localHelmRepository.js.map +1 -1
- package/localHelmociRepository.d.ts +9 -0
- package/localHelmociRepository.js.map +1 -1
- package/localHexRepository.d.ts +18 -4
- package/localHexRepository.js +0 -1
- package/localHexRepository.js.map +1 -1
- package/localHuggingfacemlRepository.d.ts +9 -1
- package/localHuggingfacemlRepository.js +0 -1
- package/localHuggingfacemlRepository.js.map +1 -1
- package/localIvyRepository.d.ts +9 -1
- package/localIvyRepository.js +0 -1
- package/localIvyRepository.js.map +1 -1
- package/localMachinelearningRepository.d.ts +9 -0
- package/localMachinelearningRepository.js.map +1 -1
- package/localMavenRepository.d.ts +9 -1
- package/localMavenRepository.js +0 -1
- package/localMavenRepository.js.map +1 -1
- package/localNpmRepository.d.ts +9 -1
- package/localNpmRepository.js +0 -1
- package/localNpmRepository.js.map +1 -1
- package/localNugetRepository.d.ts +9 -1
- package/localNugetRepository.js +0 -1
- package/localNugetRepository.js.map +1 -1
- package/localOciRepository.d.ts +9 -1
- package/localOciRepository.js +0 -1
- package/localOciRepository.js.map +1 -1
- package/localOpkgRepository.d.ts +9 -1
- package/localOpkgRepository.js +0 -1
- package/localOpkgRepository.js.map +1 -1
- package/localPubRepository.d.ts +9 -1
- package/localPubRepository.js +0 -1
- package/localPubRepository.js.map +1 -1
- package/localPuppetRepository.d.ts +9 -1
- package/localPuppetRepository.js +0 -1
- package/localPuppetRepository.js.map +1 -1
- package/localPypiRepository.d.ts +9 -1
- package/localPypiRepository.js +0 -1
- package/localPypiRepository.js.map +1 -1
- package/localRpmRepository.d.ts +9 -1
- package/localRpmRepository.js +0 -1
- package/localRpmRepository.js.map +1 -1
- package/localSbtRepository.d.ts +9 -1
- package/localSbtRepository.js +0 -1
- package/localSbtRepository.js.map +1 -1
- package/localSwiftRepository.d.ts +9 -1
- package/localSwiftRepository.js +0 -1
- package/localSwiftRepository.js.map +1 -1
- package/localTerraformBackendRepository.d.ts +12 -1
- package/localTerraformBackendRepository.js +3 -1
- package/localTerraformBackendRepository.js.map +1 -1
- package/localTerraformModuleRepository.d.ts +12 -1
- package/localTerraformModuleRepository.js +3 -1
- package/localTerraformModuleRepository.js.map +1 -1
- package/localTerraformProviderRepository.d.ts +12 -1
- package/localTerraformProviderRepository.js +3 -1
- package/localTerraformProviderRepository.js.map +1 -1
- package/localVagrantRepository.d.ts +9 -1
- package/localVagrantRepository.js +0 -1
- package/localVagrantRepository.js.map +1 -1
- package/managedUser.d.ts +8 -0
- package/managedUser.js +8 -0
- package/managedUser.js.map +1 -1
- package/mavenRepository.d.ts +9 -0
- package/mavenRepository.js.map +1 -1
- package/oauthSettings.d.ts +3 -3
- package/oauthSettings.js +3 -3
- package/package.json +2 -2
- package/packageCleanupPolicy.d.ts +195 -2
- package/packageCleanupPolicy.js +195 -2
- package/packageCleanupPolicy.js.map +1 -1
- package/provider.d.ts +6 -0
- package/provider.js.map +1 -1
- package/releaseBundleV2CleanupPolicy.d.ts +77 -0
- package/releaseBundleV2CleanupPolicy.js +77 -0
- package/releaseBundleV2CleanupPolicy.js.map +1 -1
- package/remoteAlpineRepository.d.ts +9 -1
- package/remoteAlpineRepository.js +0 -1
- package/remoteAlpineRepository.js.map +1 -1
- package/remoteAnsibleRepository.d.ts +9 -1
- package/remoteAnsibleRepository.js +0 -1
- package/remoteAnsibleRepository.js.map +1 -1
- package/remoteBowerRepository.d.ts +9 -1
- package/remoteBowerRepository.js +0 -1
- package/remoteBowerRepository.js.map +1 -1
- package/remoteCargoRepository.d.ts +9 -1
- package/remoteCargoRepository.js +0 -1
- package/remoteCargoRepository.js.map +1 -1
- package/remoteChefRepository.d.ts +9 -1
- package/remoteChefRepository.js +0 -1
- package/remoteChefRepository.js.map +1 -1
- package/remoteCocoapodsRepository.d.ts +9 -1
- package/remoteCocoapodsRepository.js +0 -1
- package/remoteCocoapodsRepository.js.map +1 -1
- package/remoteComposerRepository.d.ts +9 -1
- package/remoteComposerRepository.js +0 -1
- package/remoteComposerRepository.js.map +1 -1
- package/remoteConanRepository.d.ts +9 -1
- package/remoteConanRepository.js +0 -1
- package/remoteConanRepository.js.map +1 -1
- package/remoteCondaRepository.d.ts +9 -1
- package/remoteCondaRepository.js +0 -1
- package/remoteCondaRepository.js.map +1 -1
- package/remoteCranRepository.d.ts +9 -1
- package/remoteCranRepository.js +0 -1
- package/remoteCranRepository.js.map +1 -1
- package/remoteDebianRepository.d.ts +9 -1
- package/remoteDebianRepository.js +0 -1
- package/remoteDebianRepository.js.map +1 -1
- package/remoteDockerRepository.d.ts +9 -1
- package/remoteDockerRepository.js +0 -1
- package/remoteDockerRepository.js.map +1 -1
- package/remoteGemsRepository.d.ts +9 -1
- package/remoteGemsRepository.js +0 -1
- package/remoteGemsRepository.js.map +1 -1
- package/remoteGenericRepository.d.ts +9 -1
- package/remoteGenericRepository.js +0 -1
- package/remoteGenericRepository.js.map +1 -1
- package/remoteGitlfsRepository.d.ts +9 -1
- package/remoteGitlfsRepository.js +0 -1
- package/remoteGitlfsRepository.js.map +1 -1
- package/remoteGoRepository.d.ts +9 -1
- package/remoteGoRepository.js +0 -1
- package/remoteGoRepository.js.map +1 -1
- package/remoteGradleRepository.d.ts +9 -1
- package/remoteGradleRepository.js +0 -1
- package/remoteGradleRepository.js.map +1 -1
- package/remoteHelmRepository.d.ts +9 -1
- package/remoteHelmRepository.js +0 -1
- package/remoteHelmRepository.js.map +1 -1
- package/remoteHelmociRepository.d.ts +9 -0
- package/remoteHelmociRepository.js.map +1 -1
- package/remoteHexRepository.d.ts +18 -4
- package/remoteHexRepository.js +0 -1
- package/remoteHexRepository.js.map +1 -1
- package/remoteHuggingfacemlRepository.d.ts +9 -1
- package/remoteHuggingfacemlRepository.js +0 -1
- package/remoteHuggingfacemlRepository.js.map +1 -1
- package/remoteIvyRepository.d.ts +9 -1
- package/remoteIvyRepository.js +0 -1
- package/remoteIvyRepository.js.map +1 -1
- package/remoteMavenRepository.d.ts +9 -1
- package/remoteMavenRepository.js +0 -1
- package/remoteMavenRepository.js.map +1 -1
- package/remoteNpmRepository.d.ts +9 -1
- package/remoteNpmRepository.js +0 -1
- package/remoteNpmRepository.js.map +1 -1
- package/remoteNugetRepository.d.ts +9 -1
- package/remoteNugetRepository.js +0 -1
- package/remoteNugetRepository.js.map +1 -1
- package/remoteOciRepository.d.ts +9 -1
- package/remoteOciRepository.js +0 -1
- package/remoteOciRepository.js.map +1 -1
- package/remoteOpkgRepository.d.ts +9 -1
- package/remoteOpkgRepository.js +0 -1
- package/remoteOpkgRepository.js.map +1 -1
- package/remoteP2Repository.d.ts +9 -1
- package/remoteP2Repository.js +0 -1
- package/remoteP2Repository.js.map +1 -1
- package/remotePubRepository.d.ts +9 -1
- package/remotePubRepository.js +0 -1
- package/remotePubRepository.js.map +1 -1
- package/remotePuppetRepository.d.ts +9 -1
- package/remotePuppetRepository.js +0 -1
- package/remotePuppetRepository.js.map +1 -1
- package/remotePypiRepository.d.ts +9 -1
- package/remotePypiRepository.js +0 -1
- package/remotePypiRepository.js.map +1 -1
- package/remoteRpmRepository.d.ts +9 -1
- package/remoteRpmRepository.js +0 -1
- package/remoteRpmRepository.js.map +1 -1
- package/remoteSbtRepository.d.ts +9 -1
- package/remoteSbtRepository.js +0 -1
- package/remoteSbtRepository.js.map +1 -1
- package/remoteSwiftRepository.d.ts +9 -1
- package/remoteSwiftRepository.js +0 -1
- package/remoteSwiftRepository.js.map +1 -1
- package/remoteTerraformRepository.d.ts +91 -1
- package/remoteTerraformRepository.js +49 -1
- package/remoteTerraformRepository.js.map +1 -1
- package/remoteVcsRepository.d.ts +9 -1
- package/remoteVcsRepository.js +0 -1
- package/remoteVcsRepository.js.map +1 -1
- package/samlSettings.d.ts +1 -1
- package/samlSettings.js +1 -1
- package/types/input.d.ts +9 -0
- package/types/output.d.ts +9 -0
- package/unmanagedUser.d.ts +21 -0
- package/unmanagedUser.js.map +1 -1
- package/user.d.ts +9 -0
- package/user.js +9 -0
- package/user.js.map +1 -1
- package/virtualAlpineRepository.d.ts +9 -0
- package/virtualAlpineRepository.js.map +1 -1
- package/virtualAnsibleRepository.d.ts +9 -1
- package/virtualAnsibleRepository.js +0 -1
- package/virtualAnsibleRepository.js.map +1 -1
- package/virtualBowerRepository.d.ts +9 -0
- package/virtualBowerRepository.js.map +1 -1
- package/virtualChefRepository.d.ts +9 -0
- package/virtualChefRepository.js.map +1 -1
- package/virtualCocoapodsRepository.d.ts +9 -0
- package/virtualCocoapodsRepository.js.map +1 -1
- package/virtualComposerRepository.d.ts +9 -0
- package/virtualComposerRepository.js.map +1 -1
- package/virtualConanRepository.d.ts +9 -0
- package/virtualConanRepository.js.map +1 -1
- package/virtualCondaRepository.d.ts +9 -0
- package/virtualCondaRepository.js.map +1 -1
- package/virtualCranRepository.d.ts +9 -0
- package/virtualCranRepository.js.map +1 -1
- package/virtualDebianRepository.d.ts +9 -0
- package/virtualDebianRepository.js.map +1 -1
- package/virtualDockerRepository.d.ts +9 -0
- package/virtualDockerRepository.js.map +1 -1
- package/virtualGemsRepository.d.ts +9 -0
- package/virtualGemsRepository.js.map +1 -1
- package/virtualGenericRepository.d.ts +9 -0
- package/virtualGenericRepository.js.map +1 -1
- package/virtualGitlfsRepository.d.ts +9 -0
- package/virtualGitlfsRepository.js.map +1 -1
- package/virtualGradleRepository.d.ts +9 -0
- package/virtualGradleRepository.js.map +1 -1
- package/virtualHelmRepository.d.ts +9 -0
- package/virtualHelmRepository.js.map +1 -1
- package/virtualHelmociRepository.d.ts +9 -0
- package/virtualHelmociRepository.js.map +1 -1
- package/virtualHexRepository.d.ts +18 -4
- package/virtualHexRepository.js +0 -1
- package/virtualHexRepository.js.map +1 -1
- package/virtualIvyRepository.d.ts +9 -0
- package/virtualIvyRepository.js.map +1 -1
- package/virtualNpmRepository.d.ts +9 -0
- package/virtualNpmRepository.js.map +1 -1
- package/virtualNugetRepository.d.ts +9 -0
- package/virtualNugetRepository.js.map +1 -1
- package/virtualOciRepository.d.ts +9 -0
- package/virtualOciRepository.js.map +1 -1
- package/virtualP2Repository.d.ts +9 -0
- package/virtualP2Repository.js.map +1 -1
- package/virtualPubRepository.d.ts +9 -0
- package/virtualPubRepository.js.map +1 -1
- package/virtualPuppetRepository.d.ts +9 -0
- package/virtualPuppetRepository.js.map +1 -1
- package/virtualPypiRepository.d.ts +9 -0
- package/virtualPypiRepository.js.map +1 -1
- package/virtualRpmRepository.d.ts +24 -3
- package/virtualRpmRepository.js.map +1 -1
- package/virtualSbtRepository.d.ts +9 -0
- package/virtualSbtRepository.js.map +1 -1
- package/virtualSwiftRepository.d.ts +9 -0
- package/virtualSwiftRepository.js.map +1 -1
- package/virtualTerraformRepository.d.ts +12 -0
- package/virtualTerraformRepository.js +3 -0
- package/virtualTerraformRepository.js.map +1 -1
|
@@ -2,13 +2,206 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
+
* Provides an Artifactory Package Cleanup Policy resource. This resource enable system administrators to define and customize policies based on specific criteria for removing unused binaries from across their JFrog platform. Package cleanup policies are supported on the Cloud (7.98.2) and Self-Hosted (7.98.7) platforms, with an Enterprise+ license. See [Cleanup Policies](https://jfrog.com/help/r/jfrog-platform-administration-documentation/cleanup-policies) for more details.
|
|
6
|
+
*
|
|
7
|
+
* ## Example Usage
|
|
8
|
+
*
|
|
9
|
+
* ### Time-based Cleanup Policy (Days)
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
13
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
14
|
+
*
|
|
15
|
+
* const my_cleanup_policy = new artifactory.PackageCleanupPolicy("my-cleanup-policy", {
|
|
16
|
+
* key: "my-cleanup-policy",
|
|
17
|
+
* description: "My cleanup policy",
|
|
18
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
19
|
+
* durationInMinutes: 60,
|
|
20
|
+
* enabled: true,
|
|
21
|
+
* skipTrashcan: false,
|
|
22
|
+
* searchCriteria: {
|
|
23
|
+
* packageTypes: [
|
|
24
|
+
* "docker",
|
|
25
|
+
* "gradle",
|
|
26
|
+
* "maven",
|
|
27
|
+
* ],
|
|
28
|
+
* repos: ["**"],
|
|
29
|
+
* includeAllProjects: true,
|
|
30
|
+
* includedProjects: [],
|
|
31
|
+
* includedPackages: ["**"],
|
|
32
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
33
|
+
* createdBeforeInDays: 30,
|
|
34
|
+
* lastDownloadedBeforeInDays: 60,
|
|
35
|
+
* },
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* ### Version-based Cleanup Policy
|
|
40
|
+
*
|
|
41
|
+
* ```typescript
|
|
42
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
43
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
44
|
+
*
|
|
45
|
+
* const my_version_policy = new artifactory.PackageCleanupPolicy("my-version-policy", {
|
|
46
|
+
* key: "my-version-policy",
|
|
47
|
+
* description: "Keep only latest versions",
|
|
48
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
49
|
+
* durationInMinutes: 60,
|
|
50
|
+
* enabled: true,
|
|
51
|
+
* skipTrashcan: false,
|
|
52
|
+
* searchCriteria: {
|
|
53
|
+
* packageTypes: ["maven"],
|
|
54
|
+
* repos: ["**"],
|
|
55
|
+
* includeAllProjects: true,
|
|
56
|
+
* includedProjects: [],
|
|
57
|
+
* includedPackages: ["**"],
|
|
58
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
59
|
+
* keepLastNVersions: 5,
|
|
60
|
+
* },
|
|
61
|
+
* });
|
|
62
|
+
* ```
|
|
63
|
+
*
|
|
64
|
+
* ### Properties-based Cleanup Policy
|
|
65
|
+
*
|
|
66
|
+
* ```typescript
|
|
67
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
68
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
69
|
+
*
|
|
70
|
+
* const my_properties_policy = new artifactory.PackageCleanupPolicy("my-properties-policy", {
|
|
71
|
+
* key: "my-properties-policy",
|
|
72
|
+
* description: "Cleanup based on properties",
|
|
73
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
74
|
+
* durationInMinutes: 60,
|
|
75
|
+
* enabled: true,
|
|
76
|
+
* skipTrashcan: false,
|
|
77
|
+
* searchCriteria: {
|
|
78
|
+
* packageTypes: ["docker"],
|
|
79
|
+
* repos: ["**"],
|
|
80
|
+
* includeAllProjects: true,
|
|
81
|
+
* includedProjects: [],
|
|
82
|
+
* includedPackages: ["**"],
|
|
83
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
84
|
+
* includedProperties: {
|
|
85
|
+
* "build.name": ["my-app"],
|
|
86
|
+
* },
|
|
87
|
+
* },
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
91
|
+
* ### Using Variables for Condition Fields
|
|
92
|
+
*
|
|
93
|
+
* You can use Terraform variables for condition fields (`createdBeforeInDays`, `lastDownloadedBeforeInDays`, `createdBeforeInMonths`, `lastDownloadedBeforeInMonths`, `keepLastNVersions`, `includedProperties`) and `durationInMinutes`. The validator will skip validation when values are unknown (variables), allowing `terraform validate` to pass without requiring variable values.
|
|
94
|
+
*
|
|
95
|
+
* **Example with variables:**
|
|
96
|
+
*
|
|
97
|
+
* ```typescript
|
|
98
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
99
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
100
|
+
*
|
|
101
|
+
* const config = new pulumi.Config();
|
|
102
|
+
* const cleanupPolicyLastDownloadedBeforeInDays = config.getNumber("cleanupPolicyLastDownloadedBeforeInDays") || 60;
|
|
103
|
+
* const cleanupPolicyDurationInMinutes = config.getNumber("cleanupPolicyDurationInMinutes") || 120;
|
|
104
|
+
* const my_cleanup_policy = new artifactory.PackageCleanupPolicy("my-cleanup-policy", {
|
|
105
|
+
* key: "my-cleanup-policy",
|
|
106
|
+
* description: "My cleanup policy with variables",
|
|
107
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
108
|
+
* durationInMinutes: cleanupPolicyDurationInMinutes,
|
|
109
|
+
* enabled: true,
|
|
110
|
+
* skipTrashcan: false,
|
|
111
|
+
* searchCriteria: {
|
|
112
|
+
* packageTypes: [
|
|
113
|
+
* "docker",
|
|
114
|
+
* "generic",
|
|
115
|
+
* "helm",
|
|
116
|
+
* "helmoci",
|
|
117
|
+
* "nuget",
|
|
118
|
+
* "terraform",
|
|
119
|
+
* ],
|
|
120
|
+
* repos: ["**"],
|
|
121
|
+
* includeAllProjects: false,
|
|
122
|
+
* includedProjects: ["default"],
|
|
123
|
+
* includedPackages: ["**"],
|
|
124
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
125
|
+
* lastDownloadedBeforeInDays: cleanupPolicyLastDownloadedBeforeInDays,
|
|
126
|
+
* },
|
|
127
|
+
* });
|
|
128
|
+
* ```
|
|
129
|
+
*
|
|
130
|
+
* **Important Notes:**
|
|
131
|
+
* - Variables with default values allow `terraform validate` to pass without requiring variable values
|
|
132
|
+
* - Variables without default values will require values to be provided during `pulumi preview` or `pulumi up`
|
|
133
|
+
* - The validator automatically skips validation when condition field values are unknown (variables), preventing false validation errors during `terraform validate`
|
|
134
|
+
*
|
|
135
|
+
* ## Validation Rules
|
|
136
|
+
*
|
|
137
|
+
* The cleanup policy resource enforces the following validation rules:
|
|
138
|
+
*
|
|
139
|
+
* 1. **Condition Types**: A policy must use exactly one of the following condition types:
|
|
140
|
+
* - Time-based conditions (`days-based`)
|
|
141
|
+
* - Version-based condition (`keepLastNVersions`)
|
|
142
|
+
* - Properties-based condition (`includedProperties`)
|
|
143
|
+
*
|
|
144
|
+
* 2. **Mutual Exclusivity**: Cannot use multiple condition types together.
|
|
145
|
+
*
|
|
146
|
+
* 3. **Zero Values**: Time-based and version-based conditions must have values greater than 0.
|
|
147
|
+
*
|
|
148
|
+
* 4. **Days vs Months**: Cannot use both days-based conditions (`createdBeforeInDays`, `lastDownloadedBeforeInDays`) and months-based conditions (`createdBeforeInMonths`, `lastDownloadedBeforeInMonths`) together.
|
|
149
|
+
*
|
|
150
|
+
* 5. **Properties Validation**: Properties-based conditions must have exactly one key with exactly one string value.
|
|
151
|
+
*
|
|
152
|
+
* 6. **Project Configuration**: When `includeAllProjects` is set to `true`, the `includedProjects` field can be empty array. When `includeAllProjects` is `false`, `includedProjects` must contain at least one project key.
|
|
153
|
+
*
|
|
154
|
+
* 7. **Project-level Policy Constraints**: When `projectKey` is specified (project-level policy):
|
|
155
|
+
* - `includeAllProjects` must be set to `false`
|
|
156
|
+
* - `includedProjects` should be empty array `[]`
|
|
157
|
+
* - Policy `key` must start with the project key value as a prefix followed by a hyphen
|
|
158
|
+
* - ✅ Valid: `projectKey = "myproj"` → `key = "myproj-cleanup-policy"`
|
|
159
|
+
* - ❌ Invalid: `projectKey = "myproj"` → `key = "cleanup-policy"` (missing prefix)
|
|
160
|
+
* - ❌ Invalid: `projectKey = "myproj"` → `key = "other-cleanup-policy"` (wrong prefix)
|
|
161
|
+
*
|
|
162
|
+
* ## Supported Package Types
|
|
163
|
+
*
|
|
164
|
+
* The following package types are supported for cleanup policies with their respective minimum Artifactory versions:
|
|
165
|
+
*
|
|
166
|
+
* - **alpine** - Alpine Linux packages (supported from 7.108.0)
|
|
167
|
+
* - **ansible** - Ansible collections and roles (supported from 7.104.2)
|
|
168
|
+
* - **cargo** - Rust Cargo packages (supported from 7.102.0)
|
|
169
|
+
* - **chef** - Chef cookbooks (supported from 7.112.0)
|
|
170
|
+
* - **cocoapods** - CocoaPods packages (supported from 7.99.1)
|
|
171
|
+
* - **composer** - PHP Composer packages (supported from 7.116.0)
|
|
172
|
+
* - **conan** - Conan C/C++ packages (supported from 7.98.2)
|
|
173
|
+
* - **conda** - Conda packages (supported from 7.105.2)
|
|
174
|
+
* - **debian** - Debian packages (supported from 7.98.2)
|
|
175
|
+
* - **docker** - Docker images (supported from 7.98.2, version-based condition (keep_last_n_versions) from 7.115.1)
|
|
176
|
+
* - **gems** - Ruby gems (supported from 7.96.3)
|
|
177
|
+
* - **generic** - Generic packages (supported from 7.98.2, version-based conditions is not supported)
|
|
178
|
+
* - **go** - Go modules (supported from 7.98.2)
|
|
179
|
+
* - **gradle** - Gradle packages (supported from 7.98.2)
|
|
180
|
+
* - **helm** - Helm charts (supported from 7.98.2)
|
|
181
|
+
* - **helmoci** - Helm OCI charts (supported from 7.102.0, version-based conditions (keep_last_n_versions) from 7.115.1)
|
|
182
|
+
* - **huggingfaceml** - Hugging Face ML models (supported from 7.100.0)
|
|
183
|
+
* - **machinelearning** - Machine learning models (supported from 7.104.2)
|
|
184
|
+
* - **maven** - Maven packages (supported from 7.98.2)
|
|
185
|
+
* - **npm** - Node.js packages (supported from 7.98.2)
|
|
186
|
+
* - **nuget** - .NET NuGet packages (supported from 7.98.2)
|
|
187
|
+
* - **oci** - OCI images (supported from 7.90.1, version-based conditions (keep_last_n_versions) from 7.115.1)
|
|
188
|
+
* - **puppet** - Puppet modules (supported from 7.112.0)
|
|
189
|
+
* - **pypi** - Python packages (supported from 7.98.2)
|
|
190
|
+
* - **rpm|yum** - RPM packages (supported from 7.98.2)
|
|
191
|
+
* - **sbt** - Scala SBT packages (supported from 7.108.0)
|
|
192
|
+
* - **swift** - Swift packages
|
|
193
|
+
* - **terraform** - Terraform modules (supported from 7.99.1)
|
|
194
|
+
* - **terraformbackend** - Terraform backend configurations (supported from 7.103.0)
|
|
195
|
+
*
|
|
196
|
+
* ## Version Compatibility
|
|
197
|
+
*
|
|
198
|
+
* - The `createdBeforeInDays` and `lastDownloadedBeforeInDays` attributes are only supported in Artifactory 7.111.2 and later. For earlier versions, use `createdBeforeInMonths` and `lastDownloadedBeforeInMonths`.
|
|
199
|
+
*
|
|
5
200
|
* ## Import
|
|
6
201
|
*
|
|
7
202
|
* ```sh
|
|
8
203
|
* $ pulumi import artifactory:index/packageCleanupPolicy:PackageCleanupPolicy my-cleanup-policy my-policy
|
|
9
|
-
* ```
|
|
10
204
|
*
|
|
11
|
-
* ```sh
|
|
12
205
|
* $ pulumi import artifactory:index/packageCleanupPolicy:PackageCleanupPolicy my-cleanup-policy my-policy:myproj
|
|
13
206
|
* ```
|
|
14
207
|
*/
|
package/packageCleanupPolicy.js
CHANGED
|
@@ -6,13 +6,206 @@ exports.PackageCleanupPolicy = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* Provides an Artifactory Package Cleanup Policy resource. This resource enable system administrators to define and customize policies based on specific criteria for removing unused binaries from across their JFrog platform. Package cleanup policies are supported on the Cloud (7.98.2) and Self-Hosted (7.98.7) platforms, with an Enterprise+ license. See [Cleanup Policies](https://jfrog.com/help/r/jfrog-platform-administration-documentation/cleanup-policies) for more details.
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ### Time-based Cleanup Policy (Days)
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
18
|
+
*
|
|
19
|
+
* const my_cleanup_policy = new artifactory.PackageCleanupPolicy("my-cleanup-policy", {
|
|
20
|
+
* key: "my-cleanup-policy",
|
|
21
|
+
* description: "My cleanup policy",
|
|
22
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
23
|
+
* durationInMinutes: 60,
|
|
24
|
+
* enabled: true,
|
|
25
|
+
* skipTrashcan: false,
|
|
26
|
+
* searchCriteria: {
|
|
27
|
+
* packageTypes: [
|
|
28
|
+
* "docker",
|
|
29
|
+
* "gradle",
|
|
30
|
+
* "maven",
|
|
31
|
+
* ],
|
|
32
|
+
* repos: ["**"],
|
|
33
|
+
* includeAllProjects: true,
|
|
34
|
+
* includedProjects: [],
|
|
35
|
+
* includedPackages: ["**"],
|
|
36
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
37
|
+
* createdBeforeInDays: 30,
|
|
38
|
+
* lastDownloadedBeforeInDays: 60,
|
|
39
|
+
* },
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* ### Version-based Cleanup Policy
|
|
44
|
+
*
|
|
45
|
+
* ```typescript
|
|
46
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
47
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
48
|
+
*
|
|
49
|
+
* const my_version_policy = new artifactory.PackageCleanupPolicy("my-version-policy", {
|
|
50
|
+
* key: "my-version-policy",
|
|
51
|
+
* description: "Keep only latest versions",
|
|
52
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
53
|
+
* durationInMinutes: 60,
|
|
54
|
+
* enabled: true,
|
|
55
|
+
* skipTrashcan: false,
|
|
56
|
+
* searchCriteria: {
|
|
57
|
+
* packageTypes: ["maven"],
|
|
58
|
+
* repos: ["**"],
|
|
59
|
+
* includeAllProjects: true,
|
|
60
|
+
* includedProjects: [],
|
|
61
|
+
* includedPackages: ["**"],
|
|
62
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
63
|
+
* keepLastNVersions: 5,
|
|
64
|
+
* },
|
|
65
|
+
* });
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* ### Properties-based Cleanup Policy
|
|
69
|
+
*
|
|
70
|
+
* ```typescript
|
|
71
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
72
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
73
|
+
*
|
|
74
|
+
* const my_properties_policy = new artifactory.PackageCleanupPolicy("my-properties-policy", {
|
|
75
|
+
* key: "my-properties-policy",
|
|
76
|
+
* description: "Cleanup based on properties",
|
|
77
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
78
|
+
* durationInMinutes: 60,
|
|
79
|
+
* enabled: true,
|
|
80
|
+
* skipTrashcan: false,
|
|
81
|
+
* searchCriteria: {
|
|
82
|
+
* packageTypes: ["docker"],
|
|
83
|
+
* repos: ["**"],
|
|
84
|
+
* includeAllProjects: true,
|
|
85
|
+
* includedProjects: [],
|
|
86
|
+
* includedPackages: ["**"],
|
|
87
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
88
|
+
* includedProperties: {
|
|
89
|
+
* "build.name": ["my-app"],
|
|
90
|
+
* },
|
|
91
|
+
* },
|
|
92
|
+
* });
|
|
93
|
+
* ```
|
|
94
|
+
*
|
|
95
|
+
* ### Using Variables for Condition Fields
|
|
96
|
+
*
|
|
97
|
+
* You can use Terraform variables for condition fields (`createdBeforeInDays`, `lastDownloadedBeforeInDays`, `createdBeforeInMonths`, `lastDownloadedBeforeInMonths`, `keepLastNVersions`, `includedProperties`) and `durationInMinutes`. The validator will skip validation when values are unknown (variables), allowing `terraform validate` to pass without requiring variable values.
|
|
98
|
+
*
|
|
99
|
+
* **Example with variables:**
|
|
100
|
+
*
|
|
101
|
+
* ```typescript
|
|
102
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
103
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
104
|
+
*
|
|
105
|
+
* const config = new pulumi.Config();
|
|
106
|
+
* const cleanupPolicyLastDownloadedBeforeInDays = config.getNumber("cleanupPolicyLastDownloadedBeforeInDays") || 60;
|
|
107
|
+
* const cleanupPolicyDurationInMinutes = config.getNumber("cleanupPolicyDurationInMinutes") || 120;
|
|
108
|
+
* const my_cleanup_policy = new artifactory.PackageCleanupPolicy("my-cleanup-policy", {
|
|
109
|
+
* key: "my-cleanup-policy",
|
|
110
|
+
* description: "My cleanup policy with variables",
|
|
111
|
+
* cronExpression: "0 0 2 ? * MON-SAT *",
|
|
112
|
+
* durationInMinutes: cleanupPolicyDurationInMinutes,
|
|
113
|
+
* enabled: true,
|
|
114
|
+
* skipTrashcan: false,
|
|
115
|
+
* searchCriteria: {
|
|
116
|
+
* packageTypes: [
|
|
117
|
+
* "docker",
|
|
118
|
+
* "generic",
|
|
119
|
+
* "helm",
|
|
120
|
+
* "helmoci",
|
|
121
|
+
* "nuget",
|
|
122
|
+
* "terraform",
|
|
123
|
+
* ],
|
|
124
|
+
* repos: ["**"],
|
|
125
|
+
* includeAllProjects: false,
|
|
126
|
+
* includedProjects: ["default"],
|
|
127
|
+
* includedPackages: ["**"],
|
|
128
|
+
* excludedPackages: ["com/jfrog/latest"],
|
|
129
|
+
* lastDownloadedBeforeInDays: cleanupPolicyLastDownloadedBeforeInDays,
|
|
130
|
+
* },
|
|
131
|
+
* });
|
|
132
|
+
* ```
|
|
133
|
+
*
|
|
134
|
+
* **Important Notes:**
|
|
135
|
+
* - Variables with default values allow `terraform validate` to pass without requiring variable values
|
|
136
|
+
* - Variables without default values will require values to be provided during `pulumi preview` or `pulumi up`
|
|
137
|
+
* - The validator automatically skips validation when condition field values are unknown (variables), preventing false validation errors during `terraform validate`
|
|
138
|
+
*
|
|
139
|
+
* ## Validation Rules
|
|
140
|
+
*
|
|
141
|
+
* The cleanup policy resource enforces the following validation rules:
|
|
142
|
+
*
|
|
143
|
+
* 1. **Condition Types**: A policy must use exactly one of the following condition types:
|
|
144
|
+
* - Time-based conditions (`days-based`)
|
|
145
|
+
* - Version-based condition (`keepLastNVersions`)
|
|
146
|
+
* - Properties-based condition (`includedProperties`)
|
|
147
|
+
*
|
|
148
|
+
* 2. **Mutual Exclusivity**: Cannot use multiple condition types together.
|
|
149
|
+
*
|
|
150
|
+
* 3. **Zero Values**: Time-based and version-based conditions must have values greater than 0.
|
|
151
|
+
*
|
|
152
|
+
* 4. **Days vs Months**: Cannot use both days-based conditions (`createdBeforeInDays`, `lastDownloadedBeforeInDays`) and months-based conditions (`createdBeforeInMonths`, `lastDownloadedBeforeInMonths`) together.
|
|
153
|
+
*
|
|
154
|
+
* 5. **Properties Validation**: Properties-based conditions must have exactly one key with exactly one string value.
|
|
155
|
+
*
|
|
156
|
+
* 6. **Project Configuration**: When `includeAllProjects` is set to `true`, the `includedProjects` field can be empty array. When `includeAllProjects` is `false`, `includedProjects` must contain at least one project key.
|
|
157
|
+
*
|
|
158
|
+
* 7. **Project-level Policy Constraints**: When `projectKey` is specified (project-level policy):
|
|
159
|
+
* - `includeAllProjects` must be set to `false`
|
|
160
|
+
* - `includedProjects` should be empty array `[]`
|
|
161
|
+
* - Policy `key` must start with the project key value as a prefix followed by a hyphen
|
|
162
|
+
* - ✅ Valid: `projectKey = "myproj"` → `key = "myproj-cleanup-policy"`
|
|
163
|
+
* - ❌ Invalid: `projectKey = "myproj"` → `key = "cleanup-policy"` (missing prefix)
|
|
164
|
+
* - ❌ Invalid: `projectKey = "myproj"` → `key = "other-cleanup-policy"` (wrong prefix)
|
|
165
|
+
*
|
|
166
|
+
* ## Supported Package Types
|
|
167
|
+
*
|
|
168
|
+
* The following package types are supported for cleanup policies with their respective minimum Artifactory versions:
|
|
169
|
+
*
|
|
170
|
+
* - **alpine** - Alpine Linux packages (supported from 7.108.0)
|
|
171
|
+
* - **ansible** - Ansible collections and roles (supported from 7.104.2)
|
|
172
|
+
* - **cargo** - Rust Cargo packages (supported from 7.102.0)
|
|
173
|
+
* - **chef** - Chef cookbooks (supported from 7.112.0)
|
|
174
|
+
* - **cocoapods** - CocoaPods packages (supported from 7.99.1)
|
|
175
|
+
* - **composer** - PHP Composer packages (supported from 7.116.0)
|
|
176
|
+
* - **conan** - Conan C/C++ packages (supported from 7.98.2)
|
|
177
|
+
* - **conda** - Conda packages (supported from 7.105.2)
|
|
178
|
+
* - **debian** - Debian packages (supported from 7.98.2)
|
|
179
|
+
* - **docker** - Docker images (supported from 7.98.2, version-based condition (keep_last_n_versions) from 7.115.1)
|
|
180
|
+
* - **gems** - Ruby gems (supported from 7.96.3)
|
|
181
|
+
* - **generic** - Generic packages (supported from 7.98.2, version-based conditions is not supported)
|
|
182
|
+
* - **go** - Go modules (supported from 7.98.2)
|
|
183
|
+
* - **gradle** - Gradle packages (supported from 7.98.2)
|
|
184
|
+
* - **helm** - Helm charts (supported from 7.98.2)
|
|
185
|
+
* - **helmoci** - Helm OCI charts (supported from 7.102.0, version-based conditions (keep_last_n_versions) from 7.115.1)
|
|
186
|
+
* - **huggingfaceml** - Hugging Face ML models (supported from 7.100.0)
|
|
187
|
+
* - **machinelearning** - Machine learning models (supported from 7.104.2)
|
|
188
|
+
* - **maven** - Maven packages (supported from 7.98.2)
|
|
189
|
+
* - **npm** - Node.js packages (supported from 7.98.2)
|
|
190
|
+
* - **nuget** - .NET NuGet packages (supported from 7.98.2)
|
|
191
|
+
* - **oci** - OCI images (supported from 7.90.1, version-based conditions (keep_last_n_versions) from 7.115.1)
|
|
192
|
+
* - **puppet** - Puppet modules (supported from 7.112.0)
|
|
193
|
+
* - **pypi** - Python packages (supported from 7.98.2)
|
|
194
|
+
* - **rpm|yum** - RPM packages (supported from 7.98.2)
|
|
195
|
+
* - **sbt** - Scala SBT packages (supported from 7.108.0)
|
|
196
|
+
* - **swift** - Swift packages
|
|
197
|
+
* - **terraform** - Terraform modules (supported from 7.99.1)
|
|
198
|
+
* - **terraformbackend** - Terraform backend configurations (supported from 7.103.0)
|
|
199
|
+
*
|
|
200
|
+
* ## Version Compatibility
|
|
201
|
+
*
|
|
202
|
+
* - The `createdBeforeInDays` and `lastDownloadedBeforeInDays` attributes are only supported in Artifactory 7.111.2 and later. For earlier versions, use `createdBeforeInMonths` and `lastDownloadedBeforeInMonths`.
|
|
203
|
+
*
|
|
9
204
|
* ## Import
|
|
10
205
|
*
|
|
11
206
|
* ```sh
|
|
12
207
|
* $ pulumi import artifactory:index/packageCleanupPolicy:PackageCleanupPolicy my-cleanup-policy my-policy
|
|
13
|
-
* ```
|
|
14
208
|
*
|
|
15
|
-
* ```sh
|
|
16
209
|
* $ pulumi import artifactory:index/packageCleanupPolicy:PackageCleanupPolicy my-cleanup-policy my-policy:myproj
|
|
17
210
|
* ```
|
|
18
211
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packageCleanupPolicy.js","sourceRoot":"","sources":["../packageCleanupPolicy.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"packageCleanupPolicy.js","sourceRoot":"","sources":["../packageCleanupPolicy.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2MG;AACH,MAAa,oBAAqB,SAAQ,MAAM,CAAC,cAAc;IAC3D;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAiC,EAAE,IAAmC;QAC/H,OAAO,IAAI,oBAAoB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3E,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,oBAAoB,CAAC,YAAY,CAAC;IACrE,CAAC;IAqCD,YAAY,IAAY,EAAE,WAAkE,EAAE,IAAmC;QAC7H,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAoD,CAAC;YACnE,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;YACjD,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,YAAY,CAAC;SACxD;aAAM;YACH,MAAM,IAAI,GAAG,WAAmD,CAAC;YACjE,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACtD;YACD,IAAI,IAAI,EAAE,cAAc,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aACjE;YACD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;YAClC,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;YAChD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,EAAE,YAAY,CAAC;SACvD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,oBAAoB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;;AA/FL,oDAgGC;AAlFG,gBAAgB;AACO,iCAAY,GAAG,6DAA6D,CAAC"}
|
package/provider.d.ts
CHANGED
|
@@ -43,6 +43,9 @@ By end of Q4 2024, API Keys will be deprecated all together and the option to us
|
|
|
43
43
|
* OIDC provider name. See [Configure an OIDC Integration](https://jfrog.com/help/r/jfrog-platform-administration-documentation/configure-an-oidc-integration) for more details.
|
|
44
44
|
*/
|
|
45
45
|
readonly oidcProviderName: pulumi.Output<string | undefined>;
|
|
46
|
+
/**
|
|
47
|
+
* Terraform Cloud Workload Identity Token tag name. Use for generating multiple TFC workload identity tokens. When set, the provider will attempt to use env var with this tag name as suffix. **Note:** this is case sensitive, so if set to `JFROG`, then env var `TFC_WORKLOAD_IDENTITY_TOKEN_JFROG` is used instead of `TFC_WORKLOAD_IDENTITY_TOKEN`. See [Generating Multiple Tokens](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/manual-generation#generating-multiple-tokens) on HCP Terraform for more details.
|
|
48
|
+
*/
|
|
46
49
|
readonly tfcCredentialTagName: pulumi.Output<string | undefined>;
|
|
47
50
|
/**
|
|
48
51
|
* Artifactory URL.
|
|
@@ -97,6 +100,9 @@ By end of Q4 2024, API Keys will be deprecated all together and the option to us
|
|
|
97
100
|
* OIDC provider name. See [Configure an OIDC Integration](https://jfrog.com/help/r/jfrog-platform-administration-documentation/configure-an-oidc-integration) for more details.
|
|
98
101
|
*/
|
|
99
102
|
oidcProviderName?: pulumi.Input<string>;
|
|
103
|
+
/**
|
|
104
|
+
* Terraform Cloud Workload Identity Token tag name. Use for generating multiple TFC workload identity tokens. When set, the provider will attempt to use env var with this tag name as suffix. **Note:** this is case sensitive, so if set to `JFROG`, then env var `TFC_WORKLOAD_IDENTITY_TOKEN_JFROG` is used instead of `TFC_WORKLOAD_IDENTITY_TOKEN`. See [Generating Multiple Tokens](https://developer.hashicorp.com/terraform/cloud-docs/workspaces/dynamic-provider-credentials/manual-generation#generating-multiple-tokens) on HCP Terraform for more details.
|
|
105
|
+
*/
|
|
100
106
|
tfcCredentialTagName?: pulumi.Input<string>;
|
|
101
107
|
/**
|
|
102
108
|
* Artifactory URL.
|
package/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/E,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../provider.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,gBAAgB;IAIjD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC/E,CAAC;IA2CD;;;;;;OAMG;IACH,YAAY,IAAY,EAAE,IAAmB,EAAE,IAA6B;QACxE,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB;YACI,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChG,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjF,cAAc,CAAC,0BAA0B,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC;YAC5E,cAAc,CAAC,uBAAuB,CAAC,GAAG,IAAI,EAAE,qBAAqB,CAAC;YACtE,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3H,cAAc,CAAC,qBAAqB,CAAC,GAAG,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxH,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC;YAC5D,cAAc,CAAC,sBAAsB,CAAC,GAAG,IAAI,EAAE,oBAAoB,CAAC;YACpE,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;SACrC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,EAAE,uBAAuB,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,EAAE,CAAC;QACzH,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7C,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,eAAe;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE;YACvE,UAAU,EAAE,IAAI;SACnB,EAAE,IAAI,CAAC,CAAC;IACb,CAAC;;AA1FL,4BA2FC;AA1FG,gBAAgB;AACO,qBAAY,GAAG,aAAa,CAAC"}
|
|
@@ -2,6 +2,83 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
2
2
|
import * as inputs from "./types/input";
|
|
3
3
|
import * as outputs from "./types/output";
|
|
4
4
|
/**
|
|
5
|
+
* Provides an Artifactory Archive Policy resource. This resource enable system administrators to configure and maintain JFrog cleanup policies for Release Bundles V2. See [Cleanup Policies](https://jfrog.com/help/r/jfrog-rest-apis/cleanup-policies-release-bundles-v2-apis) for more details.
|
|
6
|
+
*
|
|
7
|
+
* ~>Release Bundles V2 Cleanup Policies APIs are supported on Artifactory version 7.104.2 and later.
|
|
8
|
+
*
|
|
9
|
+
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
13
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
14
|
+
*
|
|
15
|
+
* const my_release_bundle_v2_rb = new artifactory.ReleaseBundleV2("my-release-bundle-v2-rb", {
|
|
16
|
+
* name: "my-release-bundle-v2-rb",
|
|
17
|
+
* version: "2.0.0",
|
|
18
|
+
* keypairName: "my-keypair-name",
|
|
19
|
+
* skipDockerManifestResolution: true,
|
|
20
|
+
* sourceType: "release_bundles",
|
|
21
|
+
* source: {
|
|
22
|
+
* releaseBundles: [{
|
|
23
|
+
* name: "my-rb-name",
|
|
24
|
+
* version: "1.0.0",
|
|
25
|
+
* }],
|
|
26
|
+
* },
|
|
27
|
+
* });
|
|
28
|
+
* const my_resource_bundle_v2_cleanup_policy = new artifactory.ReleaseBundleV2CleanupPolicy("my-resource-bundle-v2-cleanup-policy", {
|
|
29
|
+
* key: "my-release-bundle-v2-policy-key",
|
|
30
|
+
* description: "Cleanup policy description",
|
|
31
|
+
* cronExpression: "0 0 2 * * ?",
|
|
32
|
+
* durationInMinutes: 60,
|
|
33
|
+
* enabled: true,
|
|
34
|
+
* searchCriteria: {
|
|
35
|
+
* includeAllProjects: true,
|
|
36
|
+
* includedProjects: [],
|
|
37
|
+
* releaseBundles: [{
|
|
38
|
+
* name: "my-release-bundle-v2-rb",
|
|
39
|
+
* projectKey: "",
|
|
40
|
+
* }],
|
|
41
|
+
* excludePromotedEnvironments: ["**"],
|
|
42
|
+
* },
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* ### Using Variables for Duration and Created Before In Months
|
|
47
|
+
*
|
|
48
|
+
* You can use Terraform variables for `durationInMinutes` and `createdBeforeInMonths`. This allows `terraform validate` to pass without requiring variable values when defaults are provided.
|
|
49
|
+
*
|
|
50
|
+
* **Example with variables:**
|
|
51
|
+
*
|
|
52
|
+
* ```typescript
|
|
53
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
54
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
55
|
+
*
|
|
56
|
+
* const config = new pulumi.Config();
|
|
57
|
+
* const releaseBundleCleanupDurationInMinutes = config.getNumber("releaseBundleCleanupDurationInMinutes") || 120;
|
|
58
|
+
* const releaseBundleCleanupCreatedBeforeInMonths = config.getNumber("releaseBundleCleanupCreatedBeforeInMonths") || 36;
|
|
59
|
+
* const my_resource_bundle_v2_cleanup_policy = new artifactory.ReleaseBundleV2CleanupPolicy("my-resource-bundle-v2-cleanup-policy", {
|
|
60
|
+
* key: "my-release-bundle-v2-policy-key",
|
|
61
|
+
* description: "Cleanup policy description with variables",
|
|
62
|
+
* cronExpression: "0 0 2 * * ?",
|
|
63
|
+
* durationInMinutes: releaseBundleCleanupDurationInMinutes,
|
|
64
|
+
* enabled: true,
|
|
65
|
+
* searchCriteria: {
|
|
66
|
+
* includeAllProjects: true,
|
|
67
|
+
* includedProjects: [],
|
|
68
|
+
* releaseBundles: [{
|
|
69
|
+
* name: "my-release-bundle-v2-rb",
|
|
70
|
+
* projectKey: "",
|
|
71
|
+
* }],
|
|
72
|
+
* excludePromotedEnvironments: ["**"],
|
|
73
|
+
* createdBeforeInMonths: releaseBundleCleanupCreatedBeforeInMonths,
|
|
74
|
+
* },
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* **Important Notes:**
|
|
79
|
+
* - Variables with default values allow `terraform validate` to pass without requiring variable values
|
|
80
|
+
* - Variables without default values will require values to be provided during `pulumi preview` or `pulumi up`
|
|
81
|
+
*
|
|
5
82
|
* ## Import
|
|
6
83
|
*
|
|
7
84
|
* ```sh
|
|
@@ -6,6 +6,83 @@ exports.ReleaseBundleV2CleanupPolicy = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
+
* Provides an Artifactory Archive Policy resource. This resource enable system administrators to configure and maintain JFrog cleanup policies for Release Bundles V2. See [Cleanup Policies](https://jfrog.com/help/r/jfrog-rest-apis/cleanup-policies-release-bundles-v2-apis) for more details.
|
|
10
|
+
*
|
|
11
|
+
* ~>Release Bundles V2 Cleanup Policies APIs are supported on Artifactory version 7.104.2 and later.
|
|
12
|
+
*
|
|
13
|
+
* ## Example Usage
|
|
14
|
+
*
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
17
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
18
|
+
*
|
|
19
|
+
* const my_release_bundle_v2_rb = new artifactory.ReleaseBundleV2("my-release-bundle-v2-rb", {
|
|
20
|
+
* name: "my-release-bundle-v2-rb",
|
|
21
|
+
* version: "2.0.0",
|
|
22
|
+
* keypairName: "my-keypair-name",
|
|
23
|
+
* skipDockerManifestResolution: true,
|
|
24
|
+
* sourceType: "release_bundles",
|
|
25
|
+
* source: {
|
|
26
|
+
* releaseBundles: [{
|
|
27
|
+
* name: "my-rb-name",
|
|
28
|
+
* version: "1.0.0",
|
|
29
|
+
* }],
|
|
30
|
+
* },
|
|
31
|
+
* });
|
|
32
|
+
* const my_resource_bundle_v2_cleanup_policy = new artifactory.ReleaseBundleV2CleanupPolicy("my-resource-bundle-v2-cleanup-policy", {
|
|
33
|
+
* key: "my-release-bundle-v2-policy-key",
|
|
34
|
+
* description: "Cleanup policy description",
|
|
35
|
+
* cronExpression: "0 0 2 * * ?",
|
|
36
|
+
* durationInMinutes: 60,
|
|
37
|
+
* enabled: true,
|
|
38
|
+
* searchCriteria: {
|
|
39
|
+
* includeAllProjects: true,
|
|
40
|
+
* includedProjects: [],
|
|
41
|
+
* releaseBundles: [{
|
|
42
|
+
* name: "my-release-bundle-v2-rb",
|
|
43
|
+
* projectKey: "",
|
|
44
|
+
* }],
|
|
45
|
+
* excludePromotedEnvironments: ["**"],
|
|
46
|
+
* },
|
|
47
|
+
* });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* ### Using Variables for Duration and Created Before In Months
|
|
51
|
+
*
|
|
52
|
+
* You can use Terraform variables for `durationInMinutes` and `createdBeforeInMonths`. This allows `terraform validate` to pass without requiring variable values when defaults are provided.
|
|
53
|
+
*
|
|
54
|
+
* **Example with variables:**
|
|
55
|
+
*
|
|
56
|
+
* ```typescript
|
|
57
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
58
|
+
* import * as artifactory from "@pulumi/artifactory";
|
|
59
|
+
*
|
|
60
|
+
* const config = new pulumi.Config();
|
|
61
|
+
* const releaseBundleCleanupDurationInMinutes = config.getNumber("releaseBundleCleanupDurationInMinutes") || 120;
|
|
62
|
+
* const releaseBundleCleanupCreatedBeforeInMonths = config.getNumber("releaseBundleCleanupCreatedBeforeInMonths") || 36;
|
|
63
|
+
* const my_resource_bundle_v2_cleanup_policy = new artifactory.ReleaseBundleV2CleanupPolicy("my-resource-bundle-v2-cleanup-policy", {
|
|
64
|
+
* key: "my-release-bundle-v2-policy-key",
|
|
65
|
+
* description: "Cleanup policy description with variables",
|
|
66
|
+
* cronExpression: "0 0 2 * * ?",
|
|
67
|
+
* durationInMinutes: releaseBundleCleanupDurationInMinutes,
|
|
68
|
+
* enabled: true,
|
|
69
|
+
* searchCriteria: {
|
|
70
|
+
* includeAllProjects: true,
|
|
71
|
+
* includedProjects: [],
|
|
72
|
+
* releaseBundles: [{
|
|
73
|
+
* name: "my-release-bundle-v2-rb",
|
|
74
|
+
* projectKey: "",
|
|
75
|
+
* }],
|
|
76
|
+
* excludePromotedEnvironments: ["**"],
|
|
77
|
+
* createdBeforeInMonths: releaseBundleCleanupCreatedBeforeInMonths,
|
|
78
|
+
* },
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* **Important Notes:**
|
|
83
|
+
* - Variables with default values allow `terraform validate` to pass without requiring variable values
|
|
84
|
+
* - Variables without default values will require values to be provided during `pulumi preview` or `pulumi up`
|
|
85
|
+
*
|
|
9
86
|
* ## Import
|
|
10
87
|
*
|
|
11
88
|
* ```sh
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseBundleV2CleanupPolicy.js","sourceRoot":"","sources":["../releaseBundleV2CleanupPolicy.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"releaseBundleV2CleanupPolicy.js","sourceRoot":"","sources":["../releaseBundleV2CleanupPolicy.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmFG;AACH,MAAa,4BAA6B,SAAQ,MAAM,CAAC,cAAc;IACnE;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyC,EAAE,IAAmC;QACvI,OAAO,IAAI,4BAA4B,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,4BAA4B,CAAC,YAAY,CAAC;IAC7E,CAAC;IAiCD,YAAY,IAAY,EAAE,WAAkF,EAAE,IAAmC;QAC7I,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4D,CAAC;YAC3E,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,mBAAmB,CAAC,GAAG,KAAK,EAAE,iBAAiB,CAAC;YAC/D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,QAAQ,CAAC;YAC7C,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC;YACnC,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;SAC5D;aAAM;YACH,MAAM,IAAI,GAAG,WAA2D,CAAC;YACzE,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACtD;YACD,IAAI,IAAI,EAAE,cAAc,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;aACjE;YACD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,mBAAmB,CAAC,GAAG,IAAI,EAAE,iBAAiB,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC;YAC5C,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;YAClC,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;SAC3D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,4BAA4B,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;;AAzFL,oEA0FC;AA5EG,gBAAgB;AACO,yCAAY,GAAG,6EAA6E,CAAC"}
|