envless-sdk 0.0.1

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 (91) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +171 -0
  4. data/lib/envless/sdk/api_error.rb +54 -0
  5. data/lib/envless/sdk/bodies.rb +49 -0
  6. data/lib/envless/sdk/client.rb +39 -0
  7. data/lib/envless/sdk/clock.rb +24 -0
  8. data/lib/envless/sdk/connection_pool.rb +83 -0
  9. data/lib/envless/sdk/connector.rb +26 -0
  10. data/lib/envless/sdk/constants.rb +262 -0
  11. data/lib/envless/sdk/crypto/cipher.rb +58 -0
  12. data/lib/envless/sdk/crypto/codec.rb +23 -0
  13. data/lib/envless/sdk/crypto/envelope.rb +41 -0
  14. data/lib/envless/sdk/crypto/keys.rb +42 -0
  15. data/lib/envless/sdk/crypto/passphrase.rb +38 -0
  16. data/lib/envless/sdk/crypto/passphrase_rules.rb +42 -0
  17. data/lib/envless/sdk/crypto/values.rb +31 -0
  18. data/lib/envless/sdk/crypto/workspace_key.rb +40 -0
  19. data/lib/envless/sdk/crypto_messages.rb +31 -0
  20. data/lib/envless/sdk/default_client.rb +55 -0
  21. data/lib/envless/sdk/defaults.rb +32 -0
  22. data/lib/envless/sdk/envelope.rb +48 -0
  23. data/lib/envless/sdk/environment.rb +42 -0
  24. data/lib/envless/sdk/errors.rb +23 -0
  25. data/lib/envless/sdk/exchange.rb +27 -0
  26. data/lib/envless/sdk/helpers.rb +49 -0
  27. data/lib/envless/sdk/http.rb +46 -0
  28. data/lib/envless/sdk/listing.rb +54 -0
  29. data/lib/envless/sdk/messages.rb +43 -0
  30. data/lib/envless/sdk/net_http_adapter.rb +84 -0
  31. data/lib/envless/sdk/numbers.rb +44 -0
  32. data/lib/envless/sdk/options.rb +56 -0
  33. data/lib/envless/sdk/pagination.rb +31 -0
  34. data/lib/envless/sdk/paths.rb +70 -0
  35. data/lib/envless/sdk/received.rb +28 -0
  36. data/lib/envless/sdk/redirects.rb +56 -0
  37. data/lib/envless/sdk/resource.rb +50 -0
  38. data/lib/envless/sdk/resources/environments.rb +61 -0
  39. data/lib/envless/sdk/resources/invites.rb +28 -0
  40. data/lib/envless/sdk/resources/keys.rb +36 -0
  41. data/lib/envless/sdk/resources/me.rb +11 -0
  42. data/lib/envless/sdk/resources/members.rb +36 -0
  43. data/lib/envless/sdk/resources/product_access.rb +30 -0
  44. data/lib/envless/sdk/resources/products.rb +62 -0
  45. data/lib/envless/sdk/resources/projects.rb +42 -0
  46. data/lib/envless/sdk/resources/roles.rb +40 -0
  47. data/lib/envless/sdk/resources/variable_changes.rb +57 -0
  48. data/lib/envless/sdk/resources/variables.rb +49 -0
  49. data/lib/envless/sdk/resources/versions.rb +60 -0
  50. data/lib/envless/sdk/resources/webhook_deliveries.rb +33 -0
  51. data/lib/envless/sdk/resources/webhooks.rb +44 -0
  52. data/lib/envless/sdk/resources/workspace.rb +26 -0
  53. data/lib/envless/sdk/resources/workspace_domain.rb +31 -0
  54. data/lib/envless/sdk/resources/workspaces.rb +24 -0
  55. data/lib/envless/sdk/results.rb +43 -0
  56. data/lib/envless/sdk/retry_policy.rb +36 -0
  57. data/lib/envless/sdk/rotation/entry_rotator.rb +61 -0
  58. data/lib/envless/sdk/rotation/key_ring.rb +34 -0
  59. data/lib/envless/sdk/rotation/ledger.rb +36 -0
  60. data/lib/envless/sdk/rotation/runner.rb +45 -0
  61. data/lib/envless/sdk/rotation/variable_rotator.rb +38 -0
  62. data/lib/envless/sdk/text.rb +71 -0
  63. data/lib/envless/sdk/transport.rb +62 -0
  64. data/lib/envless/sdk/update_notice.rb +66 -0
  65. data/lib/envless/sdk/urls.rb +70 -0
  66. data/lib/envless/sdk/variable_names.rb +55 -0
  67. data/lib/envless/sdk/version.rb +5 -0
  68. data/lib/envless/sdk/webhooks/headers.rb +49 -0
  69. data/lib/envless/sdk/webhooks/verify.rb +58 -0
  70. data/lib/envless/sdk/wire.rb +77 -0
  71. data/lib/envless/sdk.rb +77 -0
  72. data/sig/envless/sdk/adapter.rbs +60 -0
  73. data/sig/envless/sdk/client.rbs +31 -0
  74. data/sig/envless/sdk/crypto.rbs +92 -0
  75. data/sig/envless/sdk/errors.rbs +37 -0
  76. data/sig/envless/sdk/http.rbs +31 -0
  77. data/sig/envless/sdk/pagination.rbs +81 -0
  78. data/sig/envless/sdk/results.rbs +62 -0
  79. data/sig/envless/sdk/rotation.rbs +86 -0
  80. data/sig/envless/sdk/settings.rbs +81 -0
  81. data/sig/envless/sdk/stdlib.rbs +8 -0
  82. data/sig/envless/sdk/text.rbs +52 -0
  83. data/sig/envless/sdk/transport.rbs +79 -0
  84. data/sig/envless/sdk/urls.rbs +73 -0
  85. data/sig/envless/sdk/webhooks.rbs +23 -0
  86. data/sig/envless/sdk.rbs +36 -0
  87. data/sig/generated/constants.rbs +57 -0
  88. data/sig/generated/resources.rbs +209 -0
  89. data/sig/generated/types.rbs +466 -0
  90. data/sig/manifest.yaml +3 -0
  91. metadata +134 -0
@@ -0,0 +1,209 @@
1
+ module Envless
2
+ module Resources
3
+ class Me < Resource
4
+ def get: (?timeout: seconds?) -> identity_resource
5
+ end
6
+
7
+ class Workspace < Resource
8
+ attr_reader domain: WorkspaceDomain
9
+ def get: (?timeout: seconds?) -> current_workspace_resource
10
+ def update: (?(workspace_patch | Hash[Symbol | String, untyped])? patch, ?timeout: seconds?, **untyped) -> updated_workspace_resource
11
+ def delete: (?timeout: seconds?) -> deleted_workspace_resource
12
+ end
13
+
14
+ class WorkspaceDomain < Resource
15
+ def get: (?timeout: seconds?) -> custom_domain_resource?
16
+ def claim: (String hostname, ?timeout: seconds?) -> custom_domain_resource?
17
+ def verify: (?reattempt: bool?, ?timeout: seconds?) -> custom_domain_resource?
18
+ def remove: (?timeout: seconds?) -> removed_domain_resource
19
+ end
20
+
21
+ class Workspaces < Resource
22
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[workspace_resource]
23
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[workspace_resource]
24
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[workspace_resource, nil]
25
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (workspace_resource) -> void } -> nil
26
+ def create: (?(workspace_create | Hash[Symbol | String, untyped])? body, ?timeout: seconds?, **untyped) -> workspace_resource
27
+ end
28
+
29
+ class Products < Resource
30
+ attr_reader access: ProductAccess
31
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[product_resource]
32
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[product_resource]
33
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[product_resource, nil]
34
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (product_resource) -> void } -> nil
35
+ def get: (String slug, ?timeout: seconds?) -> product_resource
36
+ def create: (?(product_create | Hash[Symbol | String, untyped])? body, ?timeout: seconds?, **untyped) -> product_resource
37
+ def update: (String slug, ?(product_patch | Hash[Symbol | String, untyped])? patch, ?timeout: seconds?, **untyped) -> product_resource
38
+ def delete: (String slug, ?timeout: seconds?) -> deleted_product_resource
39
+ def duplicate: (String slug, ?timeout: seconds?) -> product_resource
40
+ def list_projects: (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[project_resource]
41
+ def list_all_projects: (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[project_resource]
42
+ def iterate_projects: (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[project_resource, nil]
43
+ | (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (project_resource) -> void } -> nil
44
+ end
45
+
46
+ class ProductAccess < Resource
47
+ def list: (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> ProductAccessPage
48
+ def list_all: (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[product_access_entry]
49
+ def iterate: (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[product_access_entry, nil]
50
+ | (String slug, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (product_access_entry) -> void } -> nil
51
+ def grant: (String slug, String member_id, ?timeout: seconds?) -> granted_product_access_resource
52
+ def revoke: (String slug, String member_id, ?timeout: seconds?) -> revoked_product_access_resource
53
+ end
54
+
55
+ class Projects < Resource
56
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[project_resource]
57
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[project_resource]
58
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[project_resource, nil]
59
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (project_resource) -> void } -> nil
60
+ def get: (String slug, ?product: (String | Symbol)?, ?timeout: seconds?) -> project_resource
61
+ def create: (?(project_create | Hash[Symbol | String, untyped])? body, ?timeout: seconds?, **untyped) -> project_resource
62
+ def update: (String slug, ?(project_patch | Hash[Symbol | String, untyped])? patch, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> project_resource
63
+ def delete: (String slug, ?product: (String | Symbol)?, ?timeout: seconds?) -> deleted_project_resource
64
+ def duplicate: (String slug, ?product: (String | Symbol)?, ?timeout: seconds?) -> project_resource
65
+ end
66
+
67
+ class Environments < Resource
68
+ def list: (String project, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[environment_summary_resource]
69
+ def list_all: (String project, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[environment_summary_resource]
70
+ def iterate: (String project, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[environment_summary_resource, nil]
71
+ | (String project, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (environment_summary_resource) -> void } -> nil
72
+ def get: (String project, String environment, ?product: (String | Symbol)?, ?timeout: seconds?) -> environment_summary_resource
73
+ def create: (String project, ?(environment_create | Hash[Symbol | String, untyped])? body, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> environment_resource
74
+ def update: (String project, String environment, ?(environment_patch | Hash[Symbol | String, untyped])? patch, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> environment_resource
75
+ def delete: (String project, String environment, ?product: (String | Symbol)?, ?timeout: seconds?) -> deleted_environment_resource
76
+ def duplicate: (String project, String environment, ?product: (String | Symbol)?, ?timeout: seconds?) -> environment_resource
77
+ def expose: (String project, String environment, ?product: (String | Symbol)?, ?timeout: seconds?) -> environment_resource
78
+ def unexpose: (String project, String environment, ?product: (String | Symbol)?, ?timeout: seconds?) -> environment_resource
79
+ end
80
+
81
+ class Variables < Resource
82
+ def list: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[variable_resource]
83
+ def list_all: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[variable_resource]
84
+ def iterate: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[variable_resource, nil]
85
+ | (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (variable_resource) -> void } -> nil
86
+ def get: (String project, String environment, String name, ?product: (String | Symbol)?, ?timeout: seconds?) -> variable_resource
87
+ def get_by_id: (String id, ?product: (String | Symbol)?, ?timeout: seconds?) -> variable_resource
88
+ def create: (String project, String environment, ?(variable_input | Hash[Symbol | String, untyped])? body, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> variable_resource
89
+ def create_many: (String project, String environment, Array[variable_input | Hash[Symbol | String, untyped]] items, ?product: (String | Symbol)?, ?timeout: seconds?) -> created_variables_resource
90
+ def update: (String project, String environment, String name, ?(variable_patch | Hash[Symbol | String, untyped])? patch, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> variable_resource
91
+ def update_by_id: (String id, ?(variable_patch | Hash[Symbol | String, untyped])? patch, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> variable_resource
92
+ def delete: (String project, String environment, String name, ?product: (String | Symbol)?, ?timeout: seconds?) -> deleted_variable_resource
93
+ def delete_by_id: (String id, ?product: (String | Symbol)?, ?timeout: seconds?) -> deleted_variable_resource
94
+ def delete_many: (String project, String environment, Array[String] names, ?product: (String | Symbol)?, ?timeout: seconds?) -> deleted_variables_resource
95
+ def list_history: (String project, String environment, String name, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[variable_history_event]
96
+ def list_all_history: (String project, String environment, String name, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[variable_history_event]
97
+ def iterate_history: (String project, String environment, String name, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[variable_history_event, nil]
98
+ | (String project, String environment, String name, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (variable_history_event) -> void } -> nil
99
+ def apply: (String project, String environment, ?(apply_changes | Hash[Symbol | String, untyped])? changes, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> apply_result
100
+ end
101
+
102
+ class Versions < Resource
103
+ def list: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[version_resource]
104
+ def list_all: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[version_resource]
105
+ def iterate: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[version_resource, nil]
106
+ | (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (version_resource) -> void } -> nil
107
+ def create: (String project, String environment, ?(version_create | Hash[Symbol | String, untyped])? body, ?product: (String | Symbol)?, ?timeout: seconds?, **untyped) -> version_resource
108
+ def get: (String id, ?product: (String | Symbol)?, ?timeout: seconds?) -> version_detail_resource
109
+ def rollback: (String id, ?product: (String | Symbol)?, ?timeout: seconds?) -> rolled_back_version_resource
110
+ def list_entries: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[version_entry_resource]
111
+ def list_all_entries: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[version_entry_resource]
112
+ def iterate_entries: (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[version_entry_resource, nil]
113
+ | (String project, String environment, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (version_entry_resource) -> void } -> nil
114
+ def reencrypt_entries: (String project, String environment, Array[reencrypt_entry_input | Hash[Symbol | String, untyped]] entries, ?product: (String | Symbol)?, ?timeout: seconds?) -> reencrypted_entries_resource
115
+ end
116
+
117
+ class Members < Resource
118
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[member_resource]
119
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[member_resource]
120
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[member_resource, nil]
121
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (member_resource) -> void } -> nil
122
+ def invite: (?(member_invite | Hash[Symbol | String, untyped])? body, ?timeout: seconds?, **untyped) -> invite_resource
123
+ def update: (String id, ?(member_patch | Hash[Symbol | String, untyped])? patch, ?timeout: seconds?, **untyped) -> member_resource
124
+ def remove: (String id, ?timeout: seconds?) -> deleted_member_resource
125
+ def leave: (?timeout: seconds?) -> left_workspace_resource
126
+ end
127
+
128
+ class Invites < Resource
129
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[invite_resource]
130
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[invite_resource]
131
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[invite_resource, nil]
132
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (invite_resource) -> void } -> nil
133
+ def revoke: (String id, ?timeout: seconds?) -> revoked_invite_resource
134
+ def resend: (String id, ?timeout: seconds?) -> invite_resource
135
+ end
136
+
137
+ class Roles < Resource
138
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[role_resource]
139
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[role_resource]
140
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[role_resource, nil]
141
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (role_resource) -> void } -> nil
142
+ def get: (String id, ?timeout: seconds?) -> role_resource
143
+ def create: (?(role_create | Hash[Symbol | String, untyped])? body, ?timeout: seconds?, **untyped) -> role_resource
144
+ def update: (String id, ?(role_patch | Hash[Symbol | String, untyped])? patch, ?timeout: seconds?, **untyped) -> role_resource
145
+ def delete: (String id, ?timeout: seconds?) -> deleted_role_resource
146
+ def list_permissions: (?timeout: seconds?) -> permissions_resource
147
+ end
148
+
149
+ class Keys < Resource
150
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[key_resource]
151
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[key_resource]
152
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[key_resource, nil]
153
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (key_resource) -> void } -> nil
154
+ def get: (String id, ?timeout: seconds?) -> key_resource
155
+ def create: (?(key_create | Hash[Symbol | String, untyped])? body, ?timeout: seconds?, **untyped) -> created_key_resource
156
+ def update: (String id, ?(key_patch | Hash[Symbol | String, untyped])? patch, ?timeout: seconds?, **untyped) -> key_resource
157
+ def delete: (String id, ?timeout: seconds?) -> deleted_key_resource
158
+ end
159
+
160
+ class Webhooks < Resource
161
+ def list: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Page[webhook_resource]
162
+ def list_all: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Array[webhook_resource]
163
+ def iterate: (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[webhook_resource, nil]
164
+ | (?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?timeout: seconds?) { (webhook_resource) -> void } -> nil
165
+ def get: (String id, ?timeout: seconds?) -> webhook_resource
166
+ def create: (?(webhook_create | Hash[Symbol | String, untyped])? body, ?timeout: seconds?, **untyped) -> created_webhook_resource
167
+ def update: (String id, ?(webhook_patch | Hash[Symbol | String, untyped])? patch, ?timeout: seconds?, **untyped) -> webhook_resource
168
+ def delete: (String id, ?timeout: seconds?) -> deleted_webhook_resource
169
+ def rotate_secret: (String id, ?timeout: seconds?) -> rotated_secret_resource
170
+ def list_event_types: (?timeout: seconds?) -> event_types_resource
171
+ def list_deliveries: (String id, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?status: (String | Symbol)?, ?timeout: seconds?) -> Page[webhook_delivery_resource]
172
+ def list_all_deliveries: (String id, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?status: (String | Symbol)?, ?timeout: seconds?) -> Array[webhook_delivery_resource]
173
+ def iterate_deliveries: (String id, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?status: (String | Symbol)?, ?timeout: seconds?) -> Enumerator[webhook_delivery_resource, nil]
174
+ | (String id, ?product: (String | Symbol)?, ?limit: Integer?, ?offset: Integer?, ?search: (String | Symbol)?, ?order: (String | Symbol)?, ?status: (String | Symbol)?, ?timeout: seconds?) { (webhook_delivery_resource) -> void } -> nil
175
+ def get_delivery: (String id, String delivery_id, ?timeout: seconds?) -> webhook_delivery_detail_resource
176
+ def redeliver: (String id, String delivery_id, ?timeout: seconds?) -> redelivered_webhook_resource
177
+ end
178
+ end
179
+
180
+ class Client
181
+ attr_reader me: Resources::Me
182
+ attr_reader workspace: Resources::Workspace
183
+ attr_reader workspaces: Resources::Workspaces
184
+ attr_reader products: Resources::Products
185
+ attr_reader projects: Resources::Projects
186
+ attr_reader environments: Resources::Environments
187
+ attr_reader variables: Resources::Variables
188
+ attr_reader versions: Resources::Versions
189
+ attr_reader members: Resources::Members
190
+ attr_reader invites: Resources::Invites
191
+ attr_reader roles: Resources::Roles
192
+ attr_reader keys: Resources::Keys
193
+ attr_reader webhooks: Resources::Webhooks
194
+ end
195
+
196
+ def self.me: () -> Resources::Me
197
+ def self.workspace: () -> Resources::Workspace
198
+ def self.workspaces: () -> Resources::Workspaces
199
+ def self.products: () -> Resources::Products
200
+ def self.projects: () -> Resources::Projects
201
+ def self.environments: () -> Resources::Environments
202
+ def self.variables: () -> Resources::Variables
203
+ def self.versions: () -> Resources::Versions
204
+ def self.members: () -> Resources::Members
205
+ def self.invites: () -> Resources::Invites
206
+ def self.roles: () -> Resources::Roles
207
+ def self.keys: () -> Resources::Keys
208
+ def self.webhooks: () -> Resources::Webhooks
209
+ end
@@ -0,0 +1,466 @@
1
+ module Envless
2
+ type actor_key_reference = { id: String?, name: String?, prefix: String? }
3
+
4
+ type actor_reference = { id: String?, name: String?, email: String?, key: actor_key_reference? }
5
+
6
+ type apply_baseline_entry = { uniqueId: String, name: String, updatedAt: String }
7
+
8
+ type apply_changes = {
9
+ baseline: Array[apply_baseline_entry],
10
+ ?creates: Array[variable_input],
11
+ ?updates: Array[apply_update_entry],
12
+ ?deletes: Array[{ uniqueId: String }]
13
+ }
14
+
15
+ type apply_result = { added: Integer, updated: Integer, removed: Integer }
16
+
17
+ type apply_update_entry = { uniqueId: String, value: String }
18
+
19
+ type created_key_resource = {
20
+ id: String,
21
+ name: String,
22
+ prefix: String?,
23
+ scopes: Hash[Symbol | String, String],
24
+ projectIds: Array[String],
25
+ active: bool,
26
+ lastUsedAt: String?,
27
+ keyRolls: Integer,
28
+ createdAt: String,
29
+ lastRolledAt: String?,
30
+ secret: String
31
+ }
32
+
33
+ type created_variables_resource = {
34
+ created: Array[{ id: String, name: String }],
35
+ skipped: Array[{ name: String, reason: String }],
36
+ count: Integer
37
+ }
38
+
39
+ type created_webhook_resource = {
40
+ id: String,
41
+ name: String?,
42
+ url: String,
43
+ description: String?,
44
+ eventTypes: Array[String],
45
+ enabled: bool,
46
+ secretLastFour: String?,
47
+ lastSuccessAt: String?,
48
+ lastFailureAt: String?,
49
+ createdAt: String,
50
+ updatedAt: String?,
51
+ secret: String
52
+ }
53
+
54
+ type current_workspace_resource = {
55
+ id: String,
56
+ name: String,
57
+ slug: String,
58
+ icon: String?,
59
+ createdAt: String
60
+ }
61
+
62
+ type custom_domain_record = { type: String, name: String, value: String, note: String? }
63
+
64
+ type custom_domain_resource = {
65
+ uniqueId: String,
66
+ hostname: String,
67
+ hostnameUnicode: String?,
68
+ status: String,
69
+ records: Array[custom_domain_record],
70
+ verificationErrors: Array[String],
71
+ failureReason: String?,
72
+ hint: String?,
73
+ lastCheckedAt: String?,
74
+ retryAfterSeconds: Integer?,
75
+ canReattempt: bool,
76
+ lockedByPlan: bool,
77
+ graceEndsAt: String?,
78
+ verifiedAt: String?,
79
+ createdAt: String
80
+ }
81
+
82
+ type deleted_environment_resource = {
83
+ id: String,
84
+ name: String,
85
+ slug: String,
86
+ projectId: String,
87
+ deletedVariables: Integer
88
+ }
89
+
90
+ type deleted_key_resource = { id: String, name: String }
91
+
92
+ type deleted_member_resource = { id: String }
93
+
94
+ type deleted_product_resource = {
95
+ id: String,
96
+ name: String,
97
+ slug: String,
98
+ deletedProjects: Integer,
99
+ deletedEnvironments: Integer,
100
+ deletedVariables: Integer
101
+ }
102
+
103
+ type deleted_project_resource = {
104
+ id: String,
105
+ name: String,
106
+ slug: String,
107
+ deletedEnvironments: Integer,
108
+ deletedVariables: Integer
109
+ }
110
+
111
+ type deleted_role_resource = { id: String, name: String }
112
+
113
+ type deleted_variable_resource = { id: String, name: String, environmentId: String }
114
+
115
+ type deleted_variables_resource = {
116
+ deleted: Array[{ id: String, name: String }],
117
+ count: Integer,
118
+ notFound: Array[String]
119
+ }
120
+
121
+ type deleted_webhook_resource = { id: String, deleted: bool }
122
+
123
+ type deleted_workspace_resource = { id: String, name: String, slug: String }
124
+
125
+ type encryption_parameters = {
126
+ pbkdf2Iterations: Integer,
127
+ hash: String,
128
+ aesAlgorithm: String,
129
+ kdfAlgorithm: String,
130
+ aesLength: Integer,
131
+ ivLength: Integer,
132
+ saltLength: Integer,
133
+ saltNamespace: String,
134
+ ciphertextVersionPrefix: String
135
+ }
136
+
137
+ type environment_create = { name: String, slug: String }
138
+
139
+ type environment_patch = { ?name: String, ?slug: String }
140
+
141
+ type environment_resource = {
142
+ id: String,
143
+ name: String,
144
+ slug: String,
145
+ projectId: String,
146
+ exposed: bool,
147
+ createdAt: String,
148
+ updatedAt: String?
149
+ }
150
+
151
+ type environment_summary_resource = {
152
+ id: String,
153
+ name: String,
154
+ slug: String,
155
+ projectId: String,
156
+ exposed: bool,
157
+ createdAt: String,
158
+ updatedAt: String?
159
+ }
160
+
161
+ type event_types_resource = { eventTypes: Array[String], totalCount: Integer }
162
+
163
+ type granted_product_access_resource = { id: String, user: user_summary?, granted: bool }
164
+
165
+ type identity_resource = {
166
+ user: user_summary,
167
+ workspaceId: String,
168
+ key: { id: String, name: String?, createdAt: String? }?
169
+ }
170
+
171
+ type invite_resource = {
172
+ id: String,
173
+ email: String,
174
+ status: String,
175
+ role: role_summary?,
176
+ resendCount: Integer,
177
+ lastResendAt: String?,
178
+ expiresAt: String?,
179
+ sentAt: String
180
+ }
181
+
182
+ type key_create = {
183
+ name: String,
184
+ ?scopes: Hash[Symbol | String, String],
185
+ ?projectIds: Array[String]
186
+ }
187
+
188
+ type key_patch = {
189
+ ?name: String,
190
+ ?active: bool,
191
+ ?scopes: Hash[Symbol | String, String],
192
+ ?projectIds: Array[String]
193
+ }
194
+
195
+ type key_resource = {
196
+ id: String,
197
+ name: String,
198
+ prefix: String?,
199
+ scopes: Hash[Symbol | String, String],
200
+ projectIds: Array[String],
201
+ active: bool,
202
+ lastUsedAt: String?,
203
+ keyRolls: Integer,
204
+ createdAt: String,
205
+ lastRolledAt: String?
206
+ }
207
+
208
+ type left_workspace_resource = { id: String, left: bool }
209
+
210
+ type member_invite = { email: String, roleId: String }
211
+
212
+ type member_patch = { roleId: String }
213
+
214
+ type member_resource = { id: String, role: role_summary?, user: user_summary?, createdAt: String }
215
+
216
+ type pagination_envelope = { limit: Integer, offset: Integer, totalCount: Integer, hasMore: bool }
217
+
218
+ type permission_resource = { name: String, resource: String, assignableToCustomRoles: bool }
219
+
220
+ type permissions_resource = {
221
+ permissions: Array[permission_resource],
222
+ byResource: Hash[Symbol | String, Array[String]],
223
+ systemRoles: { owner: Array[String], admin: Array[String], viewer: Array[String] }
224
+ }
225
+
226
+ type product_access_entry = { id: String, user: user_summary? }
227
+
228
+ type product_create = { name: String, ?slug: String }
229
+
230
+ type product_patch = { ?name: String, ?slug: String, ?isPrivate: bool }
231
+
232
+ type product_resource = {
233
+ id: String,
234
+ name: String,
235
+ slug: String,
236
+ icon: String?,
237
+ isPrivate: bool,
238
+ ?locked: bool,
239
+ createdAt: String,
240
+ updatedAt: String?
241
+ }
242
+
243
+ type project_create = { name: String, slug: String, ?product: String }
244
+
245
+ type project_patch = { ?name: String, ?slug: String }
246
+
247
+ type project_resource = {
248
+ id: String,
249
+ name: String,
250
+ slug: String,
251
+ icon: String?,
252
+ product: { id: String, slug: String?, name: String? }?,
253
+ createdAt: String,
254
+ updatedAt: String?
255
+ }
256
+
257
+ type redelivered_webhook_resource = {
258
+ id: String,
259
+ webhookId: String,
260
+ sourceDeliveryId: String,
261
+ status: String
262
+ }
263
+
264
+ type reencrypted_entries_resource = { updated: Integer }
265
+
266
+ type reencrypt_entry_input = { id: String, value: String, ?defaultValue: String? }
267
+
268
+ type removed_domain_resource = { removed: bool }
269
+
270
+ type revoked_invite_resource = { id: String, email: String }
271
+
272
+ type revoked_product_access_resource = { id: String, revoked: bool }
273
+
274
+ type role_create = { name: String, ?description: String?, permissions: Array[String] }
275
+
276
+ type role_patch = { ?name: String, ?description: String?, ?permissions: Array[String] }
277
+
278
+ type role_resource = {
279
+ id: String,
280
+ name: String,
281
+ description: String?,
282
+ isSystem: bool,
283
+ systemKey: String?,
284
+ permissions: Array[String],
285
+ createdAt: String,
286
+ updatedAt: String?
287
+ }
288
+
289
+ type role_summary = { id: String, name: String, isSystem: bool }
290
+
291
+ type rolled_back_version_resource = {
292
+ versionLabel: String,
293
+ added: Integer,
294
+ updated: Integer,
295
+ removed: Integer
296
+ }
297
+
298
+ type rotated_secret_resource = {
299
+ id: String,
300
+ secret: String,
301
+ secretLastFour: String?,
302
+ secretRolledAt: String
303
+ }
304
+
305
+ type updated_workspace_resource = {
306
+ id: String,
307
+ name: String,
308
+ slug: String,
309
+ icon: String?,
310
+ virtualEnvsEnabled: bool
311
+ }
312
+
313
+ type user_summary = { id: String, name: String, email: String, avatar: String? }
314
+
315
+ type variable_history_event = {
316
+ id: String,
317
+ type: String,
318
+ metadata: Hash[Symbol | String, untyped]?,
319
+ actor: actor_reference?,
320
+ createdAt: String
321
+ }
322
+
323
+ type variable_input = {
324
+ name: String,
325
+ value: String,
326
+ ?type: String,
327
+ ?visibility: String,
328
+ ?required: bool,
329
+ ?defaultValue: String?
330
+ }
331
+
332
+ type variable_patch = {
333
+ ?name: String,
334
+ ?value: String,
335
+ ?type: String,
336
+ ?visibility: String,
337
+ ?required: bool,
338
+ ?defaultValue: String?
339
+ }
340
+
341
+ type variable_resource = {
342
+ id: String,
343
+ name: String,
344
+ value: String?,
345
+ type: String,
346
+ visibility: String,
347
+ required: bool,
348
+ defaultValue: String?,
349
+ environmentId: String,
350
+ createdAt: String,
351
+ updatedAt: String?
352
+ }
353
+
354
+ type version_create = { ?note: String }
355
+
356
+ type version_detail_resource = {
357
+ id: String,
358
+ label: String,
359
+ note: String?,
360
+ variableCount: Integer,
361
+ environmentId: String,
362
+ createdAt: String,
363
+ ?createdBy: actor_reference?,
364
+ variables: Array[{ name: String, value: String? }]
365
+ }
366
+
367
+ type version_entry_resource = { id: String, value: String?, defaultValue: String? }
368
+
369
+ type version_resource = {
370
+ id: String,
371
+ label: String,
372
+ note: String?,
373
+ variableCount: Integer,
374
+ environmentId: String,
375
+ createdAt: String,
376
+ ?createdBy: actor_reference?
377
+ }
378
+
379
+ type webhook_create = {
380
+ name: String,
381
+ url: String,
382
+ eventTypes: Array[String],
383
+ ?description: String
384
+ }
385
+
386
+ type webhook_delivery_detail_resource = {
387
+ id: String,
388
+ webhookId: String,
389
+ eventId: String,
390
+ eventType: String,
391
+ status: String,
392
+ attempts: Integer,
393
+ responseStatus: Integer?,
394
+ error: String?,
395
+ lastAttemptAt: String?,
396
+ nextAttemptAt: String?,
397
+ succeededAt: String?,
398
+ failedAt: String?,
399
+ createdAt: String,
400
+ responseBody: String?
401
+ }
402
+
403
+ type webhook_delivery_resource = {
404
+ id: String,
405
+ webhookId: String,
406
+ eventId: String,
407
+ eventType: String,
408
+ status: String,
409
+ attempts: Integer,
410
+ responseStatus: Integer?,
411
+ error: String?,
412
+ lastAttemptAt: String?,
413
+ nextAttemptAt: String?,
414
+ succeededAt: String?,
415
+ failedAt: String?,
416
+ createdAt: String
417
+ }
418
+
419
+ type webhook_event[T] = {
420
+ id: String,
421
+ type: String,
422
+ apiVersion: String,
423
+ createdAt: String,
424
+ workspaceId: String,
425
+ actor: { userId: String?, name: String?, email: String?, key: actor_key_reference? },
426
+ data: T
427
+ }
428
+
429
+ type webhook_patch = {
430
+ ?url: String,
431
+ ?eventTypes: Array[String],
432
+ ?name: String,
433
+ ?description: String?,
434
+ ?enabled: bool
435
+ }
436
+
437
+ type webhook_resource = {
438
+ id: String,
439
+ name: String?,
440
+ url: String,
441
+ description: String?,
442
+ eventTypes: Array[String],
443
+ enabled: bool,
444
+ secretLastFour: String?,
445
+ lastSuccessAt: String?,
446
+ lastFailureAt: String?,
447
+ createdAt: String,
448
+ updatedAt: String?
449
+ }
450
+
451
+ type workspace_create = { name: String, ?slug: String }
452
+
453
+ type workspace_patch = { ?name: String, ?slug: String, ?virtualEnvsEnabled: bool }
454
+
455
+ type workspace_resource = {
456
+ id: String,
457
+ name: String,
458
+ slug: String,
459
+ icon: String?,
460
+ plan: String,
461
+ virtualEnvsEnabled: bool,
462
+ customDomain: String?,
463
+ current: bool,
464
+ createdAt: String
465
+ }
466
+ end
data/sig/manifest.yaml ADDED
@@ -0,0 +1,3 @@
1
+ dependencies:
2
+ - name: net-http
3
+ - name: uri