Module: Anthropic::Models::Beta::Organization::BetaSpendLimit::Scope

Extended by:
Internal::Type::Union
Defined in:
lib/anthropic/models/beta/organization/beta_spend_limit.rb,
sig/anthropic/models/beta/organization/beta_spend_limit.rbs

Overview

What the limit applies to. A tagged union on type; each variant carries the identifier for its scope.

See Also:

  • Anthropic::Models::Beta::Organization::BetaSpendLimit#scope

Defined Under Namespace

Modules: Type

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Internal::Type::Union

==, ===, coerce, derefed_variants, dump, hash, inspect, to_sorbet_type, variants

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, inspect, #inspect, meta_info, new_coerce_state, type_info

Class Method Details

.new(type:, **args) ⇒ Anthropic::Models::Beta::Organization::BetaSpendLimitUserScope, ...

Creates a new instance of the variant class whose type matches the given value, passing the remaining arguments to its constructor.

Parameters:

  • type (Symbol, Anthropic::Models::Beta::Organization::BetaSpendLimit::Scope::Type, String)
  • args (Hash{Symbol=>Object}) —

    Attributes for the chosen variant.

    @option args [String] :user_id Tagged ID of the member the spend limit applies to.

    @option args [String] :seat_tier

    @option args [String] :rbac_group_id

    @option args [String] :service

    @option args [String] :workspace_id Tagged ID of the workspace the spend limit applies to.

Returns:

Raises:

  • (ArgumentError)


153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
# File 'lib/anthropic/models/beta/organization/beta_spend_limit.rb', line 153

def self.new(type:, **args)
  case type.to_sym
  when :user
    Anthropic::Beta::Organization::BetaSpendLimitUserScope.new(**args)
  when :seat_tier
    Anthropic::Beta::Organization::BetaSpendLimitSeatTierScope.new(**args)
  when :rbac_group
    Anthropic::Beta::Organization::BetaSpendLimitRBACGroupScope.new(**args)
  when :organization_service
    Anthropic::Beta::Organization::BetaSpendLimitOrganizationServiceScope.new(**args)
  when :organization
    Anthropic::Beta::Organization::BetaSpendLimitOrganizationScope.new(**args)
  when :workspace
    Anthropic::Beta::Organization::BetaSpendLimitWorkspaceScope.new(**args)
  else
    raise ArgumentError, "unknown type: #{type}"
  end
end

.values ⇒ Array<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/anthropic/models/beta/organization/beta_spend_limit.rb', line 127

Instance Method Details

#self?.variants ⇒ ::Array[Anthropic::Models::Beta::Organization::BetaSpendLimit::scope]

Returns:

  • (::Array[Anthropic::Models::Beta::Organization::BetaSpendLimit::scope])


93
# File 'sig/anthropic/models/beta/organization/beta_spend_limit.rbs', line 93

def self?.variants: -> ::Array[Anthropic::Models::Beta::Organization::BetaSpendLimit::scope]