github.com/juju/juju@v0.0.0-20240430160146-1752b71fcf00/api/facadeversions.go (about) 1 // Copyright 2014 Canonical Ltd. 2 // Licensed under the AGPLv3, see LICENCE file for details. 3 4 package api 5 6 import "github.com/juju/juju/core/facades" 7 8 // SupportedFacadeVersions returns the list of facades that the api supports. 9 func SupportedFacadeVersions() facades.FacadeVersions { 10 return facadeVersions 11 } 12 13 // facadeVersions lists the best version of facades that we want to support. This 14 // will be used to pick out a default version for communication, given the list 15 // of known versions that the API server tells us it is capable of supporting. 16 // This map should be updated whenever the API server exposes a new version (so 17 // that the client will use it whenever it is available). Removal of an API 18 // server version can be done when any prior releases are no longer supported. 19 // Normally, this can be done at major release, although additional thought around 20 // FullStatus (client facade) and Migration (controller facade) is needed. 21 // New facades should start at 1. 22 // We no longer support facade versions at 0. 23 var facadeVersions = facades.FacadeVersions{ 24 "Action": {7}, 25 "ActionPruner": {1}, 26 "Agent": {3}, 27 "AgentLifeFlag": {1}, 28 "AgentTools": {1}, 29 "AllModelWatcher": {4}, 30 "AllWatcher": {3}, 31 "Annotations": {2}, 32 "Application": {15, 16, 17, 18, 19, 20}, 33 "ApplicationOffers": {4, 5}, 34 "ApplicationScaler": {1}, 35 "Backups": {3}, 36 "Block": {2}, 37 "Bundle": {6}, 38 "CAASAgent": {2}, 39 "CAASAdmission": {1}, 40 "CAASApplication": {1}, 41 "CAASApplicationProvisioner": {1}, 42 "CAASModelConfigManager": {1}, 43 "CAASFirewaller": {1}, 44 "CAASFirewallerSidecar": {1}, 45 "CAASModelOperator": {1}, 46 "CAASOperator": {1}, 47 "CAASOperatorProvisioner": {1}, 48 "CAASOperatorUpgrader": {1}, 49 "CAASUnitProvisioner": {2}, 50 "CharmDownloader": {1}, 51 "CharmRevisionUpdater": {2}, 52 "Charms": {5, 6, 7}, 53 "Cleaner": {2}, 54 "Client": {6, 7}, 55 "Cloud": {7}, 56 "Controller": {11}, 57 "CredentialManager": {1}, 58 "CredentialValidator": {2}, 59 "CrossController": {1}, 60 "CrossModelRelations": {2, 3}, 61 "CrossModelSecrets": {1}, 62 "Deployer": {1}, 63 "DiskManager": {2}, 64 "EntityWatcher": {2}, 65 "EnvironUpgrader": {1}, 66 "ExternalControllerUpdater": {1}, 67 "FanConfigurer": {1}, 68 "FilesystemAttachmentsWatcher": {2}, 69 "Firewaller": {7}, 70 "HighAvailability": {2}, 71 "HostKeyReporter": {1}, 72 "ImageMetadata": {3}, 73 "ImageMetadataManager": {1}, 74 "InstanceMutater": {3}, 75 "InstancePoller": {4}, 76 "KeyManager": {1}, 77 "KeyUpdater": {1}, 78 "LeadershipService": {2}, 79 "LifeFlag": {1}, 80 "LogForwarding": {1}, 81 "Logger": {1}, 82 "MachineActions": {1}, 83 "MachineManager": {9, 10}, 84 "MachineUndertaker": {1}, 85 "Machiner": {5}, 86 "MeterStatus": {2}, 87 "MetricsAdder": {2}, 88 "MetricsDebug": {2}, 89 "MetricsManager": {1}, 90 "MigrationFlag": {1}, 91 "MigrationMaster": {3}, 92 "MigrationMinion": {1}, 93 "MigrationStatusWatcher": {1}, 94 "MigrationTarget": {1, 2, 3}, 95 "ModelConfig": {3}, 96 "ModelGeneration": {4}, 97 "ModelManager": {9, 10}, 98 "ModelSummaryWatcher": {1}, 99 "ModelUpgrader": {1}, 100 "NotifyWatcher": {1}, 101 "OfferStatusWatcher": {1}, 102 "Payloads": {1}, 103 "PayloadsHookContext": {1}, 104 "Pinger": {1}, 105 "Provisioner": {11}, 106 "ProxyUpdater": {2}, 107 "Reboot": {2}, 108 "RelationStatusWatcher": {1}, 109 "RelationUnitsWatcher": {1}, 110 "RemoteRelations": {2}, 111 "RemoteRelationWatcher": {1}, 112 "Resources": {3}, 113 "ResourcesHookContext": {1}, 114 "RetryStrategy": {1}, 115 "SecretsTriggerWatcher": {1}, 116 "SecretBackends": {1}, 117 "SecretBackendsManager": {1}, 118 "SecretBackendsRotateWatcher": {1}, 119 "SecretsRevisionWatcher": {1}, 120 "Secrets": {1, 2}, 121 "SecretsManager": {1, 2}, 122 "SecretsDrain": {1}, 123 "UserSecretsDrain": {1}, 124 "UserSecretsManager": {1}, 125 "Singular": {2}, 126 "Spaces": {6}, 127 "SSHClient": {4}, 128 "StatusHistory": {2}, 129 "Storage": {6}, 130 "StorageProvisioner": {4}, 131 "StringsWatcher": {1}, 132 "Subnets": {5}, 133 "Undertaker": {1}, 134 "UnitAssigner": {1}, 135 "Uniter": {18, 19}, 136 "Upgrader": {1}, 137 "UpgradeSeries": {3, 4}, 138 "UpgradeSteps": {2}, 139 "UserManager": {3}, 140 "VolumeAttachmentsWatcher": {2}, 141 "VolumeAttachmentPlansWatcher": {1}, 142 }