@tool
extends TwitchData

# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.

class_name TwitchSetExtensionConfigurationSegment
	


## 
## #/components/schemas/SetExtensionConfigurationSegmentBody
class Body extends TwitchData:

	## The ID of the extension to update.
	@export var extension_id: String:
		set(val): 
			extension_id = val
			track_data(&"extension_id", val)
	
	## The configuration segment to update. Possible case-sensitive values are:  
	##   
	## * broadcaster
	## * developer
	## * global
	@export var segment: String:
		set(val): 
			segment = val
			track_data(&"segment", val)
	
	## The ID of the broadcaster that installed the extension. Include this field only if the `segment` is set to developer or broadcaster.
	@export var broadcaster_id: String:
		set(val): 
			broadcaster_id = val
			track_data(&"broadcaster_id", val)
	
	## The contents of the segment. This string may be a plain-text string or a string-encoded JSON object.
	@export var content: String:
		set(val): 
			content = val
			track_data(&"content", val)
	
	## The version number that identifies this definition of the segment’s data. If not specified, the latest definition is updated.
	@export var version: String:
		set(val): 
			version = val
			track_data(&"version", val)
	var response: BufferedHTTPClient.ResponseData
	
	
	## Constructor with all required fields.
	static func create(_extension_id: String, _segment: String) -> Body:
		var body: Body = Body.new()
		body.extension_id = _extension_id
		body.segment = _segment
		return body
	
	
	static func from_json(d: Dictionary) -> Body:
		var result: Body = Body.new()
		if d.get("extension_id", null) != null:
			result.extension_id = d["extension_id"]
		if d.get("segment", null) != null:
			result.segment = d["segment"]
		if d.get("broadcaster_id", null) != null:
			result.broadcaster_id = d["broadcaster_id"]
		if d.get("content", null) != null:
			result.content = d["content"]
		if d.get("version", null) != null:
			result.version = d["version"]
		return result
	