models.py 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. # -*- coding: utf-8 -*-
  2. # This file is auto-generated, don't edit it. Thanks.
  3. from Tea.model import TeaModel
  4. class Config(TeaModel):
  5. """
  6. Model for initializing credential
  7. """
  8. def __init__(
  9. self,
  10. *,
  11. type: str = None,
  12. access_key_id: str = None,
  13. access_key_secret: str = None,
  14. security_token: str = None,
  15. bearer_token: str = None,
  16. duration_seconds: int = None,
  17. role_arn: str = None,
  18. oidc_provider_arn: str = None,
  19. oidc_token_file_path: str = None,
  20. role_session_name: str = None,
  21. role_session_expiration: int = None,
  22. policy: str = None,
  23. external_id: str = None,
  24. sts_endpoint: str = None,
  25. public_key_id: str = None,
  26. private_key_file: str = None,
  27. role_name: str = None,
  28. enable_imds_v2: bool = None,
  29. disable_imds_v1: bool = None,
  30. metadata_token_duration: int = None,
  31. credentials_uri: str = None,
  32. host: str = None,
  33. timeout: int = None,
  34. connect_timeout: int = None,
  35. proxy: str = None,
  36. ):
  37. """
  38. Initialize the credential object.
  39. ### Parameters
  40. #### General Parameters
  41. - `type` (str): Credential type, including `access_key`, `sts`, `bearer`, `ecs_ram_role`, `ram_role_arn`, `rsa_key_pair`, `oidc_role_arn`, `credentials_uri`.
  42. #### Access Key Type
  43. - `access_key_id` (str): Access Key ID.
  44. - `access_key_secret` (str): Access Key Secret.
  45. - `security_token` (str, optional): Security token.
  46. #### Bearer Token Type
  47. - `bearer_token` (str): Bearer token.
  48. #### RAM Role ARN and OIDC Role ARN Types
  49. - `role_arn` (str): Role ARN.
  50. - `oidc_provider_arn` (str, for `oidc_role_arn` only): OIDC provider ARN.
  51. - `oidc_token_file_path` (str, for `oidc_role_arn` only): Path to the OIDC token file.
  52. - `role_session_name` (str): Role session name.
  53. - `role_session_expiration` (int, optional): Role session expiration time in seconds.
  54. - `policy` (str, optional): Policy.
  55. - `external_id` (str, optional): External ID.
  56. - `sts_endpoint` (str, optional): STS endpoint.
  57. - `duration_seconds`: deprecated
  58. #### RSA Key Pair Type
  59. - `public_key_id` (str): Public key ID.
  60. - `private_key_file` (str): Path to the private key file.
  61. #### ECS RAM Role Type
  62. - `role_name` (str): Role name.
  63. - `disable_imds_v1` (bool, optional): Whether to disable IMDS v1. Default is `False`.
  64. #### Credentials URI Type
  65. - `credentials_uri` (str): Credentials URI.
  66. #### HTTP Options
  67. - `host` (str, optional): Host address.
  68. - `timeout` (int, optional): Read timeout in milliseconds. Default values:
  69. - `ecs_ram_role`: 1000ms
  70. - `ram_role_arn`: 5000ms
  71. - `oidc_role_arn`: 5000ms
  72. - `connect_timeout` (int, optional): Connection timeout in milliseconds. Default values:
  73. - `ecs_ram_role`: 1000ms
  74. - `ram_role_arn`: 10000ms
  75. - `oidc_role_arn`: 10000ms
  76. - `proxy` (str, optional): HTTP or HTTPS proxy.
  77. #### Other Parameters
  78. - `duration_seconds` (int, optional): Duration in seconds, mainly used for `sts` type credentials.
  79. Note: Some parameters are only valid for specific credential types. Please use them according to your actual needs.
  80. """
  81. self.type = type
  82. self.access_key_id = access_key_id
  83. self.access_key_secret = access_key_secret
  84. self.security_token = security_token
  85. self.bearer_token = bearer_token
  86. self.duration_seconds = duration_seconds
  87. self.role_arn = role_arn
  88. self.oidc_provider_arn = oidc_provider_arn
  89. self.oidc_token_file_path = oidc_token_file_path
  90. self.role_session_name = role_session_name
  91. self.role_session_expiration = role_session_expiration
  92. self.policy = policy
  93. self.external_id = external_id
  94. self.sts_endpoint = sts_endpoint
  95. self.public_key_id = public_key_id
  96. self.private_key_file = private_key_file
  97. self.role_name = role_name
  98. self.disable_imds_v1 = disable_imds_v1
  99. self.enable_imds_v2 = enable_imds_v2
  100. self.metadata_token_duration = metadata_token_duration
  101. self.credentials_uri = credentials_uri
  102. self.host = host
  103. self.timeout = timeout
  104. self.connect_timeout = connect_timeout
  105. self.proxy = proxy
  106. def validate(self):
  107. pass
  108. def to_map(self):
  109. result = dict()
  110. if self.type is not None:
  111. result['type'] = self.type
  112. if self.access_key_id is not None:
  113. result['accessKeyId'] = self.access_key_id
  114. if self.access_key_secret is not None:
  115. result['accessKeySecret'] = self.access_key_secret
  116. if self.security_token is not None:
  117. result['securityToken'] = self.security_token
  118. if self.bearer_token is not None:
  119. result['bearerToken'] = self.bearer_token
  120. if self.duration_seconds is not None:
  121. result['durationSeconds'] = self.duration_seconds
  122. if self.role_arn is not None:
  123. result['roleArn'] = self.role_arn
  124. if self.oidc_provider_arn is not None:
  125. result['oidcProviderArn'] = self.oidc_provider_arn
  126. if self.oidc_token_file_path is not None:
  127. result['oidcTokenFilePath'] = self.oidc_token_file_path
  128. if self.role_session_name is not None:
  129. result['roleSessionName'] = self.role_session_name
  130. if self.role_session_expiration is not None:
  131. result['roleSessionExpiration'] = self.role_session_expiration
  132. if self.policy is not None:
  133. result['policy'] = self.policy
  134. if self.external_id is not None:
  135. result['externalId'] = self.external_id
  136. if self.sts_endpoint is not None:
  137. result['stsEndpoint'] = self.sts_endpoint
  138. if self.public_key_id is not None:
  139. result['publicKeyId'] = self.public_key_id
  140. if self.private_key_file is not None:
  141. result['privateKeyFile'] = self.private_key_file
  142. if self.role_name is not None:
  143. result['roleName'] = self.role_name
  144. if self.disable_imds_v1 is not None:
  145. result['disableIMDSv1'] = self.disable_imds_v1
  146. if self.enable_imds_v2 is not None:
  147. result['enableIMDSv2'] = self.enable_imds_v2
  148. if self.metadata_token_duration is not None:
  149. result['metadataTokenDuration'] = self.metadata_token_duration
  150. if self.credentials_uri is not None:
  151. result['credentialsUri'] = self.credentials_uri
  152. if self.host is not None:
  153. result['host'] = self.host
  154. if self.timeout is not None:
  155. result['timeout'] = self.timeout
  156. if self.connect_timeout is not None:
  157. result['connectTimeout'] = self.connect_timeout
  158. if self.proxy is not None:
  159. result['proxy'] = self.proxy
  160. return result
  161. def from_map(self, m: dict = None):
  162. m = m or dict()
  163. if m.get('type') is not None:
  164. self.type = m.get('type')
  165. if m.get('accessKeyId') is not None:
  166. self.access_key_id = m.get('accessKeyId')
  167. if m.get('accessKeySecret') is not None:
  168. self.access_key_secret = m.get('accessKeySecret')
  169. if m.get('securityToken') is not None:
  170. self.security_token = m.get('securityToken')
  171. if m.get('bearerToken') is not None:
  172. self.bearer_token = m.get('bearerToken')
  173. if m.get('durationSeconds') is not None:
  174. self.duration_seconds = m.get('durationSeconds')
  175. if m.get('roleArn') is not None:
  176. self.role_arn = m.get('roleArn')
  177. if m.get('oidcProviderArn') is not None:
  178. self.oidc_provider_arn = m.get('oidcProviderArn')
  179. if m.get('oidcTokenFilePath') is not None:
  180. self.oidc_token_file_path = m.get('oidcTokenFilePath')
  181. if m.get('roleSessionName') is not None:
  182. self.role_session_name = m.get('roleSessionName')
  183. if m.get('roleSessionExpiration') is not None:
  184. self.role_session_expiration = m.get('roleSessionExpiration')
  185. if m.get('policy') is not None:
  186. self.policy = m.get('policy')
  187. if m.get('externalId') is not None:
  188. self.external_id = m.get('externalId')
  189. if m.get('stsEndpoint') is not None:
  190. self.sts_endpoint = m.get('stsEndpoint')
  191. if m.get('publicKeyId') is not None:
  192. self.public_key_id = m.get('publicKeyId')
  193. if m.get('privateKeyFile') is not None:
  194. self.private_key_file = m.get('privateKeyFile')
  195. if m.get('roleName') is not None:
  196. self.role_name = m.get('roleName')
  197. if m.get('disableIMDSv1') is not None:
  198. self.disable_imds_v1 = m.get('disableIMDSv1')
  199. if m.get('enableIMDSv2') is not None:
  200. self.enable_imds_v2 = m.get('enableIMDSv2')
  201. if m.get('metadataTokenDuration') is not None:
  202. self.metadata_token_duration = m.get('metadataTokenDuration')
  203. if m.get('credentialsUri') is not None:
  204. self.credentials_uri = m.get('credentialsUri')
  205. if m.get('host') is not None:
  206. self.host = m.get('host')
  207. if m.get('timeout') is not None:
  208. self.timeout = m.get('timeout')
  209. if m.get('connectTimeout') is not None:
  210. self.connect_timeout = m.get('connectTimeout')
  211. if m.get('proxy') is not None:
  212. self.proxy = m.get('proxy')
  213. return self
  214. class CredentialModel(TeaModel):
  215. def __init__(
  216. self,
  217. access_key_id: str = None,
  218. access_key_secret: str = None,
  219. security_token: str = None,
  220. bearer_token: str = None,
  221. type: str = None,
  222. provider_name: str = None,
  223. ):
  224. # accesskey id
  225. self.access_key_id = access_key_id
  226. # accesskey secret
  227. self.access_key_secret = access_key_secret
  228. # security token
  229. self.security_token = security_token
  230. # bearer token
  231. self.bearer_token = bearer_token
  232. # type
  233. self.type = type
  234. # provider name
  235. self.provider_name = provider_name
  236. def validate(self):
  237. pass
  238. def to_map(self) -> dict:
  239. _map = super().to_map()
  240. if _map is not None:
  241. return _map
  242. result = dict()
  243. if self.access_key_id is not None:
  244. result['accessKeyId'] = self.access_key_id
  245. if self.access_key_secret is not None:
  246. result['accessKeySecret'] = self.access_key_secret
  247. if self.security_token is not None:
  248. result['securityToken'] = self.security_token
  249. if self.bearer_token is not None:
  250. result['bearerToken'] = self.bearer_token
  251. if self.type is not None:
  252. result['type'] = self.type
  253. if self.provider_name is not None:
  254. result['providerName'] = self.provider_name
  255. return result
  256. def from_map(self, m: dict = None):
  257. m = m or dict()
  258. if m.get('accessKeyId') is not None:
  259. self.access_key_id = m.get('accessKeyId')
  260. if m.get('accessKeySecret') is not None:
  261. self.access_key_secret = m.get('accessKeySecret')
  262. if m.get('securityToken') is not None:
  263. self.security_token = m.get('securityToken')
  264. if m.get('bearerToken') is not None:
  265. self.bearer_token = m.get('bearerToken')
  266. if m.get('type') is not None:
  267. self.type = m.get('type')
  268. if m.get('providerName') is not None:
  269. self.provider_name = m.get('providerName')
  270. return self
  271. def get_access_key_id(self) -> str:
  272. return self.access_key_id
  273. def get_access_key_secret(self) -> str:
  274. return self.access_key_secret
  275. def get_security_token(self) -> str:
  276. return self.security_token
  277. def get_bearer_token(self) -> str:
  278. return self.bearer_token
  279. def get_type(self) -> str:
  280. return self.type
  281. def get_provider_name(self) -> str:
  282. return self.provider_name