Class: Artifactory::Resource::Certificate

Inherits:
Base
  • Object
show all
Defined in:
lib/artifactory/resources/certificate.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

attribute, attributes, #attributes, #client, #client=, #client?, #extract_client!, extract_client!, find_from_config, format_repos!, #format_repos!, from_url, has_attribute?, #initialize, #inspect, list_from_config, #set, #to_hash, #to_json, #to_matrix_properties, #to_query_string_parameters, #to_s, url_safe, #url_safe

Constructor Details

This class inherits a constructor from Artifactory::Resource::Base

Class Method Details

.all(options = {}) ⇒ Array<Resource::Certificate>

Get a list of all certificates in the system.

Parameters:

  • options (Hash) (defaults to: {})

    the list of options

Options Hash (options):

Returns:



16
17
18
19
20
21
# File 'lib/artifactory/resources/certificate.rb', line 16

def all(options = {})
  client = extract_client!(options)
  client.get("/api/system/security/certificates").map do |cert|
    from_hash(cert, client: client)
  end.compact
end

.from_hash(hash, options = {}) ⇒ Object

See Also:



26
27
28
29
30
31
# File 'lib/artifactory/resources/certificate.rb', line 26

def from_hash(hash, options = {})
  super.tap do |instance|
    instance.issued_on   = Time.parse(instance.issued_on)   rescue nil
    instance.valid_until = Time.parse(instance.valid_until) rescue nil
  end
end

Instance Method Details

#certificate_aliasObject

Return this object’s certificate_alias

Returns:

  • (Object)


34
# File 'lib/artifactory/resources/certificate.rb', line 34

attribute :certificate_alias, -> { raise "Certificate alias missing!" }

#certificate_alias=(value) ⇒ Object

Set this object’s certificate_alias

Parameters:

  • value (Object)

    the value to set for certificate_alias

  • default (Object)

    the default value for this attribute



34
# File 'lib/artifactory/resources/certificate.rb', line 34

attribute :certificate_alias, -> { raise "Certificate alias missing!" }

#certificate_alias?Boolean

Determines if the certificate_alias value exists and is truthy

Returns:

  • (Boolean)


34
# File 'lib/artifactory/resources/certificate.rb', line 34

attribute :certificate_alias, -> { raise "Certificate alias missing!" }

#deleteBoolean

Delete this certificate from artifactory, suppressing any ResourceNotFound exceptions might occur.

Returns:

  • (Boolean)

    true if the object was deleted successfully, false otherwise



49
50
51
52
53
54
# File 'lib/artifactory/resources/certificate.rb', line 49

def delete
  client.delete(api_path)
  true
rescue Error::HTTPError
  false
end

#fingerprintObject

Return this object’s fingerprint

Returns:

  • (Object)


35
# File 'lib/artifactory/resources/certificate.rb', line 35

attribute :fingerprint

#fingerprint=(value) ⇒ Object

Set this object’s fingerprint

Parameters:

  • value (Object)

    the value to set for fingerprint

  • default (Object)

    the default value for this attribute



35
# File 'lib/artifactory/resources/certificate.rb', line 35

attribute :fingerprint

#fingerprint?Boolean

Determines if the fingerprint value exists and is truthy

Returns:

  • (Boolean)


35
# File 'lib/artifactory/resources/certificate.rb', line 35

attribute :fingerprint

#issued_byObject

Return this object’s issued_by

Returns:

  • (Object)


36
# File 'lib/artifactory/resources/certificate.rb', line 36

attribute :issued_by

#issued_by=(value) ⇒ Object

Set this object’s issued_by

Parameters:

  • value (Object)

    the value to set for issued_by

  • default (Object)

    the default value for this attribute



36
# File 'lib/artifactory/resources/certificate.rb', line 36

attribute :issued_by

#issued_by?Boolean

Determines if the issued_by value exists and is truthy

Returns:

  • (Boolean)


36
# File 'lib/artifactory/resources/certificate.rb', line 36

attribute :issued_by

#issued_onObject

Return this object’s issued_on

Returns:

  • (Object)


37
# File 'lib/artifactory/resources/certificate.rb', line 37

attribute :issued_on

#issued_on=(value) ⇒ Object

Set this object’s issued_on

Parameters:

  • value (Object)

    the value to set for issued_on

  • default (Object)

    the default value for this attribute



37
# File 'lib/artifactory/resources/certificate.rb', line 37

attribute :issued_on

#issued_on?Boolean

Determines if the issued_on value exists and is truthy

Returns:

  • (Boolean)


37
# File 'lib/artifactory/resources/certificate.rb', line 37

attribute :issued_on

#issued_toObject

Return this object’s issued_to

Returns:

  • (Object)


38
# File 'lib/artifactory/resources/certificate.rb', line 38

attribute :issued_to

#issued_to=(value) ⇒ Object

Set this object’s issued_to

Parameters:

  • value (Object)

    the value to set for issued_to

  • default (Object)

    the default value for this attribute



38
# File 'lib/artifactory/resources/certificate.rb', line 38

attribute :issued_to

#issued_to?Boolean

Determines if the issued_to value exists and is truthy

Returns:

  • (Boolean)


38
# File 'lib/artifactory/resources/certificate.rb', line 38

attribute :issued_to

#local_pathObject

Return this object’s local_path

Returns:

  • (Object)


39
# File 'lib/artifactory/resources/certificate.rb', line 39

attribute :local_path, -> { raise "Local destination missing!" }

#local_path=(value) ⇒ Object

Set this object’s local_path

Parameters:

  • value (Object)

    the value to set for local_path

  • default (Object)

    the default value for this attribute



39
# File 'lib/artifactory/resources/certificate.rb', line 39

attribute :local_path, -> { raise "Local destination missing!" }

#local_path?Boolean

Determines if the local_path value exists and is truthy

Returns:

  • (Boolean)


39
# File 'lib/artifactory/resources/certificate.rb', line 39

attribute :local_path, -> { raise "Local destination missing!" }

#uploadResource::Certificate

Upload a certificate. If the first parameter is a File object, that file descriptor is passed to the uploader. If the first parameter is a string, it is assumed to be a path to a local file on disk. This method will automatically construct the File object from the given path.

Examples:

Upload a certificate from a File instance

certificate = Certificate.new(local_path: '/path/to/cert.pem', certificate_alias: 'test')
certificate.upload

Returns:



68
69
70
71
72
73
74
75
76
77
# File 'lib/artifactory/resources/certificate.rb', line 68

def upload
  file = File.new(File.expand_path(local_path))
  headers = { "Content-Type" => "application/text" }

  response = client.post(api_path, file, headers)

  return unless response.is_a?(Hash)

  self.class.all.select { |x| x.certificate_alias.eql?(certificate_alias) }.first
end

#valid_untilObject

Return this object’s valid_until

Returns:

  • (Object)


40
# File 'lib/artifactory/resources/certificate.rb', line 40

attribute :valid_until

#valid_until=(value) ⇒ Object

Set this object’s valid_until

Parameters:

  • value (Object)

    the value to set for valid_until

  • default (Object)

    the default value for this attribute



40
# File 'lib/artifactory/resources/certificate.rb', line 40

attribute :valid_until

#valid_until?Boolean

Determines if the valid_until value exists and is truthy

Returns:

  • (Boolean)


40
# File 'lib/artifactory/resources/certificate.rb', line 40

attribute :valid_until