sfrest 0.0.37 → 0.0.40

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 573ae6cb7e5e7436c17d556e135ae412e91aececfdbe2b85a1dfa2ff813302df
4
- data.tar.gz: 7ca7acc2ef22b1bf02bccb4ad19ea548d1d66756379d0882c488f9ac8bb3c2e7
3
+ metadata.gz: ef1480dd089e071458111ef6c8f2ea4e0e4aa7ff7bfc509e2c150f33167f0e69
4
+ data.tar.gz: f90b9028fbf5e4b117d8856144d271516c5f4af6e9ae04800d55c1f1cc2c48db
5
5
  SHA512:
6
- metadata.gz: 886b5c70829c51516e3812c062188a52883541d922ad1bf9c952bb05093aa0b890616b5a6a5b3f4ed24604fd5d4b2551c803922773d826a1fd3a82e7e4583d6f
7
- data.tar.gz: aaa80a02745ecc266300b76f37c6e0874adb2e9e2ca640ca94419f6fa48d23b64bb6eeab915a2dc4a6c2d8d21f6957014ed6c45c92e68bb0d919ddf17f57a8dc
6
+ metadata.gz: e940d9ece6a6ad534a9d3025e3dfe2aa56ef3026f74d7efbdaa84fe9add7d9b62831d68d87a0bf12b7e2ccb5d91ba19eeb6b3822ce23e82b992c15d7d531a166
7
+ data.tar.gz: b488d33656b6ebc149f35f488da4963c34994fe762482a08717ae78f783db9d9354663803b7a9eedc5773afeeb69ed153c54a4efe1f7c66d5b38fb715d15f25b
@@ -167,13 +167,17 @@ module SFRest
167
167
  centralized_role_management
168
168
  codebase
169
169
  collection
170
+ cron
170
171
  domains
172
+ factory_standard_domain
171
173
  group
172
174
  info
173
175
  profile
174
176
  role
175
177
  site
178
+ site_guard
176
179
  site_ownership
180
+ site_update_priority
177
181
  stage
178
182
  task
179
183
  theme
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # Manipulates SF cron jobs.
5
+ class Cron
6
+ # @param [SFRest::Connection] conn
7
+ def initialize(conn)
8
+ @conn = conn
9
+ end
10
+
11
+ # Gets a list of cron jobs
12
+ # @param [Integer] page
13
+ # @param [Integer] items per page
14
+ def get_cron_jobs(page = nil, limit = nil)
15
+ args = {}
16
+ args['page'] = page unless page.nil?
17
+ args['limit'] = limit unless limit.nil?
18
+ url = "/api/v1/cronjobs?#{args.map { |k, v| "#{k}=#{v}" }.join('&')}"
19
+ @conn.get(url)
20
+ end
21
+
22
+ # Gets a cron job by its node id
23
+ # @param [Integer] cron job nid
24
+ def get_cron_job(nid)
25
+ @conn.get("/api/v1/cronjobs/#{nid}")
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # We need to keep this naming due to the way connection.rb autoloads things.
5
+ # rubocop: disable Naming/ClassAndModuleCamelCase
6
+ # Manage the factory standard domain feature.
7
+ class Factory_standard_domain
8
+ # rubocop: enable Naming/ClassAndModuleCamelCase
9
+
10
+ # @param [SFRest::Connection] conn
11
+ def initialize(conn)
12
+ @conn = conn
13
+ end
14
+
15
+ # Get current factory standard domains settings
16
+ #
17
+ # @return [Array] an array of factory standard domains with their associated settings.
18
+ def factory_standard_domain_mapping
19
+ @conn.get('/api/v1/factory-standard-domains')
20
+ end
21
+
22
+ # Enable the factory standard domains settings for a given template name.
23
+ # @param [String] domain_template_name the domain template name.
24
+ # @param [Array] new_template the templates to be used.
25
+ #
26
+ # @return [Array] an array of factory standard domains with their associated settings.
27
+ def enable_factory_standard_domain_template(domain_template_name, new_template = [])
28
+ payload = {
29
+ 'new_template' => new_template
30
+ }.to_json
31
+ @conn.put("/api/v1/factory-standard-domains/#{domain_template_name}", payload)
32
+ end
33
+
34
+ # Disable the centralized role management settings for a given role.
35
+ # @param [String] domain_template_name the domain template name.
36
+ #
37
+ # @return [Array] an array of factory standard domains with their associated settings.
38
+ def disable_factory_standard_domain_template(domain_template_name)
39
+ @conn.delete("/api/v1/factory-standard-domains/#{domain_template_name}")
40
+ end
41
+
42
+ # Backfills the factory standard domains using the templates defined.
43
+ #
44
+ # @return [Array] an array containing the message and task_id for that operation.
45
+ def backfill_domains
46
+ @conn.post('/api/v1/factory-standard-domains', {}.to_json)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # We need to keep this naming due to the way connection.rb autoloads things.
5
+ # rubocop: disable Naming/ClassAndModuleCamelCase
6
+ # Manage the site guard feature.
7
+ class Site_guard
8
+ # rubocop: enable Naming/ClassAndModuleCamelCase
9
+
10
+ # @param [SFRest::Connection] conn
11
+ def initialize(conn)
12
+ @conn = conn
13
+ end
14
+
15
+ # Get current site guard settings.
16
+ #
17
+ # @return [Array] an array containing current settings.
18
+ def current_settings
19
+ @conn.get('/api/v1/site-guard')
20
+ end
21
+
22
+ # Set and enables the site guard settings.
23
+ # @param [String] The message which will be displayed by the site guard.
24
+ # @param [String] The username which will be required by the site guard.
25
+ # @param [String] The password which will be required by the site guard.
26
+ #
27
+ # @return [Array] an array containing the message given by the server.
28
+ def enable_site_guard(message, username, password)
29
+ payload = {
30
+ 'message' => message,
31
+ 'username' => username,
32
+ 'password' => password
33
+ }
34
+
35
+ @conn.put('/api/v1/site-guard', payload.to_json)
36
+ end
37
+
38
+ # Removes and disableds the site guard settings.
39
+ #
40
+ # @return [Array] an array containing the message given by the server.
41
+ def disable_site_guard
42
+ @conn.delete('/api/v1/site-guard')
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SFRest
4
+ # We need to keep this naming due to the way connection.rb autoloads things.
5
+ # rubocop: disable Naming/ClassAndModuleCamelCase
6
+ # Manage the site update priority feature.
7
+ class Site_update_priority
8
+ # rubocop: enable Naming/ClassAndModuleCamelCase
9
+
10
+ # @param [SFRest::Connection] conn
11
+ def initialize(conn)
12
+ @conn = conn
13
+ end
14
+
15
+ # Get current site update priority.
16
+ #
17
+ # @return [Array] an array of the current site update priority.
18
+ def current_update_priority
19
+ @conn.get('/api/v1/site-update-priority')
20
+ end
21
+
22
+ # Set the site update priority list.
23
+ # @param [Array] site node ids in the desired update order.
24
+ #
25
+ # @return [Array] an array containing the message given by the server.
26
+ def change_update_priority(priority)
27
+ payload = {
28
+ 'priority' => priority
29
+ }.to_json
30
+ @conn.put('/api/v1/site-update-priority', payload)
31
+ end
32
+
33
+ # Reset the site update priority to the default.
34
+ #
35
+ # @return [Array] an array containing the message given by the server.
36
+ def reset_update_priority
37
+ @conn.delete('/api/v1/site-update-priority')
38
+ end
39
+ end
40
+ end
data/lib/sfrest/stage.rb CHANGED
@@ -34,6 +34,7 @@ module SFRest
34
34
  # @param [synchronize_all_users] only stage the user accounts required for the related collections and groups
35
35
  # @param [Array] Stacks Array of stack ids to wipe
36
36
  # @param [Boolean] skip_site_files site skip file transfer during staging
37
+ # @param [Array] skip_site_files_overwrite list of files to skip during staging
37
38
  #
38
39
  # @return [Integer] Id of the staging task created.
39
40
  # rubocop:disable Metrics/ParameterLists
@@ -43,7 +44,8 @@ module SFRest
43
44
  wipe_target_environment: false,
44
45
  synchronize_all_users: true,
45
46
  wipe_stacks: [],
46
- skip_site_files: false)
47
+ skip_site_files: false,
48
+ skip_site_files_overwrite: [])
47
49
  raise InvalidApiVersion, staging_versions unless staging_versions.include? 2
48
50
 
49
51
  payload = { 'to_env' => env, 'sites' => sites,
@@ -51,7 +53,8 @@ module SFRest
51
53
  'wipe_target_environment' => wipe_target_environment,
52
54
  'synchronize_all_users' => synchronize_all_users,
53
55
  'wipe_stacks' => wipe_stacks,
54
- 'skip_site_files' => skip_site_files }.to_json
56
+ 'skip_site_files' => skip_site_files,
57
+ 'skip_site_files_overwrite' => skip_site_files_overwrite }.to_json
55
58
  @conn.post('/api/v2/stage', payload)
56
59
  end
57
60
  # rubocop:enable Metrics/ParameterLists
@@ -2,5 +2,5 @@
2
2
 
3
3
  module SFRest
4
4
  # Just tracks the version of sfrest.
5
- VERSION = '0.0.37'
5
+ VERSION = '0.0.40'
6
6
  end
data/lib/sfrest.rb CHANGED
@@ -14,15 +14,19 @@ require 'sfrest/centralized_role_management'
14
14
  require 'sfrest/codebase'
15
15
  require 'sfrest/collection'
16
16
  require 'sfrest/connection'
17
+ require 'sfrest/cron'
17
18
  require 'sfrest/domains'
18
19
  require 'sfrest/error'
20
+ require 'sfrest/factory_standard_domain'
19
21
  require 'sfrest/group'
20
22
  require 'sfrest/info'
21
23
  require 'sfrest/profile'
22
24
  require 'sfrest/pathbuilder'
23
25
  require 'sfrest/role'
24
26
  require 'sfrest/site'
27
+ require 'sfrest/site_guard'
25
28
  require 'sfrest/site_ownership'
29
+ require 'sfrest/site_update_priority'
26
30
  require 'sfrest/stage'
27
31
  require 'sfrest/task'
28
32
  require 'sfrest/theme'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sfrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.37
4
+ version: 0.0.40
5
5
  platform: ruby
6
6
  authors:
7
7
  - ACSF Engineering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-28 00:00:00.000000000 Z
11
+ date: 2022-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
@@ -107,15 +107,19 @@ files:
107
107
  - lib/sfrest/codebase.rb
108
108
  - lib/sfrest/collection.rb
109
109
  - lib/sfrest/connection.rb
110
+ - lib/sfrest/cron.rb
110
111
  - lib/sfrest/domains.rb
111
112
  - lib/sfrest/error.rb
113
+ - lib/sfrest/factory_standard_domain.rb
112
114
  - lib/sfrest/group.rb
113
115
  - lib/sfrest/info.rb
114
116
  - lib/sfrest/pathbuilder.rb
115
117
  - lib/sfrest/profile.rb
116
118
  - lib/sfrest/role.rb
117
119
  - lib/sfrest/site.rb
120
+ - lib/sfrest/site_guard.rb
118
121
  - lib/sfrest/site_ownership.rb
122
+ - lib/sfrest/site_update_priority.rb
119
123
  - lib/sfrest/stage.rb
120
124
  - lib/sfrest/task.rb
121
125
  - lib/sfrest/theme.rb