incident_io_api 1.3.0 → 2.1.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.
@@ -0,0 +1,191 @@
1
+ =begin
2
+ #incident.io
3
+
4
+ #Ruby client for the incident.io API.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module IncidentIo
17
+ class IncidentTeamMembershipsRevokePayloadV1 < ApiModelBase
18
+ # Revoke team access to this incident
19
+ attr_accessor :incident_id
20
+
21
+ attr_accessor :team_id
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'incident_id' => :'incident_id',
27
+ :'team_id' => :'team_id'
28
+ }
29
+ end
30
+
31
+ # Returns attribute mapping this model knows about
32
+ def self.acceptable_attribute_map
33
+ attribute_map
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ acceptable_attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'incident_id' => :'String',
45
+ :'team_id' => :'String'
46
+ }
47
+ end
48
+
49
+ # List of attributes with nullable: true
50
+ def self.openapi_nullable
51
+ Set.new([
52
+ ])
53
+ end
54
+
55
+ # Initializes the object
56
+ # @param [Hash] attributes Model attributes in the form of hash
57
+ def initialize(attributes = {})
58
+ if (!attributes.is_a?(Hash))
59
+ fail ArgumentError, "The input argument (attributes) must be a hash in `IncidentIo::IncidentTeamMembershipsRevokePayloadV1` initialize method"
60
+ end
61
+
62
+ # check to see if the attribute exists and convert string to symbol for hash key
63
+ acceptable_attribute_map = self.class.acceptable_attribute_map
64
+ attributes = attributes.each_with_object({}) { |(k, v), h|
65
+ if (!acceptable_attribute_map.key?(k.to_sym))
66
+ fail ArgumentError, "`#{k}` is not a valid attribute in `IncidentIo::IncidentTeamMembershipsRevokePayloadV1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
67
+ end
68
+ h[k.to_sym] = v
69
+ }
70
+
71
+ if attributes.key?(:'incident_id')
72
+ self.incident_id = attributes[:'incident_id']
73
+ else
74
+ self.incident_id = nil
75
+ end
76
+
77
+ if attributes.key?(:'team_id')
78
+ self.team_id = attributes[:'team_id']
79
+ else
80
+ self.team_id = nil
81
+ end
82
+ end
83
+
84
+ # Show invalid properties with the reasons. Usually used together with valid?
85
+ # @return Array for valid properties with the reasons
86
+ def list_invalid_properties
87
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
88
+ invalid_properties = Array.new
89
+ if @incident_id.nil?
90
+ invalid_properties.push('invalid value for "incident_id", incident_id cannot be nil.')
91
+ end
92
+
93
+ if @team_id.nil?
94
+ invalid_properties.push('invalid value for "team_id", team_id cannot be nil.')
95
+ end
96
+
97
+ invalid_properties
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ def valid?
103
+ warn '[DEPRECATED] the `valid?` method is obsolete'
104
+ return false if @incident_id.nil?
105
+ return false if @team_id.nil?
106
+ true
107
+ end
108
+
109
+ # Custom attribute writer method with validation
110
+ # @param [Object] incident_id Value to be assigned
111
+ def incident_id=(incident_id)
112
+ if incident_id.nil?
113
+ fail ArgumentError, 'incident_id cannot be nil'
114
+ end
115
+
116
+ @incident_id = incident_id
117
+ end
118
+
119
+ # Custom attribute writer method with validation
120
+ # @param [Object] team_id Value to be assigned
121
+ def team_id=(team_id)
122
+ if team_id.nil?
123
+ fail ArgumentError, 'team_id cannot be nil'
124
+ end
125
+
126
+ @team_id = team_id
127
+ end
128
+
129
+ # Checks equality by comparing each attribute.
130
+ # @param [Object] Object to be compared
131
+ def ==(o)
132
+ return true if self.equal?(o)
133
+ self.class == o.class &&
134
+ incident_id == o.incident_id &&
135
+ team_id == o.team_id
136
+ end
137
+
138
+ # @see the `==` method
139
+ # @param [Object] Object to be compared
140
+ def eql?(o)
141
+ self == o
142
+ end
143
+
144
+ # Calculates hash code according to all attributes.
145
+ # @return [Integer] Hash code
146
+ def hash
147
+ [incident_id, team_id].hash
148
+ end
149
+
150
+ # Builds the object from hash
151
+ # @param [Hash] attributes Model attributes in the form of hash
152
+ # @return [Object] Returns the model itself
153
+ def self.build_from_hash(attributes)
154
+ return nil unless attributes.is_a?(Hash)
155
+ attributes = attributes.transform_keys(&:to_sym)
156
+ transformed_hash = {}
157
+ openapi_types.each_pair do |key, type|
158
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
159
+ transformed_hash["#{key}"] = nil
160
+ elsif type =~ /\AArray<(.*)>/i
161
+ # check to ensure the input is an array given that the attribute
162
+ # is documented as an array but the input is not
163
+ if attributes[attribute_map[key]].is_a?(Array)
164
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
165
+ end
166
+ elsif !attributes[attribute_map[key]].nil?
167
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
168
+ end
169
+ end
170
+ new(transformed_hash)
171
+ end
172
+
173
+ # Returns the object in the form of hash
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_hash
176
+ hash = {}
177
+ self.class.attribute_map.each_pair do |attr, param|
178
+ value = self.send(attr)
179
+ if value.nil?
180
+ is_nullable = self.class.openapi_nullable.include?(attr)
181
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
182
+ end
183
+
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ end
190
+
191
+ end
@@ -0,0 +1,192 @@
1
+ =begin
2
+ #incident.io
3
+
4
+ #Ruby client for the incident.io API.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.25.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module IncidentIo
17
+ class IncidentTeamV1 < ApiModelBase
18
+ # Unique identifier of the team
19
+ attr_accessor :id
20
+
21
+ # Human readable name of the team
22
+ attr_accessor :name
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'id' => :'id',
28
+ :'name' => :'name'
29
+ }
30
+ end
31
+
32
+ # Returns attribute mapping this model knows about
33
+ def self.acceptable_attribute_map
34
+ attribute_map
35
+ end
36
+
37
+ # Returns all the JSON keys this model knows about
38
+ def self.acceptable_attributes
39
+ acceptable_attribute_map.values
40
+ end
41
+
42
+ # Attribute type mapping.
43
+ def self.openapi_types
44
+ {
45
+ :'id' => :'String',
46
+ :'name' => :'String'
47
+ }
48
+ end
49
+
50
+ # List of attributes with nullable: true
51
+ def self.openapi_nullable
52
+ Set.new([
53
+ ])
54
+ end
55
+
56
+ # Initializes the object
57
+ # @param [Hash] attributes Model attributes in the form of hash
58
+ def initialize(attributes = {})
59
+ if (!attributes.is_a?(Hash))
60
+ fail ArgumentError, "The input argument (attributes) must be a hash in `IncidentIo::IncidentTeamV1` initialize method"
61
+ end
62
+
63
+ # check to see if the attribute exists and convert string to symbol for hash key
64
+ acceptable_attribute_map = self.class.acceptable_attribute_map
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!acceptable_attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `IncidentIo::IncidentTeamV1`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'id')
73
+ self.id = attributes[:'id']
74
+ else
75
+ self.id = nil
76
+ end
77
+
78
+ if attributes.key?(:'name')
79
+ self.name = attributes[:'name']
80
+ else
81
+ self.name = nil
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
89
+ invalid_properties = Array.new
90
+ if @id.nil?
91
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
92
+ end
93
+
94
+ if @name.nil?
95
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ warn '[DEPRECATED] the `valid?` method is obsolete'
105
+ return false if @id.nil?
106
+ return false if @name.nil?
107
+ true
108
+ end
109
+
110
+ # Custom attribute writer method with validation
111
+ # @param [Object] id Value to be assigned
112
+ def id=(id)
113
+ if id.nil?
114
+ fail ArgumentError, 'id cannot be nil'
115
+ end
116
+
117
+ @id = id
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] name Value to be assigned
122
+ def name=(name)
123
+ if name.nil?
124
+ fail ArgumentError, 'name cannot be nil'
125
+ end
126
+
127
+ @name = name
128
+ end
129
+
130
+ # Checks equality by comparing each attribute.
131
+ # @param [Object] Object to be compared
132
+ def ==(o)
133
+ return true if self.equal?(o)
134
+ self.class == o.class &&
135
+ id == o.id &&
136
+ name == o.name
137
+ end
138
+
139
+ # @see the `==` method
140
+ # @param [Object] Object to be compared
141
+ def eql?(o)
142
+ self == o
143
+ end
144
+
145
+ # Calculates hash code according to all attributes.
146
+ # @return [Integer] Hash code
147
+ def hash
148
+ [id, name].hash
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def self.build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ attributes = attributes.transform_keys(&:to_sym)
157
+ transformed_hash = {}
158
+ openapi_types.each_pair do |key, type|
159
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
160
+ transformed_hash["#{key}"] = nil
161
+ elsif type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[attribute_map[key]].is_a?(Array)
165
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
166
+ end
167
+ elsif !attributes[attribute_map[key]].nil?
168
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
169
+ end
170
+ end
171
+ new(transformed_hash)
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ end
191
+
192
+ end
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module IncidentIo
17
- # A single shift on a schedule, representing who is on-call between a start and end time. When present, `rotation_id` and `layer_id` tell you which rotation and which layer within that rotation the entry belongs to. A schedule may have multiple rotations (for example, a primary and a secondary rotation) and each rotation can be made up of several layers — entries are returned for every rotation and layer on the schedule. Entries come from two places: they are either generated from a schedule's rotation configuration (the regular pattern of who is on-call) or created by an override (a one-off change that replaces the normal rotation for a period of time). When you call the List schedule entries endpoint we return both kinds separately, along with the merged `final` schedule that reflects what will actually happen. `entry_id` is only populated for entries that correspond to a stored record. Scheduled entries are projections computed from the rotation rules on the fly and don't have a persisted ID, so `entry_id` will be absent for those. Use `fingerprint` if you need a stable identifier to deduplicate or diff a shift across requests.
17
+ # A single shift on a schedule, representing who is on-call between a start and end time. When present, `rotation_id` tells you which rotation the entry belongs to. A schedule may have multiple rotations (for example, a primary and a secondary rotation) and each rotation can be made up of several layers — entries are returned for every rotation and layer on the schedule. Entries come from two places: they are either generated from a schedule's rotation configuration (the regular pattern of who is on-call) or created by an override (a one-off change that replaces the normal rotation for a period of time). When you call the List schedule entries endpoint we return both kinds separately, along with the merged `final` schedule that reflects what will actually happen. `entry_id` is only populated for entries that correspond to a stored record. Scheduled entries are projections computed from the rotation rules on the fly and don't have a persisted ID, so `entry_id` will be absent for those. Use `fingerprint` if you need a stable identifier to deduplicate or diff a shift across requests.
18
18
  class ScheduleEntryV2 < ApiModelBase
19
19
  attr_accessor :end_at
20
20
 
@@ -24,9 +24,6 @@ module IncidentIo
24
24
  # A unique identifier for this entry, used to determine a unique shift
25
25
  attr_accessor :fingerprint
26
26
 
27
- # If present, the layer this entry applies to on the rotation
28
- attr_accessor :layer_id
29
-
30
27
  # If present, the rotation this entry applies to on the schedule
31
28
  attr_accessor :rotation_id
32
29
 
@@ -40,7 +37,6 @@ module IncidentIo
40
37
  :'end_at' => :'end_at',
41
38
  :'entry_id' => :'entry_id',
42
39
  :'fingerprint' => :'fingerprint',
43
- :'layer_id' => :'layer_id',
44
40
  :'rotation_id' => :'rotation_id',
45
41
  :'start_at' => :'start_at',
46
42
  :'user' => :'user'
@@ -63,7 +59,6 @@ module IncidentIo
63
59
  :'end_at' => :'Time',
64
60
  :'entry_id' => :'String',
65
61
  :'fingerprint' => :'String',
66
- :'layer_id' => :'String',
67
62
  :'rotation_id' => :'String',
68
63
  :'start_at' => :'Time',
69
64
  :'user' => :'UserV2'
@@ -106,10 +101,6 @@ module IncidentIo
106
101
  self.fingerprint = attributes[:'fingerprint']
107
102
  end
108
103
 
109
- if attributes.key?(:'layer_id')
110
- self.layer_id = attributes[:'layer_id']
111
- end
112
-
113
104
  if attributes.key?(:'rotation_id')
114
105
  self.rotation_id = attributes[:'rotation_id']
115
106
  end
@@ -178,7 +169,6 @@ module IncidentIo
178
169
  end_at == o.end_at &&
179
170
  entry_id == o.entry_id &&
180
171
  fingerprint == o.fingerprint &&
181
- layer_id == o.layer_id &&
182
172
  rotation_id == o.rotation_id &&
183
173
  start_at == o.start_at &&
184
174
  user == o.user
@@ -193,7 +183,7 @@ module IncidentIo
193
183
  # Calculates hash code according to all attributes.
194
184
  # @return [Integer] Hash code
195
185
  def hash
196
- [end_at, entry_id, fingerprint, layer_id, rotation_id, start_at, user].hash
186
+ [end_at, entry_id, fingerprint, rotation_id, start_at, user].hash
197
187
  end
198
188
 
199
189
  # Builds the object from hash
@@ -4,5 +4,5 @@ module IncidentIo
4
4
  # The release workflow sets this before building, so it tracks whatever we
5
5
  # last published. Listed in .openapi-generator-ignore so regeneration can't
6
6
  # reset it.
7
- VERSION = "1.3.0"
7
+ VERSION = "2.1.0"
8
8
  end
data/lib/incident_io.rb CHANGED
@@ -374,6 +374,7 @@ IncidentIo.autoload :AuditLogsOnCallNotificationPauseCreatedV1, 'incident_io/mod
374
374
  IncidentIo.autoload :AuditLogsOnCallNotificationPauseCreatedV2, 'incident_io/models/audit_logs_on_call_notification_pause_created_v2'
375
375
  IncidentIo.autoload :AuditLogsOnCallNotificationPauseDeletedV1, 'incident_io/models/audit_logs_on_call_notification_pause_deleted_v1'
376
376
  IncidentIo.autoload :AuditLogsOnCallNotificationPauseDeletedV2, 'incident_io/models/audit_logs_on_call_notification_pause_deleted_v2'
377
+ IncidentIo.autoload :AuditLogsOnCallNotificationPauseResumedV1, 'incident_io/models/audit_logs_on_call_notification_pause_resumed_v1'
377
378
  IncidentIo.autoload :AuditLogsOnCallNotificationPauseUpdatedV1, 'incident_io/models/audit_logs_on_call_notification_pause_updated_v1'
378
379
  IncidentIo.autoload :AuditLogsOnCallNotificationPauseUpdatedV2, 'incident_io/models/audit_logs_on_call_notification_pause_updated_v2'
379
380
  IncidentIo.autoload :AuditLogsOnCallUpsellRequestedV1, 'incident_io/models/audit_logs_on_call_upsell_requested_v1'
@@ -813,6 +814,11 @@ IncidentIo.autoload :IncidentStatusesListResultV1, 'incident_io/models/incident_
813
814
  IncidentIo.autoload :IncidentStatusesShowResultV1, 'incident_io/models/incident_statuses_show_result_v1'
814
815
  IncidentIo.autoload :IncidentStatusesUpdatePayloadV1, 'incident_io/models/incident_statuses_update_payload_v1'
815
816
  IncidentIo.autoload :IncidentStatusesUpdateResultV1, 'incident_io/models/incident_statuses_update_result_v1'
817
+ IncidentIo.autoload :IncidentTeamMembershipV1, 'incident_io/models/incident_team_membership_v1'
818
+ IncidentIo.autoload :IncidentTeamMembershipsCreatePayloadV1, 'incident_io/models/incident_team_memberships_create_payload_v1'
819
+ IncidentIo.autoload :IncidentTeamMembershipsCreateResultV1, 'incident_io/models/incident_team_memberships_create_result_v1'
820
+ IncidentIo.autoload :IncidentTeamMembershipsRevokePayloadV1, 'incident_io/models/incident_team_memberships_revoke_payload_v1'
821
+ IncidentIo.autoload :IncidentTeamV1, 'incident_io/models/incident_team_v1'
816
822
  IncidentIo.autoload :IncidentTemplateAutoGeneratedBindingPayloadV1, 'incident_io/models/incident_template_auto_generated_binding_payload_v1'
817
823
  IncidentIo.autoload :IncidentTemplateAutoGeneratedBindingV1, 'incident_io/models/incident_template_auto_generated_binding_v1'
818
824
  IncidentIo.autoload :IncidentTemplateBindingPayloadV1, 'incident_io/models/incident_template_binding_payload_v1'
@@ -1229,6 +1235,7 @@ IncidentIo.autoload :IncidentRelationshipsV1Api, 'incident_io/api/incident_relat
1229
1235
  IncidentIo.autoload :IncidentRolesV1Api, 'incident_io/api/incident_roles_v1_api'
1230
1236
  IncidentIo.autoload :IncidentRolesV2Api, 'incident_io/api/incident_roles_v2_api'
1231
1237
  IncidentIo.autoload :IncidentStatusesV1Api, 'incident_io/api/incident_statuses_v1_api'
1238
+ IncidentIo.autoload :IncidentTeamMembershipsV1Api, 'incident_io/api/incident_team_memberships_v1_api'
1232
1239
  IncidentIo.autoload :IncidentTemplatesV1Api, 'incident_io/api/incident_templates_v1_api'
1233
1240
  IncidentIo.autoload :IncidentTimelineItemsV2Api, 'incident_io/api/incident_timeline_items_v2_api'
1234
1241
  IncidentIo.autoload :IncidentTimestampsV2Api, 'incident_io/api/incident_timestamps_v2_api'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: incident_io_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - incident.io
@@ -110,6 +110,7 @@ files:
110
110
  - lib/incident_io/api/incident_roles_v1_api.rb
111
111
  - lib/incident_io/api/incident_roles_v2_api.rb
112
112
  - lib/incident_io/api/incident_statuses_v1_api.rb
113
+ - lib/incident_io/api/incident_team_memberships_v1_api.rb
113
114
  - lib/incident_io/api/incident_templates_v1_api.rb
114
115
  - lib/incident_io/api/incident_timeline_items_v2_api.rb
115
116
  - lib/incident_io/api/incident_timestamps_v2_api.rb
@@ -495,6 +496,7 @@ files:
495
496
  - lib/incident_io/models/audit_logs_on_call_notification_pause_created_v2.rb
496
497
  - lib/incident_io/models/audit_logs_on_call_notification_pause_deleted_v1.rb
497
498
  - lib/incident_io/models/audit_logs_on_call_notification_pause_deleted_v2.rb
499
+ - lib/incident_io/models/audit_logs_on_call_notification_pause_resumed_v1.rb
498
500
  - lib/incident_io/models/audit_logs_on_call_notification_pause_updated_v1.rb
499
501
  - lib/incident_io/models/audit_logs_on_call_notification_pause_updated_v2.rb
500
502
  - lib/incident_io/models/audit_logs_on_call_upsell_requested_v1.rb
@@ -928,6 +930,11 @@ files:
928
930
  - lib/incident_io/models/incident_statuses_show_result_v1.rb
929
931
  - lib/incident_io/models/incident_statuses_update_payload_v1.rb
930
932
  - lib/incident_io/models/incident_statuses_update_result_v1.rb
933
+ - lib/incident_io/models/incident_team_membership_v1.rb
934
+ - lib/incident_io/models/incident_team_memberships_create_payload_v1.rb
935
+ - lib/incident_io/models/incident_team_memberships_create_result_v1.rb
936
+ - lib/incident_io/models/incident_team_memberships_revoke_payload_v1.rb
937
+ - lib/incident_io/models/incident_team_v1.rb
931
938
  - lib/incident_io/models/incident_template_auto_generated_binding_payload_v1.rb
932
939
  - lib/incident_io/models/incident_template_auto_generated_binding_v1.rb
933
940
  - lib/incident_io/models/incident_template_binding_payload_v1.rb