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  }