pulumi-vault 7.6.0a1764657486__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. pulumi_vault/__init__.py +1399 -0
  2. pulumi_vault/_inputs.py +2701 -0
  3. pulumi_vault/_utilities.py +331 -0
  4. pulumi_vault/ad/__init__.py +12 -0
  5. pulumi_vault/ad/get_access_credentials.py +177 -0
  6. pulumi_vault/ad/secret_backend.py +1916 -0
  7. pulumi_vault/ad/secret_library.py +546 -0
  8. pulumi_vault/ad/secret_role.py +499 -0
  9. pulumi_vault/alicloud/__init__.py +9 -0
  10. pulumi_vault/alicloud/auth_backend_role.py +866 -0
  11. pulumi_vault/approle/__init__.py +12 -0
  12. pulumi_vault/approle/auth_backend_login.py +571 -0
  13. pulumi_vault/approle/auth_backend_role.py +1082 -0
  14. pulumi_vault/approle/auth_backend_role_secret_id.py +796 -0
  15. pulumi_vault/approle/get_auth_backend_role_id.py +169 -0
  16. pulumi_vault/audit.py +499 -0
  17. pulumi_vault/audit_request_header.py +277 -0
  18. pulumi_vault/auth_backend.py +565 -0
  19. pulumi_vault/aws/__init__.py +22 -0
  20. pulumi_vault/aws/auth_backend_cert.py +420 -0
  21. pulumi_vault/aws/auth_backend_client.py +1259 -0
  22. pulumi_vault/aws/auth_backend_config_identity.py +494 -0
  23. pulumi_vault/aws/auth_backend_identity_whitelist.py +380 -0
  24. pulumi_vault/aws/auth_backend_login.py +1046 -0
  25. pulumi_vault/aws/auth_backend_role.py +1961 -0
  26. pulumi_vault/aws/auth_backend_role_tag.py +638 -0
  27. pulumi_vault/aws/auth_backend_roletag_blacklist.py +366 -0
  28. pulumi_vault/aws/auth_backend_sts_role.py +414 -0
  29. pulumi_vault/aws/get_access_credentials.py +369 -0
  30. pulumi_vault/aws/get_static_access_credentials.py +137 -0
  31. pulumi_vault/aws/secret_backend.py +2018 -0
  32. pulumi_vault/aws/secret_backend_role.py +1188 -0
  33. pulumi_vault/aws/secret_backend_static_role.py +639 -0
  34. pulumi_vault/azure/__init__.py +15 -0
  35. pulumi_vault/azure/_inputs.py +108 -0
  36. pulumi_vault/azure/auth_backend_config.py +1096 -0
  37. pulumi_vault/azure/auth_backend_role.py +1176 -0
  38. pulumi_vault/azure/backend.py +1793 -0
  39. pulumi_vault/azure/backend_role.py +883 -0
  40. pulumi_vault/azure/get_access_credentials.py +400 -0
  41. pulumi_vault/azure/outputs.py +107 -0
  42. pulumi_vault/cert_auth_backend_role.py +1539 -0
  43. pulumi_vault/config/__init__.py +9 -0
  44. pulumi_vault/config/__init__.pyi +164 -0
  45. pulumi_vault/config/_inputs.py +73 -0
  46. pulumi_vault/config/outputs.py +1225 -0
  47. pulumi_vault/config/ui_custom_message.py +530 -0
  48. pulumi_vault/config/vars.py +230 -0
  49. pulumi_vault/consul/__init__.py +10 -0
  50. pulumi_vault/consul/secret_backend.py +1517 -0
  51. pulumi_vault/consul/secret_backend_role.py +847 -0
  52. pulumi_vault/database/__init__.py +14 -0
  53. pulumi_vault/database/_inputs.py +11907 -0
  54. pulumi_vault/database/outputs.py +8496 -0
  55. pulumi_vault/database/secret_backend_connection.py +1676 -0
  56. pulumi_vault/database/secret_backend_role.py +840 -0
  57. pulumi_vault/database/secret_backend_static_role.py +881 -0
  58. pulumi_vault/database/secrets_mount.py +2160 -0
  59. pulumi_vault/egp_policy.py +399 -0
  60. pulumi_vault/gcp/__init__.py +17 -0
  61. pulumi_vault/gcp/_inputs.py +441 -0
  62. pulumi_vault/gcp/auth_backend.py +1486 -0
  63. pulumi_vault/gcp/auth_backend_role.py +1235 -0
  64. pulumi_vault/gcp/get_auth_backend_role.py +514 -0
  65. pulumi_vault/gcp/outputs.py +302 -0
  66. pulumi_vault/gcp/secret_backend.py +1807 -0
  67. pulumi_vault/gcp/secret_impersonated_account.py +484 -0
  68. pulumi_vault/gcp/secret_roleset.py +554 -0
  69. pulumi_vault/gcp/secret_static_account.py +557 -0
  70. pulumi_vault/generic/__init__.py +11 -0
  71. pulumi_vault/generic/endpoint.py +786 -0
  72. pulumi_vault/generic/get_secret.py +306 -0
  73. pulumi_vault/generic/secret.py +486 -0
  74. pulumi_vault/get_auth_backend.py +226 -0
  75. pulumi_vault/get_auth_backends.py +170 -0
  76. pulumi_vault/get_namespace.py +226 -0
  77. pulumi_vault/get_namespaces.py +202 -0
  78. pulumi_vault/get_nomad_access_token.py +210 -0
  79. pulumi_vault/get_policy_document.py +160 -0
  80. pulumi_vault/get_raft_autopilot_state.py +267 -0
  81. pulumi_vault/github/__init__.py +13 -0
  82. pulumi_vault/github/_inputs.py +225 -0
  83. pulumi_vault/github/auth_backend.py +1194 -0
  84. pulumi_vault/github/outputs.py +174 -0
  85. pulumi_vault/github/team.py +380 -0
  86. pulumi_vault/github/user.py +380 -0
  87. pulumi_vault/identity/__init__.py +35 -0
  88. pulumi_vault/identity/entity.py +447 -0
  89. pulumi_vault/identity/entity_alias.py +398 -0
  90. pulumi_vault/identity/entity_policies.py +455 -0
  91. pulumi_vault/identity/get_entity.py +384 -0
  92. pulumi_vault/identity/get_group.py +467 -0
  93. pulumi_vault/identity/get_oidc_client_creds.py +175 -0
  94. pulumi_vault/identity/get_oidc_openid_config.py +334 -0
  95. pulumi_vault/identity/get_oidc_public_keys.py +179 -0
  96. pulumi_vault/identity/group.py +805 -0
  97. pulumi_vault/identity/group_alias.py +386 -0
  98. pulumi_vault/identity/group_member_entity_ids.py +444 -0
  99. pulumi_vault/identity/group_member_group_ids.py +467 -0
  100. pulumi_vault/identity/group_policies.py +471 -0
  101. pulumi_vault/identity/mfa_duo.py +674 -0
  102. pulumi_vault/identity/mfa_login_enforcement.py +566 -0
  103. pulumi_vault/identity/mfa_okta.py +626 -0
  104. pulumi_vault/identity/mfa_pingid.py +616 -0
  105. pulumi_vault/identity/mfa_totp.py +758 -0
  106. pulumi_vault/identity/oidc.py +268 -0
  107. pulumi_vault/identity/oidc_assignment.py +375 -0
  108. pulumi_vault/identity/oidc_client.py +667 -0
  109. pulumi_vault/identity/oidc_key.py +474 -0
  110. pulumi_vault/identity/oidc_key_allowed_client_id.py +298 -0
  111. pulumi_vault/identity/oidc_provider.py +550 -0
  112. pulumi_vault/identity/oidc_role.py +543 -0
  113. pulumi_vault/identity/oidc_scope.py +355 -0
  114. pulumi_vault/identity/outputs.py +137 -0
  115. pulumi_vault/jwt/__init__.py +12 -0
  116. pulumi_vault/jwt/_inputs.py +225 -0
  117. pulumi_vault/jwt/auth_backend.py +1347 -0
  118. pulumi_vault/jwt/auth_backend_role.py +1847 -0
  119. pulumi_vault/jwt/outputs.py +174 -0
  120. pulumi_vault/kmip/__init__.py +11 -0
  121. pulumi_vault/kmip/secret_backend.py +1591 -0
  122. pulumi_vault/kmip/secret_role.py +1194 -0
  123. pulumi_vault/kmip/secret_scope.py +372 -0
  124. pulumi_vault/kubernetes/__init__.py +15 -0
  125. pulumi_vault/kubernetes/auth_backend_config.py +654 -0
  126. pulumi_vault/kubernetes/auth_backend_role.py +1031 -0
  127. pulumi_vault/kubernetes/get_auth_backend_config.py +280 -0
  128. pulumi_vault/kubernetes/get_auth_backend_role.py +470 -0
  129. pulumi_vault/kubernetes/get_service_account_token.py +344 -0
  130. pulumi_vault/kubernetes/secret_backend.py +1341 -0
  131. pulumi_vault/kubernetes/secret_backend_role.py +1140 -0
  132. pulumi_vault/kv/__init__.py +18 -0
  133. pulumi_vault/kv/_inputs.py +124 -0
  134. pulumi_vault/kv/get_secret.py +240 -0
  135. pulumi_vault/kv/get_secret_subkeys_v2.py +275 -0
  136. pulumi_vault/kv/get_secret_v2.py +315 -0
  137. pulumi_vault/kv/get_secrets_list.py +186 -0
  138. pulumi_vault/kv/get_secrets_list_v2.py +243 -0
  139. pulumi_vault/kv/outputs.py +102 -0
  140. pulumi_vault/kv/secret.py +397 -0
  141. pulumi_vault/kv/secret_backend_v2.py +455 -0
  142. pulumi_vault/kv/secret_v2.py +970 -0
  143. pulumi_vault/ldap/__init__.py +19 -0
  144. pulumi_vault/ldap/_inputs.py +225 -0
  145. pulumi_vault/ldap/auth_backend.py +2520 -0
  146. pulumi_vault/ldap/auth_backend_group.py +386 -0
  147. pulumi_vault/ldap/auth_backend_user.py +439 -0
  148. pulumi_vault/ldap/get_dynamic_credentials.py +181 -0
  149. pulumi_vault/ldap/get_static_credentials.py +192 -0
  150. pulumi_vault/ldap/outputs.py +174 -0
  151. pulumi_vault/ldap/secret_backend.py +2207 -0
  152. pulumi_vault/ldap/secret_backend_dynamic_role.py +767 -0
  153. pulumi_vault/ldap/secret_backend_library_set.py +552 -0
  154. pulumi_vault/ldap/secret_backend_static_role.py +541 -0
  155. pulumi_vault/managed/__init__.py +11 -0
  156. pulumi_vault/managed/_inputs.py +944 -0
  157. pulumi_vault/managed/keys.py +398 -0
  158. pulumi_vault/managed/outputs.py +667 -0
  159. pulumi_vault/mfa_duo.py +589 -0
  160. pulumi_vault/mfa_okta.py +623 -0
  161. pulumi_vault/mfa_pingid.py +670 -0
  162. pulumi_vault/mfa_totp.py +620 -0
  163. pulumi_vault/mongodbatlas/__init__.py +10 -0
  164. pulumi_vault/mongodbatlas/secret_backend.py +388 -0
  165. pulumi_vault/mongodbatlas/secret_role.py +726 -0
  166. pulumi_vault/mount.py +1262 -0
  167. pulumi_vault/namespace.py +452 -0
  168. pulumi_vault/nomad_secret_backend.py +1559 -0
  169. pulumi_vault/nomad_secret_role.py +489 -0
  170. pulumi_vault/oci_auth_backend.py +676 -0
  171. pulumi_vault/oci_auth_backend_role.py +852 -0
  172. pulumi_vault/okta/__init__.py +13 -0
  173. pulumi_vault/okta/_inputs.py +320 -0
  174. pulumi_vault/okta/auth_backend.py +1231 -0
  175. pulumi_vault/okta/auth_backend_group.py +369 -0
  176. pulumi_vault/okta/auth_backend_user.py +416 -0
  177. pulumi_vault/okta/outputs.py +244 -0
  178. pulumi_vault/outputs.py +502 -0
  179. pulumi_vault/pkisecret/__init__.py +38 -0
  180. pulumi_vault/pkisecret/_inputs.py +270 -0
  181. pulumi_vault/pkisecret/backend_acme_eab.py +550 -0
  182. pulumi_vault/pkisecret/backend_config_acme.py +690 -0
  183. pulumi_vault/pkisecret/backend_config_auto_tidy.py +1370 -0
  184. pulumi_vault/pkisecret/backend_config_cluster.py +370 -0
  185. pulumi_vault/pkisecret/backend_config_cmpv2.py +693 -0
  186. pulumi_vault/pkisecret/backend_config_est.py +756 -0
  187. pulumi_vault/pkisecret/backend_config_scep.py +738 -0
  188. pulumi_vault/pkisecret/get_backend_cert_metadata.py +277 -0
  189. pulumi_vault/pkisecret/get_backend_config_cmpv2.py +226 -0
  190. pulumi_vault/pkisecret/get_backend_config_est.py +251 -0
  191. pulumi_vault/pkisecret/get_backend_config_scep.py +271 -0
  192. pulumi_vault/pkisecret/get_backend_issuer.py +395 -0
  193. pulumi_vault/pkisecret/get_backend_issuers.py +192 -0
  194. pulumi_vault/pkisecret/get_backend_key.py +211 -0
  195. pulumi_vault/pkisecret/get_backend_keys.py +192 -0
  196. pulumi_vault/pkisecret/outputs.py +270 -0
  197. pulumi_vault/pkisecret/secret_backend_cert.py +1315 -0
  198. pulumi_vault/pkisecret/secret_backend_config_ca.py +386 -0
  199. pulumi_vault/pkisecret/secret_backend_config_issuers.py +392 -0
  200. pulumi_vault/pkisecret/secret_backend_config_urls.py +462 -0
  201. pulumi_vault/pkisecret/secret_backend_crl_config.py +846 -0
  202. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +1629 -0
  203. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +444 -0
  204. pulumi_vault/pkisecret/secret_backend_issuer.py +1089 -0
  205. pulumi_vault/pkisecret/secret_backend_key.py +613 -0
  206. pulumi_vault/pkisecret/secret_backend_role.py +2694 -0
  207. pulumi_vault/pkisecret/secret_backend_root_cert.py +2134 -0
  208. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +2031 -0
  209. pulumi_vault/pkisecret/secret_backend_sign.py +1194 -0
  210. pulumi_vault/plugin.py +596 -0
  211. pulumi_vault/plugin_pinned_version.py +299 -0
  212. pulumi_vault/policy.py +279 -0
  213. pulumi_vault/provider.py +781 -0
  214. pulumi_vault/pulumi-plugin.json +5 -0
  215. pulumi_vault/py.typed +0 -0
  216. pulumi_vault/quota_lease_count.py +504 -0
  217. pulumi_vault/quota_rate_limit.py +751 -0
  218. pulumi_vault/rabbitmq/__init__.py +12 -0
  219. pulumi_vault/rabbitmq/_inputs.py +235 -0
  220. pulumi_vault/rabbitmq/outputs.py +144 -0
  221. pulumi_vault/rabbitmq/secret_backend.py +1437 -0
  222. pulumi_vault/rabbitmq/secret_backend_role.py +496 -0
  223. pulumi_vault/raft_autopilot.py +609 -0
  224. pulumi_vault/raft_snapshot_agent_config.py +1591 -0
  225. pulumi_vault/rgp_policy.py +349 -0
  226. pulumi_vault/saml/__init__.py +12 -0
  227. pulumi_vault/saml/_inputs.py +225 -0
  228. pulumi_vault/saml/auth_backend.py +811 -0
  229. pulumi_vault/saml/auth_backend_role.py +1068 -0
  230. pulumi_vault/saml/outputs.py +174 -0
  231. pulumi_vault/scep_auth_backend_role.py +908 -0
  232. pulumi_vault/secrets/__init__.py +18 -0
  233. pulumi_vault/secrets/_inputs.py +110 -0
  234. pulumi_vault/secrets/outputs.py +94 -0
  235. pulumi_vault/secrets/sync_association.py +450 -0
  236. pulumi_vault/secrets/sync_aws_destination.py +780 -0
  237. pulumi_vault/secrets/sync_azure_destination.py +736 -0
  238. pulumi_vault/secrets/sync_config.py +303 -0
  239. pulumi_vault/secrets/sync_gcp_destination.py +572 -0
  240. pulumi_vault/secrets/sync_gh_destination.py +688 -0
  241. pulumi_vault/secrets/sync_github_apps.py +376 -0
  242. pulumi_vault/secrets/sync_vercel_destination.py +603 -0
  243. pulumi_vault/ssh/__init__.py +13 -0
  244. pulumi_vault/ssh/_inputs.py +76 -0
  245. pulumi_vault/ssh/get_secret_backend_sign.py +294 -0
  246. pulumi_vault/ssh/outputs.py +51 -0
  247. pulumi_vault/ssh/secret_backend_ca.py +588 -0
  248. pulumi_vault/ssh/secret_backend_role.py +1493 -0
  249. pulumi_vault/terraformcloud/__init__.py +11 -0
  250. pulumi_vault/terraformcloud/secret_backend.py +1321 -0
  251. pulumi_vault/terraformcloud/secret_creds.py +445 -0
  252. pulumi_vault/terraformcloud/secret_role.py +563 -0
  253. pulumi_vault/token.py +1026 -0
  254. pulumi_vault/tokenauth/__init__.py +9 -0
  255. pulumi_vault/tokenauth/auth_backend_role.py +1135 -0
  256. pulumi_vault/transform/__init__.py +14 -0
  257. pulumi_vault/transform/alphabet.py +348 -0
  258. pulumi_vault/transform/get_decode.py +287 -0
  259. pulumi_vault/transform/get_encode.py +291 -0
  260. pulumi_vault/transform/role.py +350 -0
  261. pulumi_vault/transform/template.py +592 -0
  262. pulumi_vault/transform/transformation.py +608 -0
  263. pulumi_vault/transit/__init__.py +15 -0
  264. pulumi_vault/transit/get_cmac.py +256 -0
  265. pulumi_vault/transit/get_decrypt.py +181 -0
  266. pulumi_vault/transit/get_encrypt.py +174 -0
  267. pulumi_vault/transit/get_sign.py +328 -0
  268. pulumi_vault/transit/get_verify.py +373 -0
  269. pulumi_vault/transit/secret_backend_key.py +1202 -0
  270. pulumi_vault/transit/secret_cache_config.py +302 -0
  271. pulumi_vault-7.6.0a1764657486.dist-info/METADATA +92 -0
  272. pulumi_vault-7.6.0a1764657486.dist-info/RECORD +274 -0
  273. pulumi_vault-7.6.0a1764657486.dist-info/WHEEL +5 -0
  274. pulumi_vault-7.6.0a1764657486.dist-info/top_level.txt +1 -0
@@ -0,0 +1,688 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['SyncGhDestinationArgs', 'SyncGhDestination']
18
+
19
+ @pulumi.input_type
20
+ class SyncGhDestinationArgs:
21
+ def __init__(__self__, *,
22
+ access_token: Optional[pulumi.Input[_builtins.str]] = None,
23
+ app_name: Optional[pulumi.Input[_builtins.str]] = None,
24
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
25
+ installation_id: Optional[pulumi.Input[_builtins.int]] = None,
26
+ name: Optional[pulumi.Input[_builtins.str]] = None,
27
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
28
+ repository_name: Optional[pulumi.Input[_builtins.str]] = None,
29
+ repository_owner: Optional[pulumi.Input[_builtins.str]] = None,
30
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None):
31
+ """
32
+ The set of arguments for constructing a SyncGhDestination resource.
33
+ :param pulumi.Input[_builtins.str] access_token: Fine-grained or personal access token.
34
+ Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
35
+ variable.
36
+ :param pulumi.Input[_builtins.str] app_name: The user-defined name of the GitHub App configuration. This is a reference to the name used
37
+ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
38
+ Takes precedence over the `access_token` field.
39
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
40
+ at the destination. Supports `secret-path` and `secret-key`.
41
+ :param pulumi.Input[_builtins.int] installation_id: The ID of the installation generated by GitHub when the app referenced by the `app_name`
42
+ was installed in the user’s GitHub account. Can be modified. Necessary if the `app_name` field is also provided.
43
+ :param pulumi.Input[_builtins.str] name: Unique name of the GitHub destination.
44
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
45
+ The value should not contain leading or trailing forward slashes.
46
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
47
+ :param pulumi.Input[_builtins.str] repository_name: Name of the repository.
48
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
49
+ variable.
50
+ :param pulumi.Input[_builtins.str] repository_owner: GitHub organization or username that owns the repository.
51
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
52
+ variable.
53
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
54
+ Supports a subset of the Go Template syntax.
55
+ """
56
+ if access_token is not None:
57
+ pulumi.set(__self__, "access_token", access_token)
58
+ if app_name is not None:
59
+ pulumi.set(__self__, "app_name", app_name)
60
+ if granularity is not None:
61
+ pulumi.set(__self__, "granularity", granularity)
62
+ if installation_id is not None:
63
+ pulumi.set(__self__, "installation_id", installation_id)
64
+ if name is not None:
65
+ pulumi.set(__self__, "name", name)
66
+ if namespace is not None:
67
+ pulumi.set(__self__, "namespace", namespace)
68
+ if repository_name is not None:
69
+ pulumi.set(__self__, "repository_name", repository_name)
70
+ if repository_owner is not None:
71
+ pulumi.set(__self__, "repository_owner", repository_owner)
72
+ if secret_name_template is not None:
73
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
74
+
75
+ @_builtins.property
76
+ @pulumi.getter(name="accessToken")
77
+ def access_token(self) -> Optional[pulumi.Input[_builtins.str]]:
78
+ """
79
+ Fine-grained or personal access token.
80
+ Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
81
+ variable.
82
+ """
83
+ return pulumi.get(self, "access_token")
84
+
85
+ @access_token.setter
86
+ def access_token(self, value: Optional[pulumi.Input[_builtins.str]]):
87
+ pulumi.set(self, "access_token", value)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter(name="appName")
91
+ def app_name(self) -> Optional[pulumi.Input[_builtins.str]]:
92
+ """
93
+ The user-defined name of the GitHub App configuration. This is a reference to the name used
94
+ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
95
+ Takes precedence over the `access_token` field.
96
+ """
97
+ return pulumi.get(self, "app_name")
98
+
99
+ @app_name.setter
100
+ def app_name(self, value: Optional[pulumi.Input[_builtins.str]]):
101
+ pulumi.set(self, "app_name", value)
102
+
103
+ @_builtins.property
104
+ @pulumi.getter
105
+ def granularity(self) -> Optional[pulumi.Input[_builtins.str]]:
106
+ """
107
+ Determines what level of information is synced as a distinct resource
108
+ at the destination. Supports `secret-path` and `secret-key`.
109
+ """
110
+ return pulumi.get(self, "granularity")
111
+
112
+ @granularity.setter
113
+ def granularity(self, value: Optional[pulumi.Input[_builtins.str]]):
114
+ pulumi.set(self, "granularity", value)
115
+
116
+ @_builtins.property
117
+ @pulumi.getter(name="installationId")
118
+ def installation_id(self) -> Optional[pulumi.Input[_builtins.int]]:
119
+ """
120
+ The ID of the installation generated by GitHub when the app referenced by the `app_name`
121
+ was installed in the user’s GitHub account. Can be modified. Necessary if the `app_name` field is also provided.
122
+ """
123
+ return pulumi.get(self, "installation_id")
124
+
125
+ @installation_id.setter
126
+ def installation_id(self, value: Optional[pulumi.Input[_builtins.int]]):
127
+ pulumi.set(self, "installation_id", value)
128
+
129
+ @_builtins.property
130
+ @pulumi.getter
131
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
132
+ """
133
+ Unique name of the GitHub destination.
134
+ """
135
+ return pulumi.get(self, "name")
136
+
137
+ @name.setter
138
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
139
+ pulumi.set(self, "name", value)
140
+
141
+ @_builtins.property
142
+ @pulumi.getter
143
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
144
+ """
145
+ The namespace to provision the resource in.
146
+ The value should not contain leading or trailing forward slashes.
147
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
148
+ """
149
+ return pulumi.get(self, "namespace")
150
+
151
+ @namespace.setter
152
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
153
+ pulumi.set(self, "namespace", value)
154
+
155
+ @_builtins.property
156
+ @pulumi.getter(name="repositoryName")
157
+ def repository_name(self) -> Optional[pulumi.Input[_builtins.str]]:
158
+ """
159
+ Name of the repository.
160
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
161
+ variable.
162
+ """
163
+ return pulumi.get(self, "repository_name")
164
+
165
+ @repository_name.setter
166
+ def repository_name(self, value: Optional[pulumi.Input[_builtins.str]]):
167
+ pulumi.set(self, "repository_name", value)
168
+
169
+ @_builtins.property
170
+ @pulumi.getter(name="repositoryOwner")
171
+ def repository_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
172
+ """
173
+ GitHub organization or username that owns the repository.
174
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
175
+ variable.
176
+ """
177
+ return pulumi.get(self, "repository_owner")
178
+
179
+ @repository_owner.setter
180
+ def repository_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
181
+ pulumi.set(self, "repository_owner", value)
182
+
183
+ @_builtins.property
184
+ @pulumi.getter(name="secretNameTemplate")
185
+ def secret_name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
186
+ """
187
+ Template describing how to generate external secret names.
188
+ Supports a subset of the Go Template syntax.
189
+ """
190
+ return pulumi.get(self, "secret_name_template")
191
+
192
+ @secret_name_template.setter
193
+ def secret_name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
194
+ pulumi.set(self, "secret_name_template", value)
195
+
196
+
197
+ @pulumi.input_type
198
+ class _SyncGhDestinationState:
199
+ def __init__(__self__, *,
200
+ access_token: Optional[pulumi.Input[_builtins.str]] = None,
201
+ app_name: Optional[pulumi.Input[_builtins.str]] = None,
202
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
203
+ installation_id: Optional[pulumi.Input[_builtins.int]] = None,
204
+ name: Optional[pulumi.Input[_builtins.str]] = None,
205
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
206
+ repository_name: Optional[pulumi.Input[_builtins.str]] = None,
207
+ repository_owner: Optional[pulumi.Input[_builtins.str]] = None,
208
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
209
+ type: Optional[pulumi.Input[_builtins.str]] = None):
210
+ """
211
+ Input properties used for looking up and filtering SyncGhDestination resources.
212
+ :param pulumi.Input[_builtins.str] access_token: Fine-grained or personal access token.
213
+ Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
214
+ variable.
215
+ :param pulumi.Input[_builtins.str] app_name: The user-defined name of the GitHub App configuration. This is a reference to the name used
216
+ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
217
+ Takes precedence over the `access_token` field.
218
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
219
+ at the destination. Supports `secret-path` and `secret-key`.
220
+ :param pulumi.Input[_builtins.int] installation_id: The ID of the installation generated by GitHub when the app referenced by the `app_name`
221
+ was installed in the user’s GitHub account. Can be modified. Necessary if the `app_name` field is also provided.
222
+ :param pulumi.Input[_builtins.str] name: Unique name of the GitHub destination.
223
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
224
+ The value should not contain leading or trailing forward slashes.
225
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
226
+ :param pulumi.Input[_builtins.str] repository_name: Name of the repository.
227
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
228
+ variable.
229
+ :param pulumi.Input[_builtins.str] repository_owner: GitHub organization or username that owns the repository.
230
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
231
+ variable.
232
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
233
+ Supports a subset of the Go Template syntax.
234
+ :param pulumi.Input[_builtins.str] type: The type of the secrets destination (`gh`).
235
+ """
236
+ if access_token is not None:
237
+ pulumi.set(__self__, "access_token", access_token)
238
+ if app_name is not None:
239
+ pulumi.set(__self__, "app_name", app_name)
240
+ if granularity is not None:
241
+ pulumi.set(__self__, "granularity", granularity)
242
+ if installation_id is not None:
243
+ pulumi.set(__self__, "installation_id", installation_id)
244
+ if name is not None:
245
+ pulumi.set(__self__, "name", name)
246
+ if namespace is not None:
247
+ pulumi.set(__self__, "namespace", namespace)
248
+ if repository_name is not None:
249
+ pulumi.set(__self__, "repository_name", repository_name)
250
+ if repository_owner is not None:
251
+ pulumi.set(__self__, "repository_owner", repository_owner)
252
+ if secret_name_template is not None:
253
+ pulumi.set(__self__, "secret_name_template", secret_name_template)
254
+ if type is not None:
255
+ pulumi.set(__self__, "type", type)
256
+
257
+ @_builtins.property
258
+ @pulumi.getter(name="accessToken")
259
+ def access_token(self) -> Optional[pulumi.Input[_builtins.str]]:
260
+ """
261
+ Fine-grained or personal access token.
262
+ Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
263
+ variable.
264
+ """
265
+ return pulumi.get(self, "access_token")
266
+
267
+ @access_token.setter
268
+ def access_token(self, value: Optional[pulumi.Input[_builtins.str]]):
269
+ pulumi.set(self, "access_token", value)
270
+
271
+ @_builtins.property
272
+ @pulumi.getter(name="appName")
273
+ def app_name(self) -> Optional[pulumi.Input[_builtins.str]]:
274
+ """
275
+ The user-defined name of the GitHub App configuration. This is a reference to the name used
276
+ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
277
+ Takes precedence over the `access_token` field.
278
+ """
279
+ return pulumi.get(self, "app_name")
280
+
281
+ @app_name.setter
282
+ def app_name(self, value: Optional[pulumi.Input[_builtins.str]]):
283
+ pulumi.set(self, "app_name", value)
284
+
285
+ @_builtins.property
286
+ @pulumi.getter
287
+ def granularity(self) -> Optional[pulumi.Input[_builtins.str]]:
288
+ """
289
+ Determines what level of information is synced as a distinct resource
290
+ at the destination. Supports `secret-path` and `secret-key`.
291
+ """
292
+ return pulumi.get(self, "granularity")
293
+
294
+ @granularity.setter
295
+ def granularity(self, value: Optional[pulumi.Input[_builtins.str]]):
296
+ pulumi.set(self, "granularity", value)
297
+
298
+ @_builtins.property
299
+ @pulumi.getter(name="installationId")
300
+ def installation_id(self) -> Optional[pulumi.Input[_builtins.int]]:
301
+ """
302
+ The ID of the installation generated by GitHub when the app referenced by the `app_name`
303
+ was installed in the user’s GitHub account. Can be modified. Necessary if the `app_name` field is also provided.
304
+ """
305
+ return pulumi.get(self, "installation_id")
306
+
307
+ @installation_id.setter
308
+ def installation_id(self, value: Optional[pulumi.Input[_builtins.int]]):
309
+ pulumi.set(self, "installation_id", value)
310
+
311
+ @_builtins.property
312
+ @pulumi.getter
313
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
314
+ """
315
+ Unique name of the GitHub destination.
316
+ """
317
+ return pulumi.get(self, "name")
318
+
319
+ @name.setter
320
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
321
+ pulumi.set(self, "name", value)
322
+
323
+ @_builtins.property
324
+ @pulumi.getter
325
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
326
+ """
327
+ The namespace to provision the resource in.
328
+ The value should not contain leading or trailing forward slashes.
329
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
330
+ """
331
+ return pulumi.get(self, "namespace")
332
+
333
+ @namespace.setter
334
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
335
+ pulumi.set(self, "namespace", value)
336
+
337
+ @_builtins.property
338
+ @pulumi.getter(name="repositoryName")
339
+ def repository_name(self) -> Optional[pulumi.Input[_builtins.str]]:
340
+ """
341
+ Name of the repository.
342
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
343
+ variable.
344
+ """
345
+ return pulumi.get(self, "repository_name")
346
+
347
+ @repository_name.setter
348
+ def repository_name(self, value: Optional[pulumi.Input[_builtins.str]]):
349
+ pulumi.set(self, "repository_name", value)
350
+
351
+ @_builtins.property
352
+ @pulumi.getter(name="repositoryOwner")
353
+ def repository_owner(self) -> Optional[pulumi.Input[_builtins.str]]:
354
+ """
355
+ GitHub organization or username that owns the repository.
356
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
357
+ variable.
358
+ """
359
+ return pulumi.get(self, "repository_owner")
360
+
361
+ @repository_owner.setter
362
+ def repository_owner(self, value: Optional[pulumi.Input[_builtins.str]]):
363
+ pulumi.set(self, "repository_owner", value)
364
+
365
+ @_builtins.property
366
+ @pulumi.getter(name="secretNameTemplate")
367
+ def secret_name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
368
+ """
369
+ Template describing how to generate external secret names.
370
+ Supports a subset of the Go Template syntax.
371
+ """
372
+ return pulumi.get(self, "secret_name_template")
373
+
374
+ @secret_name_template.setter
375
+ def secret_name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
376
+ pulumi.set(self, "secret_name_template", value)
377
+
378
+ @_builtins.property
379
+ @pulumi.getter
380
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
381
+ """
382
+ The type of the secrets destination (`gh`).
383
+ """
384
+ return pulumi.get(self, "type")
385
+
386
+ @type.setter
387
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
388
+ pulumi.set(self, "type", value)
389
+
390
+
391
+ @pulumi.type_token("vault:secrets/syncGhDestination:SyncGhDestination")
392
+ class SyncGhDestination(pulumi.CustomResource):
393
+ @overload
394
+ def __init__(__self__,
395
+ resource_name: str,
396
+ opts: Optional[pulumi.ResourceOptions] = None,
397
+ access_token: Optional[pulumi.Input[_builtins.str]] = None,
398
+ app_name: Optional[pulumi.Input[_builtins.str]] = None,
399
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
400
+ installation_id: Optional[pulumi.Input[_builtins.int]] = None,
401
+ name: Optional[pulumi.Input[_builtins.str]] = None,
402
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
403
+ repository_name: Optional[pulumi.Input[_builtins.str]] = None,
404
+ repository_owner: Optional[pulumi.Input[_builtins.str]] = None,
405
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
406
+ __props__=None):
407
+ """
408
+ ## Example Usage
409
+
410
+ ```python
411
+ import pulumi
412
+ import pulumi_vault as vault
413
+
414
+ gh = vault.secrets.SyncGhDestination("gh",
415
+ name="gh-dest",
416
+ access_token=access_token,
417
+ repository_owner=repo_owner,
418
+ repository_name="repo-name-example",
419
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}")
420
+ ```
421
+
422
+ ## Import
423
+
424
+ GitHub Secrets sync destinations can be imported using the `name`, e.g.
425
+
426
+ ```sh
427
+ $ pulumi import vault:secrets/syncGhDestination:SyncGhDestination gh gh-dest
428
+ ```
429
+
430
+ :param str resource_name: The name of the resource.
431
+ :param pulumi.ResourceOptions opts: Options for the resource.
432
+ :param pulumi.Input[_builtins.str] access_token: Fine-grained or personal access token.
433
+ Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
434
+ variable.
435
+ :param pulumi.Input[_builtins.str] app_name: The user-defined name of the GitHub App configuration. This is a reference to the name used
436
+ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
437
+ Takes precedence over the `access_token` field.
438
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
439
+ at the destination. Supports `secret-path` and `secret-key`.
440
+ :param pulumi.Input[_builtins.int] installation_id: The ID of the installation generated by GitHub when the app referenced by the `app_name`
441
+ was installed in the user’s GitHub account. Can be modified. Necessary if the `app_name` field is also provided.
442
+ :param pulumi.Input[_builtins.str] name: Unique name of the GitHub destination.
443
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
444
+ The value should not contain leading or trailing forward slashes.
445
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
446
+ :param pulumi.Input[_builtins.str] repository_name: Name of the repository.
447
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
448
+ variable.
449
+ :param pulumi.Input[_builtins.str] repository_owner: GitHub organization or username that owns the repository.
450
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
451
+ variable.
452
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
453
+ Supports a subset of the Go Template syntax.
454
+ """
455
+ ...
456
+ @overload
457
+ def __init__(__self__,
458
+ resource_name: str,
459
+ args: Optional[SyncGhDestinationArgs] = None,
460
+ opts: Optional[pulumi.ResourceOptions] = None):
461
+ """
462
+ ## Example Usage
463
+
464
+ ```python
465
+ import pulumi
466
+ import pulumi_vault as vault
467
+
468
+ gh = vault.secrets.SyncGhDestination("gh",
469
+ name="gh-dest",
470
+ access_token=access_token,
471
+ repository_owner=repo_owner,
472
+ repository_name="repo-name-example",
473
+ secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}")
474
+ ```
475
+
476
+ ## Import
477
+
478
+ GitHub Secrets sync destinations can be imported using the `name`, e.g.
479
+
480
+ ```sh
481
+ $ pulumi import vault:secrets/syncGhDestination:SyncGhDestination gh gh-dest
482
+ ```
483
+
484
+ :param str resource_name: The name of the resource.
485
+ :param SyncGhDestinationArgs args: The arguments to use to populate this resource's properties.
486
+ :param pulumi.ResourceOptions opts: Options for the resource.
487
+ """
488
+ ...
489
+ def __init__(__self__, resource_name: str, *args, **kwargs):
490
+ resource_args, opts = _utilities.get_resource_args_opts(SyncGhDestinationArgs, pulumi.ResourceOptions, *args, **kwargs)
491
+ if resource_args is not None:
492
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
493
+ else:
494
+ __self__._internal_init(resource_name, *args, **kwargs)
495
+
496
+ def _internal_init(__self__,
497
+ resource_name: str,
498
+ opts: Optional[pulumi.ResourceOptions] = None,
499
+ access_token: Optional[pulumi.Input[_builtins.str]] = None,
500
+ app_name: Optional[pulumi.Input[_builtins.str]] = None,
501
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
502
+ installation_id: Optional[pulumi.Input[_builtins.int]] = None,
503
+ name: Optional[pulumi.Input[_builtins.str]] = None,
504
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
505
+ repository_name: Optional[pulumi.Input[_builtins.str]] = None,
506
+ repository_owner: Optional[pulumi.Input[_builtins.str]] = None,
507
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
508
+ __props__=None):
509
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
510
+ if not isinstance(opts, pulumi.ResourceOptions):
511
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
512
+ if opts.id is None:
513
+ if __props__ is not None:
514
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
515
+ __props__ = SyncGhDestinationArgs.__new__(SyncGhDestinationArgs)
516
+
517
+ __props__.__dict__["access_token"] = None if access_token is None else pulumi.Output.secret(access_token)
518
+ __props__.__dict__["app_name"] = app_name
519
+ __props__.__dict__["granularity"] = granularity
520
+ __props__.__dict__["installation_id"] = installation_id
521
+ __props__.__dict__["name"] = name
522
+ __props__.__dict__["namespace"] = namespace
523
+ __props__.__dict__["repository_name"] = repository_name
524
+ __props__.__dict__["repository_owner"] = repository_owner
525
+ __props__.__dict__["secret_name_template"] = secret_name_template
526
+ __props__.__dict__["type"] = None
527
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessToken"])
528
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
529
+ super(SyncGhDestination, __self__).__init__(
530
+ 'vault:secrets/syncGhDestination:SyncGhDestination',
531
+ resource_name,
532
+ __props__,
533
+ opts)
534
+
535
+ @staticmethod
536
+ def get(resource_name: str,
537
+ id: pulumi.Input[str],
538
+ opts: Optional[pulumi.ResourceOptions] = None,
539
+ access_token: Optional[pulumi.Input[_builtins.str]] = None,
540
+ app_name: Optional[pulumi.Input[_builtins.str]] = None,
541
+ granularity: Optional[pulumi.Input[_builtins.str]] = None,
542
+ installation_id: Optional[pulumi.Input[_builtins.int]] = None,
543
+ name: Optional[pulumi.Input[_builtins.str]] = None,
544
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
545
+ repository_name: Optional[pulumi.Input[_builtins.str]] = None,
546
+ repository_owner: Optional[pulumi.Input[_builtins.str]] = None,
547
+ secret_name_template: Optional[pulumi.Input[_builtins.str]] = None,
548
+ type: Optional[pulumi.Input[_builtins.str]] = None) -> 'SyncGhDestination':
549
+ """
550
+ Get an existing SyncGhDestination resource's state with the given name, id, and optional extra
551
+ properties used to qualify the lookup.
552
+
553
+ :param str resource_name: The unique name of the resulting resource.
554
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
555
+ :param pulumi.ResourceOptions opts: Options for the resource.
556
+ :param pulumi.Input[_builtins.str] access_token: Fine-grained or personal access token.
557
+ Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
558
+ variable.
559
+ :param pulumi.Input[_builtins.str] app_name: The user-defined name of the GitHub App configuration. This is a reference to the name used
560
+ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
561
+ Takes precedence over the `access_token` field.
562
+ :param pulumi.Input[_builtins.str] granularity: Determines what level of information is synced as a distinct resource
563
+ at the destination. Supports `secret-path` and `secret-key`.
564
+ :param pulumi.Input[_builtins.int] installation_id: The ID of the installation generated by GitHub when the app referenced by the `app_name`
565
+ was installed in the user’s GitHub account. Can be modified. Necessary if the `app_name` field is also provided.
566
+ :param pulumi.Input[_builtins.str] name: Unique name of the GitHub destination.
567
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
568
+ The value should not contain leading or trailing forward slashes.
569
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
570
+ :param pulumi.Input[_builtins.str] repository_name: Name of the repository.
571
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
572
+ variable.
573
+ :param pulumi.Input[_builtins.str] repository_owner: GitHub organization or username that owns the repository.
574
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
575
+ variable.
576
+ :param pulumi.Input[_builtins.str] secret_name_template: Template describing how to generate external secret names.
577
+ Supports a subset of the Go Template syntax.
578
+ :param pulumi.Input[_builtins.str] type: The type of the secrets destination (`gh`).
579
+ """
580
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
581
+
582
+ __props__ = _SyncGhDestinationState.__new__(_SyncGhDestinationState)
583
+
584
+ __props__.__dict__["access_token"] = access_token
585
+ __props__.__dict__["app_name"] = app_name
586
+ __props__.__dict__["granularity"] = granularity
587
+ __props__.__dict__["installation_id"] = installation_id
588
+ __props__.__dict__["name"] = name
589
+ __props__.__dict__["namespace"] = namespace
590
+ __props__.__dict__["repository_name"] = repository_name
591
+ __props__.__dict__["repository_owner"] = repository_owner
592
+ __props__.__dict__["secret_name_template"] = secret_name_template
593
+ __props__.__dict__["type"] = type
594
+ return SyncGhDestination(resource_name, opts=opts, __props__=__props__)
595
+
596
+ @_builtins.property
597
+ @pulumi.getter(name="accessToken")
598
+ def access_token(self) -> pulumi.Output[Optional[_builtins.str]]:
599
+ """
600
+ Fine-grained or personal access token.
601
+ Can be omitted and directly provided to Vault using the `GITHUB_ACCESS_TOKEN` environment
602
+ variable.
603
+ """
604
+ return pulumi.get(self, "access_token")
605
+
606
+ @_builtins.property
607
+ @pulumi.getter(name="appName")
608
+ def app_name(self) -> pulumi.Output[Optional[_builtins.str]]:
609
+ """
610
+ The user-defined name of the GitHub App configuration. This is a reference to the name used
611
+ on the new endpoint when configuring the GitHub app on the Vault Server. Can be modified.
612
+ Takes precedence over the `access_token` field.
613
+ """
614
+ return pulumi.get(self, "app_name")
615
+
616
+ @_builtins.property
617
+ @pulumi.getter
618
+ def granularity(self) -> pulumi.Output[Optional[_builtins.str]]:
619
+ """
620
+ Determines what level of information is synced as a distinct resource
621
+ at the destination. Supports `secret-path` and `secret-key`.
622
+ """
623
+ return pulumi.get(self, "granularity")
624
+
625
+ @_builtins.property
626
+ @pulumi.getter(name="installationId")
627
+ def installation_id(self) -> pulumi.Output[Optional[_builtins.int]]:
628
+ """
629
+ The ID of the installation generated by GitHub when the app referenced by the `app_name`
630
+ was installed in the user’s GitHub account. Can be modified. Necessary if the `app_name` field is also provided.
631
+ """
632
+ return pulumi.get(self, "installation_id")
633
+
634
+ @_builtins.property
635
+ @pulumi.getter
636
+ def name(self) -> pulumi.Output[_builtins.str]:
637
+ """
638
+ Unique name of the GitHub destination.
639
+ """
640
+ return pulumi.get(self, "name")
641
+
642
+ @_builtins.property
643
+ @pulumi.getter
644
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
645
+ """
646
+ The namespace to provision the resource in.
647
+ The value should not contain leading or trailing forward slashes.
648
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
649
+ """
650
+ return pulumi.get(self, "namespace")
651
+
652
+ @_builtins.property
653
+ @pulumi.getter(name="repositoryName")
654
+ def repository_name(self) -> pulumi.Output[Optional[_builtins.str]]:
655
+ """
656
+ Name of the repository.
657
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_NAME` environment
658
+ variable.
659
+ """
660
+ return pulumi.get(self, "repository_name")
661
+
662
+ @_builtins.property
663
+ @pulumi.getter(name="repositoryOwner")
664
+ def repository_owner(self) -> pulumi.Output[Optional[_builtins.str]]:
665
+ """
666
+ GitHub organization or username that owns the repository.
667
+ Can be omitted and directly provided to Vault using the `GITHUB_REPOSITORY_OWNER` environment
668
+ variable.
669
+ """
670
+ return pulumi.get(self, "repository_owner")
671
+
672
+ @_builtins.property
673
+ @pulumi.getter(name="secretNameTemplate")
674
+ def secret_name_template(self) -> pulumi.Output[_builtins.str]:
675
+ """
676
+ Template describing how to generate external secret names.
677
+ Supports a subset of the Go Template syntax.
678
+ """
679
+ return pulumi.get(self, "secret_name_template")
680
+
681
+ @_builtins.property
682
+ @pulumi.getter
683
+ def type(self) -> pulumi.Output[_builtins.str]:
684
+ """
685
+ The type of the secrets destination (`gh`).
686
+ """
687
+ return pulumi.get(self, "type")
688
+