Page MenuHomeDevCentral

software.py
No OneTemporary

software.py

# -------------------------------------------------------------
# Platform checks
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Project: Nasqueron
# Description: Check if a softwareversions is up-to-date
# License: BSD-2-Clause
# -------------------------------------------------------------
from .softwareversions import HashiCorpSoftwareVersionCheck
class SoftwareVersionCheck:
def __init__(self, software):
self.software = software
def perform(self):
check = get_software_version_check(self.software)
return check.perform()
def get_software_version_check(software):
group = get_software_group(software)
if group == "HashiCorp":
return HashiCorpSoftwareVersionCheck(software)
raise RuntimeError(f"Unknown software group for {software}")
def get_software_group(software):
for group, candidates in SOFTWARE_GROUPS.items():
for candidate in candidates:
if candidate == software:
return group
SOFTWARE_GROUPS = {
"HashiCorp": [
"atlas-upload-cli",
"boundary",
"boundary-desktop",
"boundary-worker",
"consul",
"consul-api-gateway",
"consul-aws",
"consul-cni",
"consul-dataplane",
"consul-ecs",
"consul-esm",
"consul-k8s",
"consul-k8s-control-plane",
"consul-lambda-extension",
"consul-lambda-registrator",
"consul-replicate",
"consul-template",
"consul-terraform-sync",
"docker-base",
"docker-basetool",
"envconsul",
"hc-install",
"hcdiag",
"hcs",
"levant",
"nomad",
"nomad-autoscaler",
"nomad-device-nvidia",
"nomad-driver-ecs",
"nomad-driver-lxc",
"nomad-driver-podman",
"nomad-pack",
"otto",
"packer",
"sentinel",
"serf",
"terraform",
"terraform-ls",
"terraform-provider-aci",
"terraform-provider-acme",
"terraform-provider-ad",
"terraform-provider-akamai",
"terraform-provider-alicloud",
"terraform-provider-archive",
"terraform-provider-arukas",
"terraform-provider-atlas",
"terraform-provider-auth0",
"terraform-provider-avi",
"terraform-provider-aviatrix",
"terraform-provider-aws",
"terraform-provider-awscc",
"terraform-provider-azure",
"terraform-provider-azuread",
"terraform-provider-azuredevops",
"terraform-provider-azurerm",
"terraform-provider-azurestack",
"terraform-provider-baiducloud",
"terraform-provider-bigip",
"terraform-provider-bitbucket",
"terraform-provider-boundary",
"terraform-provider-brightbox",
"terraform-provider-checkpoint",
"terraform-provider-chef",
"terraform-provider-cherryservers",
"terraform-provider-circonus",
"terraform-provider-ciscoasa",
"terraform-provider-clc",
"terraform-provider-cloudamqp",
"terraform-provider-cloudflare",
"terraform-provider-cloudinit",
"terraform-provider-cloudscale",
"terraform-provider-cloudstack",
"terraform-provider-cobbler",
"terraform-provider-cohesity",
"terraform-provider-constellix",
"terraform-provider-consul",
"terraform-provider-datadog",
"terraform-provider-digitalocean",
"terraform-provider-dme",
"terraform-provider-dns",
"terraform-provider-dnsimple",
"terraform-provider-docker",
"terraform-provider-dome9",
"terraform-provider-dyn",
"terraform-provider-ecl",
"terraform-provider-equinix",
"terraform-provider-exoscale",
"terraform-provider-external",
"terraform-provider-fakewebservices",
"terraform-provider-fastly",
"terraform-provider-flexibleengine",
"terraform-provider-fortios",
"terraform-provider-genymotion",
"terraform-provider-github",
"terraform-provider-gitlab",
"terraform-provider-google",
"terraform-provider-google-beta",
"terraform-provider-googleworkspace",
"terraform-provider-grafana",
"terraform-provider-gridscale",
"terraform-provider-hcloud",
"terraform-provider-hcp",
"terraform-provider-hcs",
"terraform-provider-hedvig",
"terraform-provider-helm",
"terraform-provider-heroku",
"terraform-provider-http",
"terraform-provider-icinga2",
"terraform-provider-ignition",
"terraform-provider-incapsula",
"terraform-provider-influxdb",
"terraform-provider-infoblox",
"terraform-provider-jdcloud",
"terraform-provider-ksyun",
"terraform-provider-kubernetes",
"terraform-provider-kubernetes-alpha",
"terraform-provider-lacework",
"terraform-provider-launchdarkly",
"terraform-provider-librato",
"terraform-provider-linode",
"terraform-provider-local",
"terraform-provider-logentries",
"terraform-provider-logicmonitor",
"terraform-provider-mailgun",
"terraform-provider-metalcloud",
"terraform-provider-mongodbatlas",
"terraform-provider-mso",
"terraform-provider-mysql",
"terraform-provider-ncloud",
"terraform-provider-netlify",
"terraform-provider-newrelic",
"terraform-provider-nomad",
"terraform-provider-ns1",
"terraform-provider-nsxt",
"terraform-provider-null",
"terraform-provider-nutanix",
"terraform-provider-oci",
"terraform-provider-okta",
"terraform-provider-oktaasa",
"terraform-provider-oneandone",
"terraform-provider-onelogin",
"terraform-provider-opc",
"terraform-provider-opennebula",
"terraform-provider-openstack",
"terraform-provider-opentelekomcloud",
"terraform-provider-opsgenie",
"terraform-provider-oraclepaas",
"terraform-provider-ovh",
"terraform-provider-packet",
"terraform-provider-pagerduty",
"terraform-provider-panos",
"terraform-provider-postgresql",
"terraform-provider-powerdns",
"terraform-provider-prismacloud",
"terraform-provider-profitbricks",
"terraform-provider-pureport",
"terraform-provider-rabbitmq",
"terraform-provider-rancher",
"terraform-provider-rancher2",
"terraform-provider-random",
"terraform-provider-rightscale",
"terraform-provider-rubrik",
"terraform-provider-rundeck",
"terraform-provider-runscope",
"terraform-provider-salesforce",
"terraform-provider-scaleway",
"terraform-provider-sdm",
"terraform-provider-selectel",
"terraform-provider-selvpc",
"terraform-provider-signalfx",
"terraform-provider-skytap",
"terraform-provider-softlayer",
"terraform-provider-spotinst",
"terraform-provider-stackpath",
"terraform-provider-statuscake",
"terraform-provider-sumologic",
"terraform-provider-telefonicaopencloud",
"terraform-provider-template",
"terraform-provider-tencentcloud",
"terraform-provider-terraform",
"terraform-provider-tfcoremock",
"terraform-provider-tfe",
"terraform-provider-thunder",
"terraform-provider-time",
"terraform-provider-tls",
"terraform-provider-triton",
"terraform-provider-turbot",
"terraform-provider-ucloud",
"terraform-provider-ultradns",
"terraform-provider-vault",
"terraform-provider-vcd",
"terraform-provider-venafi",
"terraform-provider-vmc",
"terraform-provider-vra",
"terraform-provider-vra7",
"terraform-provider-vsphere",
"terraform-provider-vthunder",
"terraform-provider-vultr",
"terraform-provider-wavefront",
"terraform-provider-yandex",
"tfc-agent",
"vagrant",
"vagrant-vmware-utility",
"vault",
"vault-auditor",
"vault-csi-provider",
"vault-k8s",
"vault-lambda-extension",
"vault-mssql-ekm-provider",
"vault-pkcs11-provider",
"vault-plugin-database-oracle",
"vault-servicenow-credential-resolver",
"vault-ssh-helper",
"waypoint",
"waypoint-entrypoint",
]
}

File Metadata

Mime Type
text/x-python
Expires
Sat, Mar 21, 05:27 (13 h, 6 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3546468
Default Alt Text
software.py (8 KB)

Event Timeline