Class: Twilio::REST::Iam::V1::ApiKeyInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/iam/v1/api_key.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, sid: nil) ⇒ ApiKeyInstance

Initialize the ApiKeyInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this ApiKey resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 162

def initialize(version, payload , sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'sid' => payload['sid'],
        'friendly_name' => payload['friendly_name'],
        'date_created' => Twilio.deserialize_rfc2822(payload['date_created']),
        'date_updated' => Twilio.deserialize_rfc2822(payload['date_updated']),
        'policy' => payload['policy'],
    }

    # Context
    @instance_context = nil
    @params = { 'sid' => sid  || @properties['sid']  , }
end

Instance Method Details

#contextApiKeyContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



183
184
185
186
187
188
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 183

def context
    unless @instance_context
        @instance_context = ApiKeyContext.new(@version , @params['sid'])
    end
    @instance_context
end

#date_createdTime

Returns The date and time in GMT that the resource was created specified in [RFC 2822](www.ietf.org/rfc/rfc2822.txt) format.

Returns:



204
205
206
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 204

def date_created
    @properties['date_created']
end

#date_updatedTime

Returns The date and time in GMT that the resource was last updated specified in [RFC 2822](www.ietf.org/rfc/rfc2822.txt) format.

Returns:



210
211
212
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 210

def date_updated
    @properties['date_updated']
end

#deleteBoolean

Delete the ApiKeyInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



223
224
225
226
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 223

def delete

    context.delete
end

#fetchApiKeyInstance

Fetch the ApiKeyInstance

Returns:



231
232
233
234
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 231

def fetch

    context.fetch
end

#friendly_nameString

Returns The string that you assigned to describe the resource.

Returns:

  • (String)

    The string that you assigned to describe the resource.



198
199
200
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 198

def friendly_name
    @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



261
262
263
264
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 261

def inspect
    values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Iam.V1.ApiKeyInstance #{values}>"
end

#policyHash

Returns The \‘Policy\` object is a collection that specifies the allowed Twilio permissions for the restricted key. For more information on the permissions available with restricted API keys, refer to the [Twilio documentation](www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys).

Returns:



216
217
218
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 216

def policy
    @properties['policy']
end

#sidString

Returns The unique string that we created to identify the Key resource.

Returns:

  • (String)

    The unique string that we created to identify the Key resource.



192
193
194
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 192

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



254
255
256
257
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 254

def to_s
    values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
    "<Twilio.Iam.V1.ApiKeyInstance #{values}>"
end

#update(friendly_name: :unset, policy: :unset) ⇒ ApiKeyInstance

Update the ApiKeyInstance

Parameters:

  • friendly_name (String) (defaults to: :unset)

    A descriptive string that you create to describe the resource. It can be up to 64 characters long.

  • policy (Object) (defaults to: :unset)

    The \\‘Policy\\` object is a collection that specifies the allowed Twilio permissions for the restricted key. For more information on the permissions available with restricted API keys, refer to the [Twilio documentation](www.twilio.com/docs/iam/api-keys/restricted-api-keys#permissions-available-with-restricted-api-keys).

Returns:



241
242
243
244
245
246
247
248
249
250
# File 'lib/twilio-ruby/rest/iam/v1/api_key.rb', line 241

def update(
    friendly_name: :unset, 
    policy: :unset
)

    context.update(
        friendly_name: friendly_name, 
        policy: policy, 
    )
end