bella_baxter 0.1.1.pre.preview.36 → 0.1.1.pre.preview.37

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 (47) hide show
  1. checksums.yaml +4 -4
  2. data/lib/bella_baxter/client.rb +5 -2
  3. data/lib/bella_baxter/e2ee.rb +18 -0
  4. data/lib/bella_baxter/e2ee_faraday_middleware.rb +17 -3
  5. data/lib/bella_baxter/generated/api/v1/me/api_keys/api_keys.rb +0 -0
  6. data/lib/bella_baxter/generated/api/v1/me/api_keys/api_keys_request_builder.rb +116 -0
  7. data/lib/bella_baxter/generated/api/v1/me/api_keys/item/api_keys_item_request_builder.rb +72 -0
  8. data/lib/bella_baxter/generated/api/v1/me/api_keys/item/item.rb +0 -0
  9. data/lib/bella_baxter/generated/api/v1/me/me.rb +0 -0
  10. data/lib/bella_baxter/generated/api/v1/me/me_request_builder.rb +34 -0
  11. data/lib/bella_baxter/generated/api/v1/projects/item/encryption_key/encryption_key.rb +0 -0
  12. data/lib/bella_baxter/generated/api/v1/projects/item/encryption_key/encryption_key_request_builder.rb +40 -0
  13. data/lib/bella_baxter/generated/api/v1/projects/item/encryption_key/rotate/rotate.rb +0 -0
  14. data/lib/bella_baxter/generated/api/v1/projects/item/encryption_key/rotate/rotate_request_builder.rb +75 -0
  15. data/lib/bella_baxter/generated/api/v1/projects/item/item_request_builder.rb +6 -0
  16. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/emergency_kit/emergency_kit.rb +0 -0
  17. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/emergency_kit/emergency_kit_request_builder.rb +75 -0
  18. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/encryption_key.rb +0 -0
  19. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/encryption_key_request_builder.rb +131 -0
  20. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/migrate/migrate.rb +0 -0
  21. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/migrate/migrate_request_builder.rb +75 -0
  22. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/recover/recover.rb +0 -0
  23. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/recover/recover_request_builder.rb +81 -0
  24. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/recovery_challenge/recovery_challenge.rb +0 -0
  25. data/lib/bella_baxter/generated/api/v1/tenants/me/encryption_key/recovery_challenge/recovery_challenge_request_builder.rb +75 -0
  26. data/lib/bella_baxter/generated/api/v1/tenants/me/me_request_builder.rb +12 -0
  27. data/lib/bella_baxter/generated/api/v1/tenants/me/zke/enforce/enforce.rb +0 -0
  28. data/lib/bella_baxter/generated/api/v1/tenants/me/zke/enforce/enforce_request_builder.rb +81 -0
  29. data/lib/bella_baxter/generated/api/v1/tenants/me/zke/zke.rb +0 -0
  30. data/lib/bella_baxter/generated/api/v1/tenants/me/zke/zke_request_builder.rb +40 -0
  31. data/lib/bella_baxter/generated/api/v1/v1_request_builder.rb +6 -0
  32. data/lib/bella_baxter/generated/models/create_api_key_request.rb +20 -0
  33. data/lib/bella_baxter/generated/models/create_personal_api_key_request.rb +122 -0
  34. data/lib/bella_baxter/generated/models/migrate_tenant_encryption_response.rb +182 -0
  35. data/lib/bella_baxter/generated/models/models.rb +11 -0
  36. data/lib/bella_baxter/generated/models/recover_encryption_key_request.rb +102 -0
  37. data/lib/bella_baxter/generated/models/recover_encryption_key_response.rb +102 -0
  38. data/lib/bella_baxter/generated/models/recovery_challenge_response.rb +123 -0
  39. data/lib/bella_baxter/generated/models/register_tenant_encryption_key_request.rb +122 -0
  40. data/lib/bella_baxter/generated/models/register_tenant_encryption_key_response.rb +122 -0
  41. data/lib/bella_baxter/generated/models/rotate_project_dek_response.rb +122 -0
  42. data/lib/bella_baxter/generated/models/tenant_encryption_key_status_response.rb +163 -0
  43. data/lib/bella_baxter/generated/models/toggle_zke_enforcement_request.rb +82 -0
  44. data/lib/bella_baxter/generated/models/toggle_zke_enforcement_response.rb +102 -0
  45. data/lib/bella_baxter/version.rb +1 -1
  46. data/lib/bella_baxter.rb +1 -1
  47. metadata +36 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7d72c1c3327f02d6ffc17bce5b45598bab576cde0c00ccbdd4e4d4c64c718ebe
4
- data.tar.gz: 34b6032cad242bccb660bfb37883aba0bddcf4f4fdea590b200ec91b190c5931
3
+ metadata.gz: 521d464a5b26310db37bb33002edda860d8afe37d36a770aae7087b8edac245e
4
+ data.tar.gz: c6625ec5b8091fe77028ea37a8b9848081b8efb753973ccf43f1a56bcc35055d
5
5
  SHA512:
6
- metadata.gz: d4a4bde19cef90cf0a5a18b82d6c173d169e0e0a626ba351598c56bc517fe64e3ae09ecfcf7715a3b86195742fc5eafd5b3719dbb1eb089d2eab58775722c690
7
- data.tar.gz: 4c23e4ff25da58e41641260bf4f350ce76366378fad9578cb5219fe956625ef6be492f5d560729ab7a5dd62827f00769d579f37e02376461d4c141b069371ebd
6
+ metadata.gz: c55bb42ebaaca3644eb750a64224cb9b1e801a412020cb8a014838592b392cebfa13df52275ba21f8d8822cbfbc5f1332613e66395b8fae4aaf3c75db653f006
7
+ data.tar.gz: 3bfc8cdf2816b18095cd15eecf92a03007f8f39f25ec559f161a390d142bfe7f66ce29d6a46e3c67c59a1dd263ed8b3cf396b367e23bd427fd76a19c41e83c3d
@@ -47,15 +47,18 @@ module BellaBaxter
47
47
  end
48
48
 
49
49
  # @param opts [Hash, BellaBaxter::Configuration]
50
- def initialize(**opts)
50
+ def initialize(private_key: nil, on_wrapped_dek_received: nil, **opts)
51
51
  config = opts.size == 1 && opts.key?(:config) ? opts[:config] : Configuration.new(**opts)
52
52
 
53
+ resolved_private_key = private_key || ENV["BELLA_BAXTER_PRIVATE_KEY"]
54
+ key_pair = resolved_private_key ? E2EE::KeyPair.from_pem(resolved_private_key) : nil
55
+
53
56
  auth = HmacAuthProvider.new(config.api_key)
54
57
 
55
58
  @conn = Faraday.new(url: config.baxter_url.chomp("/")) do |f|
56
59
  f.headers["User-Agent"] = "bella-ruby-sdk/1.0"
57
60
  f.headers["X-Bella-Client"] = "bella-ruby-sdk"
58
- f.use E2EEFaradayMiddleware
61
+ f.use E2EEFaradayMiddleware, key_pair: key_pair, on_wrapped_dek_received: on_wrapped_dek_received
59
62
  f.adapter :net_http
60
63
  end
61
64
 
@@ -25,6 +25,18 @@ module BellaBaxter
25
25
  @public_key_b64 = Base64.strict_encode64(@ec.public_to_der)
26
26
  end
27
27
 
28
+ # Create a KeyPair from a PKCS#8 PEM private key (ZKE persistent device key).
29
+ # Use this instead of KeyPair.new for ZKE mode.
30
+ # Obtain a key with: bella auth setup
31
+ def self.from_pem(pem)
32
+ private_key = OpenSSL::PKey::EC.new(pem)
33
+ public_key_b64 = Base64.strict_encode64(private_key.public_to_der)
34
+
35
+ instance = allocate
36
+ instance.send(:initialize_from_key, private_key, public_key_b64)
37
+ instance
38
+ end
39
+
28
40
  # Decrypt a response payload.
29
41
  #
30
42
  # @param payload [Hash] Parsed JSON with keys:
@@ -114,6 +126,12 @@ module BellaBaxter
114
126
 
115
127
  private
116
128
 
129
+ # Shared setup used by from_pem — sets the same instance variables as initialize.
130
+ def initialize_from_key(ec_key, public_key_b64)
131
+ @ec = ec_key
132
+ @public_key_b64 = public_key_b64
133
+ end
134
+
117
135
  # HKDF (RFC 5869) using HMAC-SHA256. Salt is 32 zero bytes (matches server).
118
136
  def hkdf_sha256(ikm, length)
119
137
  salt = "\x00" * 32
@@ -9,9 +9,10 @@ module BellaBaxter
9
9
  # On outbound: adds X-E2E-Public-Key header so the server encrypts the response.
10
10
  # On inbound: decrypts the encrypted payload and reconstructs a normal secrets response.
11
11
  class E2EEFaradayMiddleware < Faraday::Middleware
12
- def initialize(app)
13
- super
14
- @e2ee = E2EE::KeyPair.new
12
+ def initialize(app, key_pair: nil, on_wrapped_dek_received: nil)
13
+ super(app)
14
+ @e2ee = key_pair || E2EE::KeyPair.new
15
+ @on_wrapped_dek_received = on_wrapped_dek_received
15
16
  end
16
17
 
17
18
  def call(env)
@@ -40,6 +41,19 @@ module BellaBaxter
40
41
  "lastModified" => ""
41
42
  )
42
43
  end
44
+
45
+ if @on_wrapped_dek_received
46
+ wrapped_dek = resp_env.response_headers["X-Bella-Wrapped-Dek"] ||
47
+ resp_env.response_headers["x-bella-wrapped-dek"]
48
+ if wrapped_dek
49
+ lease_expires = resp_env.response_headers["X-Bella-Lease-Expires"] ||
50
+ resp_env.response_headers["x-bella-lease-expires"]
51
+ path = env.url.path
52
+ project_slug = path[%r{/projects/([^/]+)}, 1] || ""
53
+ env_slug = path[%r{/environments/([^/]+)}, 1] || ""
54
+ @on_wrapped_dek_received.call(project_slug, env_slug, wrapped_dek, lease_expires)
55
+ end
56
+ end
43
57
  end
44
58
  end
45
59
  end
@@ -0,0 +1,116 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../../bella_baxter/generated'
3
+ require_relative '../../../../models/api_key_response'
4
+ require_relative '../../../../models/create_personal_api_key_request'
5
+ require_relative '../../../../models/i_result'
6
+ require_relative '../../../api'
7
+ require_relative '../../v1'
8
+ require_relative '../me'
9
+ require_relative './api_keys'
10
+ require_relative './item/api_keys_item_request_builder'
11
+
12
+ module Bella_baxter/generated
13
+ module Api
14
+ module V1
15
+ module Me
16
+ module ApiKeys
17
+ ##
18
+ # Builds and executes requests for operations under \api\v1\me\api-keys
19
+ class ApiKeysRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
20
+
21
+ ##
22
+ ## Gets an item from the bella_baxter/generated.api.v1.me.apiKeys.item collection
23
+ ## @param id Unique identifier of the item
24
+ ## @return a api_keys_item_request_builder
25
+ ##
26
+ def by_id(id)
27
+ raise StandardError, 'id cannot be null' if id.nil?
28
+ url_tpl_params = @path_parameters.clone
29
+ url_tpl_params["id"] = id
30
+ return Bella_baxter/generated::Api::V1::Me::ApiKeys::Item::ApiKeysItemRequestBuilder.new(url_tpl_params, @request_adapter)
31
+ end
32
+ ##
33
+ ## Instantiates a new ApiKeysRequestBuilder and sets the default values.
34
+ ## @param path_parameters Path parameters for the request
35
+ ## @param request_adapter The request adapter to use to execute the requests.
36
+ ## @return a void
37
+ ##
38
+ def initialize(path_parameters, request_adapter)
39
+ super(path_parameters, request_adapter, "{+baseurl}/api/v1/me/api-keys")
40
+ end
41
+ ##
42
+ ## GET_api_v1_me_api_keys
43
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
44
+ ## @return a Fiber of api_key_response
45
+ ##
46
+ def get(request_configuration=nil)
47
+ request_info = self.to_get_request_information(
48
+ request_configuration
49
+ )
50
+ return @request_adapter.send_async(request_info, lambda {|pn| Bella_baxter/generated::Models::ApiKeyResponse.create_from_discriminator_value(pn) }, nil)
51
+ end
52
+ ##
53
+ ## POST_api_v1_me_api_keys
54
+ ## @param body The request body
55
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
56
+ ## @return a Fiber of i_result
57
+ ##
58
+ def post(body, request_configuration=nil)
59
+ raise StandardError, 'body cannot be null' if body.nil?
60
+ request_info = self.to_post_request_information(
61
+ body, request_configuration
62
+ )
63
+ return @request_adapter.send_async(request_info, lambda {|pn| Bella_baxter/generated::Models::IResult.create_from_discriminator_value(pn) }, nil)
64
+ end
65
+ ##
66
+ ## GET_api_v1_me_api_keys
67
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
68
+ ## @return a request_information
69
+ ##
70
+ def to_get_request_information(request_configuration=nil)
71
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
72
+ unless request_configuration.nil?
73
+ request_info.add_headers_from_raw_object(request_configuration.headers)
74
+ request_info.add_request_options(request_configuration.options)
75
+ end
76
+ request_info.url_template = @url_template
77
+ request_info.path_parameters = @path_parameters
78
+ request_info.http_method = :GET
79
+ request_info.headers.try_add('Accept', 'application/json')
80
+ return request_info
81
+ end
82
+ ##
83
+ ## POST_api_v1_me_api_keys
84
+ ## @param body The request body
85
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
86
+ ## @return a request_information
87
+ ##
88
+ def to_post_request_information(body, request_configuration=nil)
89
+ raise StandardError, 'body cannot be null' if body.nil?
90
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
91
+ unless request_configuration.nil?
92
+ request_info.add_headers_from_raw_object(request_configuration.headers)
93
+ request_info.add_request_options(request_configuration.options)
94
+ end
95
+ request_info.set_content_from_parsable(@request_adapter, 'application/json', body)
96
+ request_info.url_template = @url_template
97
+ request_info.path_parameters = @path_parameters
98
+ request_info.http_method = :POST
99
+ request_info.headers.try_add('Accept', 'application/json')
100
+ return request_info
101
+ end
102
+ ##
103
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
104
+ ## @param raw_url The raw URL to use for the request builder.
105
+ ## @return a api_keys_request_builder
106
+ ##
107
+ def with_url(raw_url)
108
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
109
+ return ApiKeysRequestBuilder.new(raw_url, @request_adapter)
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,72 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../../../bella_baxter/generated'
3
+ require_relative '../../../../../models/i_result'
4
+ require_relative '../../../../api'
5
+ require_relative '../../../v1'
6
+ require_relative '../../me'
7
+ require_relative '../api_keys'
8
+ require_relative './item'
9
+
10
+ module Bella_baxter/generated
11
+ module Api
12
+ module V1
13
+ module Me
14
+ module ApiKeys
15
+ module Item
16
+ ##
17
+ # Builds and executes requests for operations under \api\v1\me\api-keys\{id}
18
+ class ApiKeysItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
19
+
20
+ ##
21
+ ## Instantiates a new ApiKeysItemRequestBuilder and sets the default values.
22
+ ## @param path_parameters Path parameters for the request
23
+ ## @param request_adapter The request adapter to use to execute the requests.
24
+ ## @return a void
25
+ ##
26
+ def initialize(path_parameters, request_adapter)
27
+ super(path_parameters, request_adapter, "{+baseurl}/api/v1/me/api-keys/{id}")
28
+ end
29
+ ##
30
+ ## DELETE_api_v1_me_api_keys_id
31
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
32
+ ## @return a Fiber of i_result
33
+ ##
34
+ def delete(request_configuration=nil)
35
+ request_info = self.to_delete_request_information(
36
+ request_configuration
37
+ )
38
+ return @request_adapter.send_async(request_info, lambda {|pn| Bella_baxter/generated::Models::IResult.create_from_discriminator_value(pn) }, nil)
39
+ end
40
+ ##
41
+ ## DELETE_api_v1_me_api_keys_id
42
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
43
+ ## @return a request_information
44
+ ##
45
+ def to_delete_request_information(request_configuration=nil)
46
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
47
+ unless request_configuration.nil?
48
+ request_info.add_headers_from_raw_object(request_configuration.headers)
49
+ request_info.add_request_options(request_configuration.options)
50
+ end
51
+ request_info.url_template = @url_template
52
+ request_info.path_parameters = @path_parameters
53
+ request_info.http_method = :DELETE
54
+ request_info.headers.try_add('Accept', 'application/json')
55
+ return request_info
56
+ end
57
+ ##
58
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
59
+ ## @param raw_url The raw URL to use for the request builder.
60
+ ## @return a api_keys_item_request_builder
61
+ ##
62
+ def with_url(raw_url)
63
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
64
+ return ApiKeysItemRequestBuilder.new(raw_url, @request_adapter)
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
File without changes
@@ -0,0 +1,34 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../bella_baxter/generated'
3
+ require_relative '../../api'
4
+ require_relative '../v1'
5
+ require_relative './api_keys/api_keys_request_builder'
6
+ require_relative './me'
7
+
8
+ module Bella_baxter/generated
9
+ module Api
10
+ module V1
11
+ module Me
12
+ ##
13
+ # Builds and executes requests for operations under \api\v1\me
14
+ class MeRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
15
+
16
+ ##
17
+ # The apiKeys property
18
+ def api_keys()
19
+ return Bella_baxter/generated::Api::V1::Me::ApiKeys::ApiKeysRequestBuilder.new(@path_parameters, @request_adapter)
20
+ end
21
+ ##
22
+ ## Instantiates a new MeRequestBuilder and sets the default values.
23
+ ## @param path_parameters Path parameters for the request
24
+ ## @param request_adapter The request adapter to use to execute the requests.
25
+ ## @return a void
26
+ ##
27
+ def initialize(path_parameters, request_adapter)
28
+ super(path_parameters, request_adapter, "{+baseurl}/api/v1/me")
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,40 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../../../bella_baxter/generated'
3
+ require_relative '../../../../api'
4
+ require_relative '../../../v1'
5
+ require_relative '../../projects'
6
+ require_relative '../item'
7
+ require_relative './encryption_key'
8
+ require_relative './rotate/rotate_request_builder'
9
+
10
+ module Bella_baxter/generated
11
+ module Api
12
+ module V1
13
+ module Projects
14
+ module Item
15
+ module EncryptionKey
16
+ ##
17
+ # Builds and executes requests for operations under \api\v1\projects\{-id}\encryption-key
18
+ class EncryptionKeyRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
19
+
20
+ ##
21
+ # The rotate property
22
+ def rotate()
23
+ return Bella_baxter/generated::Api::V1::Projects::Item::EncryptionKey::Rotate::RotateRequestBuilder.new(@path_parameters, @request_adapter)
24
+ end
25
+ ##
26
+ ## Instantiates a new EncryptionKeyRequestBuilder and sets the default values.
27
+ ## @param path_parameters Path parameters for the request
28
+ ## @param request_adapter The request adapter to use to execute the requests.
29
+ ## @return a void
30
+ ##
31
+ def initialize(path_parameters, request_adapter)
32
+ super(path_parameters, request_adapter, "{+baseurl}/api/v1/projects/{%2Did}/encryption-key")
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,75 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../../../../bella_baxter/generated'
3
+ require_relative '../../../../../../models/rotate_project_dek_response'
4
+ require_relative '../../../../../api'
5
+ require_relative '../../../../v1'
6
+ require_relative '../../../projects'
7
+ require_relative '../../item'
8
+ require_relative '../encryption_key'
9
+ require_relative './rotate'
10
+
11
+ module Bella_baxter/generated
12
+ module Api
13
+ module V1
14
+ module Projects
15
+ module Item
16
+ module EncryptionKey
17
+ module Rotate
18
+ ##
19
+ # Builds and executes requests for operations under \api\v1\projects\{-id}\encryption-key\rotate
20
+ class RotateRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
21
+
22
+ ##
23
+ ## Instantiates a new RotateRequestBuilder and sets the default values.
24
+ ## @param path_parameters Path parameters for the request
25
+ ## @param request_adapter The request adapter to use to execute the requests.
26
+ ## @return a void
27
+ ##
28
+ def initialize(path_parameters, request_adapter)
29
+ super(path_parameters, request_adapter, "{+baseurl}/api/v1/projects/{%2Did}/encryption-key/rotate")
30
+ end
31
+ ##
32
+ ## POST_api_v1_projects_id_encryption_key_rotate
33
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
34
+ ## @return a Fiber of rotate_project_dek_response
35
+ ##
36
+ def post(request_configuration=nil)
37
+ request_info = self.to_post_request_information(
38
+ request_configuration
39
+ )
40
+ return @request_adapter.send_async(request_info, lambda {|pn| Bella_baxter/generated::Models::RotateProjectDekResponse.create_from_discriminator_value(pn) }, nil)
41
+ end
42
+ ##
43
+ ## POST_api_v1_projects_id_encryption_key_rotate
44
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
45
+ ## @return a request_information
46
+ ##
47
+ def to_post_request_information(request_configuration=nil)
48
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
49
+ unless request_configuration.nil?
50
+ request_info.add_headers_from_raw_object(request_configuration.headers)
51
+ request_info.add_request_options(request_configuration.options)
52
+ end
53
+ request_info.url_template = @url_template
54
+ request_info.path_parameters = @path_parameters
55
+ request_info.http_method = :POST
56
+ request_info.headers.try_add('Accept', 'application/json')
57
+ return request_info
58
+ end
59
+ ##
60
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
61
+ ## @param raw_url The raw URL to use for the request builder.
62
+ ## @return a rotate_request_builder
63
+ ##
64
+ def with_url(raw_url)
65
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
66
+ return RotateRequestBuilder.new(raw_url, @request_adapter)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -6,6 +6,7 @@ require_relative '../../../../models/update_project_request'
6
6
  require_relative '../../../api'
7
7
  require_relative '../../v1'
8
8
  require_relative '../projects'
9
+ require_relative './encryption_key/encryption_key_request_builder'
9
10
  require_relative './environments/environments_request_builder'
10
11
  require_relative './export/export_request_builder'
11
12
  require_relative './global_secret_provider/global_secret_provider_request_builder'
@@ -28,6 +29,11 @@ module Bella_baxter/generated
28
29
  # Builds and executes requests for operations under \api\v1\projects\{-id}
29
30
  class ItemRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
30
31
 
32
+ ##
33
+ # The encryptionKey property
34
+ def encryption_key()
35
+ return Bella_baxter/generated::Api::V1::Projects::Item::EncryptionKey::EncryptionKeyRequestBuilder.new(@path_parameters, @request_adapter)
36
+ end
31
37
  ##
32
38
  # The environments property
33
39
  def environments()
@@ -0,0 +1,75 @@
1
+ require 'microsoft_kiota_abstractions'
2
+ require_relative '../../../../../../bella_baxter/generated'
3
+ require_relative '../../../../../../models/i_result'
4
+ require_relative '../../../../../api'
5
+ require_relative '../../../../v1'
6
+ require_relative '../../../tenants'
7
+ require_relative '../../me'
8
+ require_relative '../encryption_key'
9
+ require_relative './emergency_kit'
10
+
11
+ module Bella_baxter/generated
12
+ module Api
13
+ module V1
14
+ module Tenants
15
+ module Me
16
+ module EncryptionKey
17
+ module EmergencyKit
18
+ ##
19
+ # Builds and executes requests for operations under \api\v1\tenants\me\encryption-key\emergency-kit
20
+ class EmergencyKitRequestBuilder < MicrosoftKiotaAbstractions::BaseRequestBuilder
21
+
22
+ ##
23
+ ## Instantiates a new EmergencyKitRequestBuilder and sets the default values.
24
+ ## @param path_parameters Path parameters for the request
25
+ ## @param request_adapter The request adapter to use to execute the requests.
26
+ ## @return a void
27
+ ##
28
+ def initialize(path_parameters, request_adapter)
29
+ super(path_parameters, request_adapter, "{+baseurl}/api/v1/tenants/me/encryption-key/emergency-kit")
30
+ end
31
+ ##
32
+ ## GET_api_v1_tenants_me_encryption_key_emergency_kit
33
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
34
+ ## @return a Fiber of i_result
35
+ ##
36
+ def get(request_configuration=nil)
37
+ request_info = self.to_get_request_information(
38
+ request_configuration
39
+ )
40
+ return @request_adapter.send_async(request_info, lambda {|pn| Bella_baxter/generated::Models::IResult.create_from_discriminator_value(pn) }, nil)
41
+ end
42
+ ##
43
+ ## GET_api_v1_tenants_me_encryption_key_emergency_kit
44
+ ## @param request_configuration Configuration for the request such as headers, query parameters, and middleware options.
45
+ ## @return a request_information
46
+ ##
47
+ def to_get_request_information(request_configuration=nil)
48
+ request_info = MicrosoftKiotaAbstractions::RequestInformation.new()
49
+ unless request_configuration.nil?
50
+ request_info.add_headers_from_raw_object(request_configuration.headers)
51
+ request_info.add_request_options(request_configuration.options)
52
+ end
53
+ request_info.url_template = @url_template
54
+ request_info.path_parameters = @path_parameters
55
+ request_info.http_method = :GET
56
+ request_info.headers.try_add('Accept', 'application/json')
57
+ return request_info
58
+ end
59
+ ##
60
+ ## Returns a request builder with the provided arbitrary URL. Using this method means any other path or query parameters are ignored.
61
+ ## @param raw_url The raw URL to use for the request builder.
62
+ ## @return a emergency_kit_request_builder
63
+ ##
64
+ def with_url(raw_url)
65
+ raise StandardError, 'raw_url cannot be null' if raw_url.nil?
66
+ return EmergencyKitRequestBuilder.new(raw_url, @request_adapter)
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end