|
9 | 9 | import weakref |
10 | 10 | from http.client import HTTPSConnection |
11 | 11 | from dateutil.parser import parse |
| 12 | +from typing import Dict, List |
12 | 13 |
|
13 | 14 | import macaroonbakery.bakery as bakery |
14 | 15 | import macaroonbakery.httpbakery as httpbakery |
|
20 | 21 |
|
21 | 22 | log = logging.getLogger('juju.client.connection') |
22 | 23 |
|
| 24 | +# Manual list of facades present in schemas + codegen which python-libjuju does not yet support |
| 25 | +excluded_facades: Dict[str, List[int]] = { |
| 26 | + 'Charms': [7], |
| 27 | +} |
23 | 28 | # Please keep in alphabetical order |
| 29 | +# in future this will likely be generated automatically (perhaps at runtime) |
24 | 30 | client_facades = { |
25 | | - 'Action': {'versions': [2, 6, 7]}, |
| 31 | + 'Action': {'versions': [7]}, |
26 | 32 | 'ActionPruner': {'versions': [1]}, |
27 | | - 'Agent': {'versions': [2, 3]}, |
| 33 | + 'Admin': {'versions': [3]}, |
| 34 | + 'Agent': {'versions': [3]}, |
28 | 35 | 'AgentLifeFlag': {'versions': [1]}, |
29 | 36 | 'AgentTools': {'versions': [1]}, |
30 | | - 'AllModelWatcher': {'versions': [2, 3, 4]}, |
31 | | - 'AllWatcher': {'versions': [1, 2, 3, 4]}, |
| 37 | + 'AllModelWatcher': {'versions': [4]}, |
| 38 | + 'AllWatcher': {'versions': [3]}, |
32 | 39 | 'Annotations': {'versions': [2]}, |
33 | | - 'Application': {'versions': [14, 15, 16, 17, 19]}, |
34 | | - 'ApplicationOffers': {'versions': [1, 2, 4]}, |
| 40 | + 'Application': {'versions': [17, 18, 19]}, |
| 41 | + 'ApplicationOffers': {'versions': [4]}, |
35 | 42 | 'ApplicationScaler': {'versions': [1]}, |
36 | | - 'Backups': {'versions': [1, 2, 3]}, |
| 43 | + 'Backups': {'versions': [3]}, |
37 | 44 | 'Block': {'versions': [2]}, |
38 | | - 'Bundle': {'versions': [5, 6]}, |
39 | | - 'CharmHub': {'versions': [1]}, |
40 | | - 'CharmRevisionUpdater': {'versions': [2]}, |
41 | | - 'CharmDownloader': {'versions': [1]}, |
42 | | - 'Charms': {'versions': [5, 6]}, |
43 | | - 'Cleaner': {'versions': [2]}, |
44 | | - 'Client': {'versions': [5, 6]}, |
45 | | - 'Cloud': {'versions': [1, 2, 3, 4, 5, 7]}, |
46 | | - 'Controller': {'versions': [9, 11]}, |
47 | | - 'CrossModelRelations': {'versions': [1, 2]}, |
48 | | - 'CrossModelSecrets': {'versions': [1]}, |
49 | | - 'CrossController': {'versions': [1]}, |
50 | | - 'CredentialManager': {'versions': [1]}, |
51 | | - 'CredentialValidator': {'versions': [1, 2]}, |
| 45 | + 'Bundle': {'versions': [6]}, |
52 | 46 | 'CAASAdmission': {'versions': [1]}, |
53 | | - 'CAASAgent': {'versions': [1, 2]}, |
| 47 | + 'CAASAgent': {'versions': [2]}, |
54 | 48 | 'CAASApplication': {'versions': [1]}, |
55 | 49 | 'CAASApplicationProvisioner': {'versions': [1]}, |
56 | 50 | 'CAASFirewaller': {'versions': [1]}, |
57 | | - 'CAASFirewallerEmbedded': {'versions': [1]}, |
58 | 51 | 'CAASFirewallerSidecar': {'versions': [1]}, |
59 | | - 'CAASModelOperator': {'versions': [1]}, |
60 | 52 | 'CAASModelConfigManager': {'versions': [1]}, |
| 53 | + 'CAASModelOperator': {'versions': [1]}, |
61 | 54 | 'CAASOperator': {'versions': [1]}, |
62 | 55 | 'CAASOperatorProvisioner': {'versions': [1]}, |
63 | 56 | 'CAASOperatorUpgrader': {'versions': [1]}, |
64 | | - 'CAASUnitProvisioner': {'versions': [1, 2]}, |
| 57 | + 'CAASUnitProvisioner': {'versions': [2]}, |
| 58 | + 'CharmDownloader': {'versions': [1]}, |
| 59 | + 'CharmRevisionUpdater': {'versions': [2]}, |
| 60 | + 'Charms': {'versions': [6]}, |
| 61 | + 'Cleaner': {'versions': [2]}, |
| 62 | + 'Client': {'versions': [6, 7]}, |
| 63 | + 'Cloud': {'versions': [7]}, |
| 64 | + 'Controller': {'versions': [11]}, |
| 65 | + 'CredentialManager': {'versions': [1]}, |
| 66 | + 'CredentialValidator': {'versions': [2]}, |
| 67 | + 'CrossController': {'versions': [1]}, |
| 68 | + 'CrossModelRelations': {'versions': [2]}, |
| 69 | + 'CrossModelSecrets': {'versions': [1]}, |
65 | 70 | 'Deployer': {'versions': [1]}, |
66 | 71 | 'DiskManager': {'versions': [2]}, |
67 | 72 | 'EntityWatcher': {'versions': [2]}, |
68 | 73 | 'EnvironUpgrader': {'versions': [1]}, |
69 | 74 | 'ExternalControllerUpdater': {'versions': [1]}, |
70 | 75 | 'FanConfigurer': {'versions': [1]}, |
71 | 76 | 'FilesystemAttachmentsWatcher': {'versions': [2]}, |
72 | | - 'Firewaller': {'versions': [3, 4, 5, 7]}, |
73 | 77 | 'FirewallRules': {'versions': [1]}, |
| 78 | + 'Firewaller': {'versions': [7]}, |
74 | 79 | 'HighAvailability': {'versions': [2]}, |
75 | 80 | 'HostKeyReporter': {'versions': [1]}, |
76 | | - 'ImageManager': {'versions': [2]}, |
77 | 81 | 'ImageMetadata': {'versions': [3]}, |
78 | 82 | 'ImageMetadataManager': {'versions': [1]}, |
79 | | - 'InstanceMutater': {'versions': [2, 3]}, |
80 | | - 'InstancePoller': {'versions': [3, 4]}, |
| 83 | + 'InstanceMutater': {'versions': [3]}, |
| 84 | + 'InstancePoller': {'versions': [4]}, |
81 | 85 | 'KeyManager': {'versions': [1]}, |
82 | 86 | 'KeyUpdater': {'versions': [1]}, |
83 | 87 | 'LeadershipService': {'versions': [2]}, |
84 | 88 | 'LifeFlag': {'versions': [1]}, |
85 | | - 'Logger': {'versions': [1]}, |
86 | 89 | 'LogForwarding': {'versions': [1]}, |
87 | | - 'Machiner': {'versions': [1, 2, 5]}, |
| 90 | + 'Logger': {'versions': [1]}, |
88 | 91 | 'MachineActions': {'versions': [1]}, |
89 | | - 'MachineManager': {'versions': [9, 10]}, |
| 92 | + 'MachineManager': {'versions': [10]}, |
90 | 93 | 'MachineUndertaker': {'versions': [1]}, |
91 | | - 'MeterStatus': {'versions': [1, 2]}, |
| 94 | + 'Machiner': {'versions': [5]}, |
| 95 | + 'MeterStatus': {'versions': [2]}, |
92 | 96 | 'MetricsAdder': {'versions': [2]}, |
93 | 97 | 'MetricsDebug': {'versions': [2]}, |
94 | 98 | 'MetricsManager': {'versions': [1]}, |
95 | 99 | 'MigrationFlag': {'versions': [1]}, |
96 | | - 'MigrationMaster': {'versions': [1, 3]}, |
| 100 | + 'MigrationMaster': {'versions': [3]}, |
97 | 101 | 'MigrationMinion': {'versions': [1]}, |
98 | 102 | 'MigrationStatusWatcher': {'versions': [1]}, |
99 | | - 'MigrationTarget': {'versions': [1]}, |
100 | | - 'ModelConfig': {'versions': [1, 2, 3]}, |
101 | | - 'ModelGeneration': {'versions': [1, 2, 4]}, |
102 | | - 'ModelManager': {'versions': [2, 3, 4, 5, 9]}, |
| 103 | + 'MigrationTarget': {'versions': [1, 2]}, |
| 104 | + 'ModelConfig': {'versions': [3]}, |
| 105 | + 'ModelGeneration': {'versions': [4]}, |
| 106 | + 'ModelManager': {'versions': [9]}, |
103 | 107 | 'ModelSummaryWatcher': {'versions': [1]}, |
104 | 108 | 'ModelUpgrader': {'versions': [1]}, |
105 | 109 | 'NotifyWatcher': {'versions': [1]}, |
|
108 | 112 | 'PayloadsHookContext': {'versions': [1]}, |
109 | 113 | 'Pinger': {'versions': [1]}, |
110 | 114 | 'Provisioner': {'versions': [11]}, |
111 | | - 'ProxyUpdater': {'versions': [1, 2]}, |
112 | | - 'RaftLease': {'versions': [1, 2]}, |
| 115 | + 'ProxyUpdater': {'versions': [2]}, |
| 116 | + 'RaftLease': {'versions': [2]}, |
113 | 117 | 'Reboot': {'versions': [2]}, |
114 | 118 | 'RelationStatusWatcher': {'versions': [1]}, |
115 | 119 | 'RelationUnitsWatcher': {'versions': [1]}, |
116 | | - 'RemoteRelations': {'versions': [1, 2]}, |
117 | 120 | 'RemoteRelationWatcher': {'versions': [1]}, |
118 | | - 'Resources': {'versions': [1, 2, 3]}, |
| 121 | + 'RemoteRelations': {'versions': [2]}, |
| 122 | + 'Resources': {'versions': [3]}, |
119 | 123 | 'ResourcesHookContext': {'versions': [1]}, |
120 | | - 'Resumer': {'versions': [2]}, |
121 | 124 | 'RetryStrategy': {'versions': [1]}, |
122 | | - 'Secrets': {'versions': [1, 2]}, |
123 | | - 'SecretsManager': {'versions': [1, 2]}, |
| 125 | + 'SSHClient': {'versions': [4]}, |
124 | 126 | 'SecretBackends': {'versions': [1]}, |
125 | 127 | 'SecretBackendsManager': {'versions': [1]}, |
126 | 128 | 'SecretBackendsRotateWatcher': {'versions': [1]}, |
| 129 | + 'Secrets': {'versions': [1, 2]}, |
127 | 130 | 'SecretsDrain': {'versions': [1]}, |
| 131 | + 'SecretsManager': {'versions': [1, 2]}, |
128 | 132 | 'SecretsRevisionWatcher': {'versions': [1]}, |
129 | | - 'SecretsRotationWatcher': {'versions': [1]}, |
130 | 133 | 'SecretsTriggerWatcher': {'versions': [1]}, |
131 | 134 | 'Singular': {'versions': [2]}, |
132 | 135 | 'Spaces': {'versions': [6]}, |
133 | 136 | 'StatusHistory': {'versions': [2]}, |
134 | | - 'Storage': {'versions': [3, 4, 6]}, |
135 | | - 'StorageProvisioner': {'versions': [3, 4]}, |
| 137 | + 'Storage': {'versions': [6]}, |
| 138 | + 'StorageProvisioner': {'versions': [4]}, |
136 | 139 | 'StringsWatcher': {'versions': [1]}, |
137 | | - 'Subnets': {'versions': [2, 4, 5]}, |
138 | | - 'SSHClient': {'versions': [1, 2, 3, 4]}, |
| 140 | + 'Subnets': {'versions': [5]}, |
139 | 141 | 'Undertaker': {'versions': [1]}, |
140 | 142 | 'UnitAssigner': {'versions': [1]}, |
141 | | - 'Uniter': {'versions': [18]}, |
| 143 | + 'Uniter': {'versions': [18, 19]}, |
| 144 | + 'UpgradeSeries': {'versions': [3]}, |
| 145 | + 'UpgradeSteps': {'versions': [2]}, |
142 | 146 | 'Upgrader': {'versions': [1]}, |
143 | | - 'UpgradeSeries': {'versions': [1, 3]}, |
144 | | - 'UpgradeSteps': {'versions': [1, 2]}, |
145 | | - 'UserManager': {'versions': [1, 2, 3]}, |
| 147 | + 'UserManager': {'versions': [3]}, |
146 | 148 | 'UserSecretsDrain': {'versions': [1]}, |
147 | 149 | 'UserSecretsManager': {'versions': [1]}, |
148 | | - 'VolumeAttachmentsWatcher': {'versions': [2]}, |
149 | 150 | 'VolumeAttachmentPlansWatcher': {'versions': [1]}, |
| 151 | + 'VolumeAttachmentsWatcher': {'versions': [2]}, |
150 | 152 | } |
151 | 153 |
|
152 | 154 |
|
|
0 commit comments