cloudinary-account-provisioning 0.1.0 → 0.2.0

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cld_provisioning/custompolicies.rb +4 -4
  3. data/lib/cld_provisioning/models/operations/createcustompolicy_request.rb +5 -5
  4. data/lib/cld_provisioning/models/operations/createcustompolicy_request.rbi +2 -2
  5. data/lib/cld_provisioning/models/operations/createuser_requestbody.rb +14 -3
  6. data/lib/cld_provisioning/models/operations/createuser_requestbody.rbi +6 -0
  7. data/lib/cld_provisioning/models/operations/role.rb +3 -1
  8. data/lib/cld_provisioning/models/operations/updaterole_request.rb +7 -5
  9. data/lib/cld_provisioning/models/operations/updaterole_request.rbi +2 -2
  10. data/lib/cld_provisioning/models/operations/updateuser_request.rb +10 -5
  11. data/lib/cld_provisioning/models/operations/updateuser_request.rbi +2 -2
  12. data/lib/cld_provisioning/models/{shared/userrequest.rb → operations/updateuser_requestbody.rb} +21 -10
  13. data/lib/cld_provisioning/models/{shared/userrequest.rbi → operations/updateuser_requestbody.rbi} +8 -2
  14. data/lib/cld_provisioning/models/{shared/userrequest_role.rb → operations/updateuser_role.rb} +6 -4
  15. data/lib/cld_provisioning/models/operations/updateuser_role.rbi +9 -0
  16. data/lib/cld_provisioning/models/operations.rb +2 -0
  17. data/lib/cld_provisioning/models/shared/{custompolicy.rb → createcustompolicy.rb} +2 -2
  18. data/lib/cld_provisioning/models/shared/{custompolicy.rbi → createcustompolicy.rbi} +2 -2
  19. data/lib/cld_provisioning/models/shared/inspectrequest.rb +2 -2
  20. data/lib/cld_provisioning/models/shared/operation.rb +19 -0
  21. data/lib/cld_provisioning/models/shared/{details.rbi → operation.rbi} +2 -2
  22. data/lib/cld_provisioning/models/shared/permissionserror.rb +2 -2
  23. data/lib/cld_provisioning/models/shared/policy_parameters.rb +20 -5
  24. data/lib/cld_provisioning/models/shared/policy_parameters.rbi +11 -0
  25. data/lib/cld_provisioning/models/shared/principalresponsedata.rb +2 -2
  26. data/lib/cld_provisioning/models/shared/principalrolesdata.rb +2 -2
  27. data/lib/cld_provisioning/models/shared/roleassignment.rb +69 -0
  28. data/lib/cld_provisioning/models/shared/roleassignment.rbi +32 -0
  29. data/lib/cld_provisioning/models/shared/rolemanagementrequest.rb +50 -0
  30. data/lib/cld_provisioning/models/shared/rolemanagementrequest.rbi +20 -0
  31. data/lib/cld_provisioning/models/shared/roletomanage.rb +2 -6
  32. data/lib/cld_provisioning/models/shared/{role.rb → updaterole.rb} +2 -2
  33. data/lib/cld_provisioning/models/shared/{role.rbi → updaterole.rbi} +2 -2
  34. data/lib/cld_provisioning/models/shared/updateroleprincipal.rb +2 -2
  35. data/lib/cld_provisioning/models/shared.rb +5 -15
  36. data/lib/cld_provisioning/roles.rb +4 -4
  37. data/lib/cld_provisioning/sdkconfiguration.rb +4 -4
  38. data/lib/cld_provisioning/users.rb +4 -4
  39. data/lib/cld_provisioning/utils/retries.rb +43 -1
  40. data/lib/cld_provisioning/utils/utils.rb +6 -2
  41. data/lib/cloudinary-account-provisioning.rb +7 -0
  42. metadata +29 -24
  43. data/lib/cld_provisioning/models/shared/details.rb +0 -26
  44. data/lib/cld_provisioning/models/shared/inspectrequest_policy_parameters.rb +0 -26
  45. data/lib/cld_provisioning/models/shared/inspectrequest_policy_parameters.rbi +0 -9
  46. data/lib/cld_provisioning/models/shared/principalresponsedata_policy_parameters.rb +0 -26
  47. data/lib/cld_provisioning/models/shared/principalresponsedata_policy_parameters.rbi +0 -9
  48. data/lib/cld_provisioning/models/shared/roletomanage_policy_parameters.rb +0 -26
  49. data/lib/cld_provisioning/models/shared/roletomanage_policy_parameters.rbi +0 -9
  50. data/lib/cld_provisioning/models/shared/updateroleprincipal_policy_parameters.rb +0 -26
  51. data/lib/cld_provisioning/models/shared/updateroleprincipal_policy_parameters.rbi +0 -9
  52. data/lib/cld_provisioning/models/shared/userrequest_role.rbi +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ac8222a733fd48cdf19362cf8552b9752bcde4940c8b1df0f1b841aeb12a2676
4
- data.tar.gz: 9a233e296d82ce08844d733ab672adef98a91ba3bf0b93db3e2119386ebf15e5
3
+ metadata.gz: 8e55c05aefa039755b61f0eb4e458eb14b14349ddc90310d3673c03bb9915e03
4
+ data.tar.gz: 627eb207d01da7e7d4176ccf63012c3add280ac734fd82b1f0988f5ebe0f78e4
5
5
  SHA512:
6
- metadata.gz: e96b7f0a775a6fdeec2230b0f76c1a1131da0e645bab2357313d7465a92717740dc4368cf239bce81c919391e145a7fb440f6fbb402cfd9ede0d313eab16187f
7
- data.tar.gz: 78c8aa9546cb171f6e4b52017c18cd2238c66779a980ed259586ad1d4c64124d0593154ce78718fdaaff693c1f24a135ba174a9cd9cd8a292eb7a75e65bbe369
6
+ metadata.gz: 737b368d8bbfda0f5b9733b095fa69792cda7c5b295b5b51977bc81fccaedd215a918620939c36c325e38590cb314341027d2e40854aae02dd7f5a09902ed4a3
7
+ data.tar.gz: fafa2894b32a00b58411b424e5cf70aab68480285d45d8622c8bc078c6e136db005f1db9c5165e09150c04d84aa36ed91953f20459035c80091976aa9afce6fb
@@ -235,19 +235,19 @@ module CldProvisioning
235
235
 
236
236
  sig {
237
237
  params(
238
- custom_policy: Models::Shared::CustomPolicy,
238
+ create_custom_policy: Models::Shared::CreateCustomPolicy,
239
239
  account_id: T.nilable(::String),
240
240
  timeout_ms: T.nilable(Integer),
241
241
  http_headers: T.nilable(T::Hash[T.any(String, Symbol), String])
242
242
  )
243
243
  .returns(Models::Shared::CustomPolicyResponse)
244
244
  }
245
- def create(custom_policy:, account_id: nil, timeout_ms: nil, http_headers: nil)
245
+ def create(create_custom_policy:, account_id: nil, timeout_ms: nil, http_headers: nil)
246
246
  # create - Create custom policy
247
247
  # Create a new custom policy with a statement defined in Cedar. This policy specifies permissions for a principal, allowing a specific action on a designated resource, within a particular scope.
248
248
  # https://cloudinary.com/documentation/permissions_api_guide#create_a_policy_statement - Learn more about creating a new custom policy
249
249
  request = Models::Operations::CreateCustomPolicyRequest.new(
250
- custom_policy: custom_policy,
250
+ create_custom_policy: create_custom_policy,
251
251
  account_id: account_id
252
252
  )
253
253
  url, params = @sdk_configuration.get_server_details
@@ -261,7 +261,7 @@ module CldProvisioning
261
261
  )
262
262
  headers = {}
263
263
  headers = T.cast(headers, T::Hash[String, String])
264
- req_content_type, data, form = Utils.serialize_request_body(request, false, false, :custom_policy, :json)
264
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :create_custom_policy, :json)
265
265
  headers["content-type"] = req_content_type
266
266
  raise StandardError, "request body is required" if data.nil? && form.nil?
267
267
 
@@ -13,7 +13,7 @@ module CldProvisioning
13
13
  include Crystalline::MetadataFields
14
14
 
15
15
  # Policy details.
16
- field :custom_policy, Models::Shared::CustomPolicy, {'request': {'media_type': "application/json"}}
16
+ field :create_custom_policy, Models::Shared::CreateCustomPolicy, {'request': {'media_type': "application/json"}}
17
17
  # Account ID
18
18
  field(
19
19
  :account_id,
@@ -21,16 +21,16 @@ module CldProvisioning
21
21
  {'path_param': {'field_name': "account_id", 'style': "simple", 'explode': false}}
22
22
  )
23
23
 
24
- sig { params(custom_policy: Models::Shared::CustomPolicy, account_id: T.nilable(::String)).void }
25
- def initialize(custom_policy:, account_id: nil)
26
- @custom_policy = custom_policy
24
+ sig { params(create_custom_policy: Models::Shared::CreateCustomPolicy, account_id: T.nilable(::String)).void }
25
+ def initialize(create_custom_policy:, account_id: nil)
26
+ @create_custom_policy = create_custom_policy
27
27
  @account_id = account_id
28
28
  end
29
29
 
30
30
  sig { params(other: T.untyped).returns(T::Boolean) }
31
31
  def ==(other)
32
32
  return false unless other.is_a?(self.class)
33
- return false unless @custom_policy == other.custom_policy
33
+ return false unless @create_custom_policy == other.create_custom_policy
34
34
  return false unless @account_id == other.account_id
35
35
  true
36
36
  end
@@ -6,10 +6,10 @@ class CldProvisioning::Models::Operations::CreateCustomPolicyRequest
6
6
  end
7
7
 
8
8
  class CldProvisioning::Models::Operations::CreateCustomPolicyRequest
9
- def custom_policy
9
+ def create_custom_policy
10
10
  end
11
11
 
12
- def custom_policy=(str_)
12
+ def create_custom_policy=(str_)
13
13
  end
14
14
 
15
15
  def account_id
@@ -24,7 +24,9 @@ module CldProvisioning
24
24
  ::String,
25
25
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("email"), required: true}}
26
26
  )
27
- # The role to assign.
27
+ # The legacy role to assign. Deprecated: use `roles` (create) or `role_management` (update) instead. Can't be combined with `roles` or `role_management`.
28
+ #
29
+ # @deprecated true: Use `roles` (create) or `role_management` (update) instead..
28
30
  field(
29
31
  :role,
30
32
  Crystalline::Nilable.new(Models::Operations::Role),
@@ -50,6 +52,12 @@ module CldProvisioning
50
52
  Crystalline::Nilable.new(Crystalline::Boolean.new),
51
53
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("enabled")}}
52
54
  )
55
+ # The roles to assign. Can't be sent together with `role`.
56
+ field(
57
+ :roles,
58
+ Crystalline::Nilable.new(Crystalline::Array.new(Models::Shared::RoleAssignment)),
59
+ {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("roles")}}
60
+ )
53
61
 
54
62
  sig {
55
63
  params(
@@ -57,16 +65,18 @@ module CldProvisioning
57
65
  email: ::String,
58
66
  role: T.nilable(Models::Operations::Role),
59
67
  sub_account_ids: T.nilable(T::Array[::String]),
60
- enabled: T.nilable(T::Boolean)
68
+ enabled: T.nilable(T::Boolean),
69
+ roles: T.nilable(T::Array[Models::Shared::RoleAssignment])
61
70
  )
62
71
  .void
63
72
  }
64
- def initialize(name:, email:, role: nil, sub_account_ids: nil, enabled: nil)
73
+ def initialize(name:, email:, role: nil, sub_account_ids: nil, enabled: nil, roles: nil)
65
74
  @name = name
66
75
  @email = email
67
76
  @role = role
68
77
  @sub_account_ids = sub_account_ids
69
78
  @enabled = enabled
79
+ @roles = roles
70
80
  end
71
81
 
72
82
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -77,6 +87,7 @@ module CldProvisioning
77
87
  return false unless @role == other.role
78
88
  return false unless @sub_account_ids == other.sub_account_ids
79
89
  return false unless @enabled == other.enabled
90
+ return false unless @roles == other.roles
80
91
  true
81
92
  end
82
93
  end
@@ -35,4 +35,10 @@ class CldProvisioning::Models::Operations::CreateUserRequestBody
35
35
 
36
36
  def enabled=(str_)
37
37
  end
38
+
39
+ def roles
40
+ end
41
+
42
+ def roles=(str_)
43
+ end
38
44
  end
@@ -7,7 +7,9 @@
7
7
  module CldProvisioning
8
8
  module Models
9
9
  module Operations
10
- # Role - The role to assign.
10
+ # Role - The legacy role to assign. Deprecated: use `roles` (create) or `role_management` (update) instead. Can't be combined with `roles` or `role_management`.
11
+ #
12
+ # @deprecated class: Use `roles` (create) or `role_management` (update) instead..
11
13
  class Role < T::Enum
12
14
  enums do
13
15
  MASTER_ADMIN = new("master_admin")
@@ -15,7 +15,7 @@ module CldProvisioning
15
15
  # A unique identifier for the role.
16
16
  field :role_id, ::String, {'path_param': {'field_name': "role_id", 'style': "simple", 'explode': false}}
17
17
  # Role details
18
- field :role, Models::Shared::Role, {'request': {'media_type': "application/json"}}
18
+ field :update_role, Models::Shared::UpdateRole, {'request': {'media_type': "application/json"}}
19
19
  # Account ID
20
20
  field(
21
21
  :account_id,
@@ -23,10 +23,12 @@ module CldProvisioning
23
23
  {'path_param': {'field_name': "account_id", 'style': "simple", 'explode': false}}
24
24
  )
25
25
 
26
- sig { params(role_id: ::String, role: Models::Shared::Role, account_id: T.nilable(::String)).void }
27
- def initialize(role_id:, role:, account_id: nil)
26
+ sig {
27
+ params(role_id: ::String, update_role: Models::Shared::UpdateRole, account_id: T.nilable(::String)).void
28
+ }
29
+ def initialize(role_id:, update_role:, account_id: nil)
28
30
  @role_id = role_id
29
- @role = role
31
+ @update_role = update_role
30
32
  @account_id = account_id
31
33
  end
32
34
 
@@ -34,7 +36,7 @@ module CldProvisioning
34
36
  def ==(other)
35
37
  return false unless other.is_a?(self.class)
36
38
  return false unless @role_id == other.role_id
37
- return false unless @role == other.role
39
+ return false unless @update_role == other.update_role
38
40
  return false unless @account_id == other.account_id
39
41
  true
40
42
  end
@@ -12,10 +12,10 @@ class CldProvisioning::Models::Operations::UpdateRoleRequest
12
12
  def role_id=(str_)
13
13
  end
14
14
 
15
- def role
15
+ def update_role
16
16
  end
17
17
 
18
- def role=(str_)
18
+ def update_role=(str_)
19
19
  end
20
20
 
21
21
  def account_id
@@ -15,7 +15,7 @@ module CldProvisioning
15
15
  # The ID of the user.
16
16
  field :user_id, ::String, {'path_param': {'field_name': "user_id", 'style': "simple", 'explode': false}}
17
17
  # User details to update.
18
- field :user_request, Models::Shared::UserRequest, {'request': {'media_type': "application/json"}}
18
+ field :request_body, Models::Operations::UpdateUserRequestBody, {'request': {'media_type': "application/json"}}
19
19
  # Account ID
20
20
  field(
21
21
  :account_id,
@@ -24,11 +24,16 @@ module CldProvisioning
24
24
  )
25
25
 
26
26
  sig {
27
- params(user_id: ::String, user_request: Models::Shared::UserRequest, account_id: T.nilable(::String)).void
27
+ params(
28
+ user_id: ::String,
29
+ request_body: Models::Operations::UpdateUserRequestBody,
30
+ account_id: T.nilable(::String)
31
+ )
32
+ .void
28
33
  }
29
- def initialize(user_id:, user_request:, account_id: nil)
34
+ def initialize(user_id:, request_body:, account_id: nil)
30
35
  @user_id = user_id
31
- @user_request = user_request
36
+ @request_body = request_body
32
37
  @account_id = account_id
33
38
  end
34
39
 
@@ -36,7 +41,7 @@ module CldProvisioning
36
41
  def ==(other)
37
42
  return false unless other.is_a?(self.class)
38
43
  return false unless @user_id == other.user_id
39
- return false unless @user_request == other.user_request
44
+ return false unless @request_body == other.request_body
40
45
  return false unless @account_id == other.account_id
41
46
  true
42
47
  end
@@ -12,10 +12,10 @@ class CldProvisioning::Models::Operations::UpdateUserRequest
12
12
  def user_id=(str_)
13
13
  end
14
14
 
15
- def user_request
15
+ def request_body
16
16
  end
17
17
 
18
- def user_request=(str_)
18
+ def request_body=(str_)
19
19
  end
20
20
 
21
21
  def account_id
@@ -1,14 +1,14 @@
1
1
  # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
- # @generated-id: 1f9f2720d9de
2
+ # @generated-id: fa9e6b380ac9
3
3
 
4
4
  # typed: true
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module CldProvisioning
8
8
  module Models
9
- module Shared
10
-
11
- class UserRequest
9
+ module Operations
10
+ # User details to update.
11
+ class UpdateUserRequestBody
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
@@ -24,14 +24,16 @@ module CldProvisioning
24
24
  Crystalline::Nilable.new(::String),
25
25
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("email")}}
26
26
  )
27
- # The role to assign.
27
+ # The legacy role to assign. Deprecated: use `roles` (create) or `role_management` (update) instead. Can't be combined with `roles` or `role_management`.
28
+ #
29
+ # @deprecated true: Use `roles` (create) or `role_management` (update) instead..
28
30
  field(
29
31
  :role,
30
- Crystalline::Nilable.new(Models::Shared::UserRequestRole),
32
+ Crystalline::Nilable.new(Models::Operations::UpdateUserRole),
31
33
  {
32
34
  'format_json': {
33
35
  'letter_case': ::CldProvisioning::Utils.field_name("role"),
34
- 'decoder': ::CldProvisioning::Utils.enum_from_string(Models::Shared::UserRequestRole, true)
36
+ 'decoder': ::CldProvisioning::Utils.enum_from_string(Models::Operations::UpdateUserRole, true)
35
37
  }
36
38
  }
37
39
  )
@@ -50,23 +52,31 @@ module CldProvisioning
50
52
  Crystalline::Nilable.new(Crystalline::Boolean.new),
51
53
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("enabled")}}
52
54
  )
55
+ # A role management operation and the roles it applies to.
56
+ field(
57
+ :role_management,
58
+ Crystalline::Nilable.new(Models::Shared::RoleManagementRequest),
59
+ {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("role_management")}}
60
+ )
53
61
 
54
62
  sig {
55
63
  params(
56
64
  name: T.nilable(::String),
57
65
  email: T.nilable(::String),
58
- role: T.nilable(Models::Shared::UserRequestRole),
66
+ role: T.nilable(Models::Operations::UpdateUserRole),
59
67
  sub_account_ids: T.nilable(T::Array[::String]),
60
- enabled: T.nilable(T::Boolean)
68
+ enabled: T.nilable(T::Boolean),
69
+ role_management: T.nilable(Models::Shared::RoleManagementRequest)
61
70
  )
62
71
  .void
63
72
  }
64
- def initialize(name: nil, email: nil, role: nil, sub_account_ids: nil, enabled: nil)
73
+ def initialize(name: nil, email: nil, role: nil, sub_account_ids: nil, enabled: nil, role_management: nil)
65
74
  @name = name
66
75
  @email = email
67
76
  @role = role
68
77
  @sub_account_ids = sub_account_ids
69
78
  @enabled = enabled
79
+ @role_management = role_management
70
80
  end
71
81
 
72
82
  sig { params(other: T.untyped).returns(T::Boolean) }
@@ -77,6 +87,7 @@ module CldProvisioning
77
87
  return false unless @role == other.role
78
88
  return false unless @sub_account_ids == other.sub_account_ids
79
89
  return false unless @enabled == other.enabled
90
+ return false unless @role_management == other.role_management
80
91
  true
81
92
  end
82
93
  end
@@ -1,11 +1,11 @@
1
1
  # typed: true
2
2
  # frozen_string_literal: true
3
3
 
4
- class CldProvisioning::Models::Shared::UserRequest
4
+ class CldProvisioning::Models::Operations::UpdateUserRequestBody
5
5
  extend ::Crystalline::MetadataFields::ClassMethods
6
6
  end
7
7
 
8
- class CldProvisioning::Models::Shared::UserRequest
8
+ class CldProvisioning::Models::Operations::UpdateUserRequestBody
9
9
  def name
10
10
  end
11
11
 
@@ -35,4 +35,10 @@ class CldProvisioning::Models::Shared::UserRequest
35
35
 
36
36
  def enabled=(str_)
37
37
  end
38
+
39
+ def role_management
40
+ end
41
+
42
+ def role_management=(str_)
43
+ end
38
44
  end
@@ -1,14 +1,16 @@
1
1
  # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
- # @generated-id: 5f065734234f
2
+ # @generated-id: 84832731893c
3
3
 
4
4
  # typed: true
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module CldProvisioning
8
8
  module Models
9
- module Shared
10
- # UserRequestRole - The role to assign.
11
- class UserRequestRole < T::Enum
9
+ module Operations
10
+ # UpdateUserRole - The legacy role to assign. Deprecated: use `roles` (create) or `role_management` (update) instead. Can't be combined with `roles` or `role_management`.
11
+ #
12
+ # @deprecated class: Use `roles` (create) or `role_management` (update) instead..
13
+ class UpdateUserRole < T::Enum
12
14
  enums do
13
15
  MASTER_ADMIN = new("master_admin")
14
16
  ADMIN = new("admin")
@@ -0,0 +1,9 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+ class CldProvisioning::Models::Operations::UpdateUserRole
5
+ extend ::Crystalline::MetadataFields::ClassMethods
6
+ end
7
+
8
+ class CldProvisioning::Models::Operations::UpdateUserRole
9
+ end
@@ -67,6 +67,8 @@ module CldProvisioning
67
67
  autoload :UpdateRoleRequest, "cld_provisioning/models/operations/updaterole_request.rb"
68
68
  autoload :UpdateUserGroupRequest, "cld_provisioning/models/operations/updateusergroup_request.rb"
69
69
  autoload :UpdateUserRequest, "cld_provisioning/models/operations/updateuser_request.rb"
70
+ autoload :UpdateUserRequestBody, "cld_provisioning/models/operations/updateuser_requestbody.rb"
71
+ autoload :UpdateUserRole, "cld_provisioning/models/operations/updateuser_role.rb"
70
72
  end
71
73
  end
72
74
  end
@@ -1,5 +1,5 @@
1
1
  # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
- # @generated-id: dbeafaf03208
2
+ # @generated-id: 26c9269b13e3
3
3
 
4
4
  # typed: true
5
5
  # frozen_string_literal: true
@@ -8,7 +8,7 @@ module CldProvisioning
8
8
  module Models
9
9
  module Shared
10
10
 
11
- class CustomPolicy
11
+ class CreateCustomPolicy
12
12
  extend T::Sig
13
13
  include Crystalline::MetadataFields
14
14
 
@@ -1,11 +1,11 @@
1
1
  # typed: true
2
2
  # frozen_string_literal: true
3
3
 
4
- class CldProvisioning::Models::Shared::CustomPolicy
4
+ class CldProvisioning::Models::Shared::CreateCustomPolicy
5
5
  extend ::Crystalline::MetadataFields::ClassMethods
6
6
  end
7
7
 
8
- class CldProvisioning::Models::Shared::CustomPolicy
8
+ class CldProvisioning::Models::Shared::CreateCustomPolicy
9
9
  def policy_statement
10
10
  end
11
11
 
@@ -39,7 +39,7 @@ module CldProvisioning
39
39
 
40
40
  field(
41
41
  :policy_parameters,
42
- Crystalline::Nilable.new(Models::Shared::InspectRequestPolicyParameters),
42
+ Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
43
43
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("policy_parameters")}}
44
44
  )
45
45
 
@@ -54,7 +54,7 @@ module CldProvisioning
54
54
  scope_type: Models::Shared::ScopeTypeEnum,
55
55
  principals: T::Array[Models::Shared::Principal],
56
56
  scope_id: T.nilable(::String),
57
- policy_parameters: T.nilable(Models::Shared::InspectRequestPolicyParameters),
57
+ policy_parameters: T.nilable(T::Hash[Symbol, ::Object]),
58
58
  cursor: T.nilable(::String)
59
59
  )
60
60
  .void
@@ -0,0 +1,19 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+ # @generated-id: 10eebc5ac44f
3
+
4
+ # typed: true
5
+ # frozen_string_literal: true
6
+
7
+ module CldProvisioning
8
+ module Models
9
+ module Shared
10
+ # Operation - Whether to add or remove the listed roles.
11
+ class Operation < T::Enum
12
+ enums do
13
+ ADD = new("add")
14
+ REMOVE = new("remove")
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,9 +1,9 @@
1
1
  # typed: true
2
2
  # frozen_string_literal: true
3
3
 
4
- class CldProvisioning::Models::Shared::Details
4
+ class CldProvisioning::Models::Shared::Operation
5
5
  extend ::Crystalline::MetadataFields::ClassMethods
6
6
  end
7
7
 
8
- class CldProvisioning::Models::Shared::Details
8
+ class CldProvisioning::Models::Shared::Operation
9
9
  end
@@ -33,7 +33,7 @@ module CldProvisioning
33
33
  # Additional contextual information about the error, which may include relevant data.
34
34
  field(
35
35
  :details,
36
- Crystalline::Nilable.new(Models::Shared::Details),
36
+ Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
37
37
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("details")}}
38
38
  )
39
39
 
@@ -42,7 +42,7 @@ module CldProvisioning
42
42
  category: T.nilable(::String),
43
43
  code: T.nilable(::String),
44
44
  message: T.nilable(::String),
45
- details: T.nilable(Models::Shared::Details)
45
+ details: T.nilable(T::Hash[Symbol, ::Object])
46
46
  )
47
47
  .void
48
48
  }
@@ -7,20 +7,35 @@
7
7
  module CldProvisioning
8
8
  module Models
9
9
  module Shared
10
- # For roles with `permission_type` set to `content`, this defines the type of content the role's policies apply to:
11
- # - The content type can be: `folder_id` or `collection_id`.
12
- # - When assigning the role, provide the instance, e.g. `{"folder_id":"asdfjkl12347890"}`. This specification is passed to the `policy_statement` (Cedar).
13
- #
10
+ # Optional content-scope policy parameters.
14
11
  class PolicyParameters
15
12
  extend T::Sig
16
13
  include Crystalline::MetadataFields
17
14
 
18
- def initialize
15
+ # The folder ID the role is scoped to.
16
+ field(
17
+ :folder_id,
18
+ Crystalline::Nilable.new(::String),
19
+ {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("folder_id")}}
20
+ )
21
+ # The collection ID the role is scoped to.
22
+ field(
23
+ :collection_id,
24
+ Crystalline::Nilable.new(::String),
25
+ {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("collection_id")}}
26
+ )
27
+
28
+ sig { params(folder_id: T.nilable(::String), collection_id: T.nilable(::String)).void }
29
+ def initialize(folder_id: nil, collection_id: nil)
30
+ @folder_id = folder_id
31
+ @collection_id = collection_id
19
32
  end
20
33
 
21
34
  sig { params(other: T.untyped).returns(T::Boolean) }
22
35
  def ==(other)
23
36
  return false unless other.is_a?(self.class)
37
+ return false unless @folder_id == other.folder_id
38
+ return false unless @collection_id == other.collection_id
24
39
  true
25
40
  end
26
41
  end
@@ -6,4 +6,15 @@ class CldProvisioning::Models::Shared::PolicyParameters
6
6
  end
7
7
 
8
8
  class CldProvisioning::Models::Shared::PolicyParameters
9
+ def folder_id
10
+ end
11
+
12
+ def folder_id=(str_)
13
+ end
14
+
15
+ def collection_id
16
+ end
17
+
18
+ def collection_id=(str_)
19
+ end
9
20
  end
@@ -35,7 +35,7 @@ module CldProvisioning
35
35
 
36
36
  field(
37
37
  :policy_parameters,
38
- Crystalline::Nilable.new(Models::Shared::PrincipalResponseDataPolicyParameters),
38
+ Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
39
39
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("policy_parameters")}}
40
40
  )
41
41
  # Specifies where the role/policy is applied, either at the account level or within product environments.
@@ -73,7 +73,7 @@ module CldProvisioning
73
73
  id: ::String,
74
74
  type: Models::Shared::PrincipalTypeEnum,
75
75
  role_id: T.nilable(::String),
76
- policy_parameters: T.nilable(Models::Shared::PrincipalResponseDataPolicyParameters),
76
+ policy_parameters: T.nilable(T::Hash[Symbol, ::Object]),
77
77
  scope_type: T.nilable(Models::Shared::ScopeTypeEnum),
78
78
  created_at: T.nilable(::Integer),
79
79
  updated_at: T.nilable(::Integer),
@@ -86,7 +86,7 @@ module CldProvisioning
86
86
  #
87
87
  field(
88
88
  :policy_parameters,
89
- Crystalline::Nilable.new(Models::Shared::PolicyParameters),
89
+ Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)),
90
90
  {'format_json': {'letter_case': ::CldProvisioning::Utils.field_name("policy_parameters")}}
91
91
  )
92
92
 
@@ -101,7 +101,7 @@ module CldProvisioning
101
101
  updated_at: ::Integer,
102
102
  description: T.nilable(::String),
103
103
  scope_id: T.nilable(::String),
104
- policy_parameters: T.nilable(Models::Shared::PolicyParameters)
104
+ policy_parameters: T.nilable(T::Hash[Symbol, ::Object])
105
105
  )
106
106
  .void
107
107
  }