Class: Auth0::LogStreams::Client
- Inherits:
-
Object
- Object
- Auth0::LogStreams::Client
- Defined in:
- lib/auth0/log_streams/client.rb
Instance Method Summary collapse
-
#create(request_options: {}, **params) ⇒ Auth0::Types::CreateLogStreamResponseContent
Create a log stream.
-
#delete(request_options: {}, **params) ⇒ untyped
Delete a log stream.
-
#get(request_options: {}, **params) ⇒ Auth0::Types::GetLogStreamResponseContent
Retrieve a log stream configuration and status.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **_params) ⇒ Array[Auth0::Types::LogStreamResponseSchema]
Retrieve details on [log streams](auth0.com/docs/logs/streams).
-
#update(request_options: {}, **params) ⇒ Auth0::Types::UpdateLogStreamResponseContent
Update a log stream.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/auth0/log_streams/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create(request_options: {}, **params) ⇒ Auth0::Types::CreateLogStreamResponseContent
Create a log stream.
**Log Stream Types**
The ‘type` of log stream being created determines the properties required in the `sink` payload.
**HTTP Stream**
For an ‘http` Stream, the `sink` properties are listed in the payload below.
Request: “‘json {
"name": "string",
"type": "http",
"sink": {
"httpEndpoint": "string",
"httpContentType": "string",
"httpContentFormat": "JSONLINES|JSONARRAY",
"httpAuthorization": "string"
}
} “‘
Response: “‘json {
"id": "string",
"name": "string",
"type": "http",
"status": "active",
"sink": {
"httpEndpoint": "string",
"httpContentType": "string",
"httpContentFormat": "JSONLINES|JSONARRAY",
"httpAuthorization": "string"
}
} “‘
**Amazon EventBridge Stream**
For an ‘eventbridge` Stream, the `sink` properties are listed in the payload below.
Request: “‘json {
"name": "string",
"type": "eventbridge",
"sink": {
"awsRegion": "string",
"awsAccountId": "string"
}
} “‘
The response will include an additional field ‘awsPartnerEventSource` in the `sink`:
Response: “‘json {
"id": "string",
"name": "string",
"type": "eventbridge",
"status": "active",
"sink": {
"awsAccountId": "string",
"awsRegion": "string",
"awsPartnerEventSource": "string"
}
} “‘
**Azure Event Grid Stream**
For an ‘Azure Event Grid` Stream, the `sink` properties are listed in the payload below.
Request: “‘json {
"name": "string",
"type": "eventgrid",
"sink": {
"azureSubscriptionId": "string",
"azureResourceGroup": "string",
"azureRegion": "string"
}
} “‘
Response: “‘json {
"id": "string",
"name": "string",
"type": "http",
"status": "active",
"sink": {
"azureSubscriptionId": "string",
"azureResourceGroup": "string",
"azureRegion": "string",
"azurePartnerTopic": "string"
}
} “‘
**Datadog Stream**
For a ‘Datadog` Stream, the `sink` properties are listed in the payload below.
Request: “‘json {
"name": "string",
"type": "datadog",
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
} “‘
Response: “‘json {
"id": "string",
"name": "string",
"type": "datadog",
"status": "active",
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
} “‘
**Splunk Stream**
For a ‘Splunk` Stream, the `sink` properties are listed in the payload below.
Request: “‘json {
"name": "string",
"type": "splunk",
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
} “‘
Response: “‘json {
"id": "string",
"name": "string",
"type": "splunk",
"status": "active",
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
} “‘
**Sumo Logic Stream**
For a ‘Sumo Logic` Stream, the `sink` properties are listed in the payload below.
Request: “‘json {
"name": "string",
"type": "sumo",
"sink": {
"sumoSourceAddress": "string"
}
} “‘
Response: “‘json {
"id": "string",
"name": "string",
"type": "sumo",
"status": "active",
"sink": {
"sumoSourceAddress": "string"
}
} “‘
320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 |
# File 'lib/auth0/log_streams/client.rb', line 320 def create(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "log-streams", body: Auth0::Types::CreateLogStreamRequestContent.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Auth0::Types::CreateLogStreamResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#delete(request_options: {}, **params) ⇒ untyped
Delete a log stream.
540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 |
# File 'lib/auth0/log_streams/client.rb', line 540 def delete(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "DELETE", path: "log-streams/#{URI.encode_uri_component(params[:id].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#get(request_options: {}, **params) ⇒ Auth0::Types::GetLogStreamResponseContent
Retrieve a log stream configuration and status.
**Sample responses**
**Amazon EventBridge Log Stream**
“‘json {
"id": "string",
"name": "string",
"type": "eventbridge",
"status": "active|paused|suspended",
"sink": {
"awsAccountId": "string",
"awsRegion": "string",
"awsPartnerEventSource": "string"
}
} “‘
**HTTP Log Stream**
“‘json {
"id": "string",
"name": "string",
"type": "http",
"status": "active|paused|suspended",
"sink": {
"httpContentFormat": "JSONLINES|JSONARRAY",
"httpContentType": "string",
"httpEndpoint": "string",
"httpAuthorization": "string"
}
} “‘
**Datadog Log Stream**
“‘json {
"id": "string",
"name": "string",
"type": "datadog",
"status": "active|paused|suspended",
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
} “‘
Mixpanel
Request:
“‘json {
"name": "string",
"type": "mixpanel",
"sink": {
"mixpanelRegion": "string",
"mixpanelProjectId": "string",
"mixpanelServiceAccountUsername": "string",
"mixpanelServiceAccountPassword": "string"
}
} “‘
Response:
“‘json {
"id": "string",
"name": "string",
"type": "mixpanel",
"status": "active",
"sink": {
"mixpanelRegion": "string",
"mixpanelProjectId": "string",
"mixpanelServiceAccountUsername": "string",
"mixpanelServiceAccountPassword": "string"
}
} “‘
Segment
Request:
“‘json {
"name": "string",
"type": "segment",
"sink": {
"segmentWriteKey": "string"
}
} “‘
Response:
“‘json {
"id": "string",
"name": "string",
"type": "segment",
"status": "active",
"sink": {
"segmentWriteKey": "string"
}
} “‘
**Splunk Log Stream**
“‘json {
"id": "string",
"name": "string",
"type": "splunk",
"status": "active|paused|suspended",
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
} “‘
**Sumo Logic Log Stream**
“‘json {
"id": "string",
"name": "string",
"type": "sumo",
"status": "active|paused|suspended",
"sink": {
"sumoSourceAddress": "string"
}
} “‘
Status
The ‘status` of a log stream maybe any of the following:
-
‘active` - Stream is currently enabled.
-
‘paused` - Stream is currently user disabled and will not attempt log delivery.
-
‘suspended` - Stream is currently disabled because of errors and will not attempt log delivery.
506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 |
# File 'lib/auth0/log_streams/client.rb', line 506 def get(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "log-streams/#{URI.encode_uri_component(params[:id].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Auth0::Types::GetLogStreamResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#list(request_options: {}, **_params) ⇒ Array[Auth0::Types::LogStreamResponseSchema]
Retrieve details on [log streams](auth0.com/docs/logs/streams).
**Sample Response**
“‘json [{
"id": "string",
"name": "string",
"type": "eventbridge",
"status": "active|paused|suspended",
"sink": {
"awsAccountId": "string",
"awsRegion": "string",
"awsPartnerEventSource": "string"
}
}, {
"id": "string",
"name": "string",
"type": "http",
"status": "active|paused|suspended",
"sink": {
"httpContentFormat": "JSONLINES|JSONARRAY",
"httpContentType": "string",
"httpEndpoint": "string",
"httpAuthorization": "string"
}
}, {
"id": "string",
"name": "string",
"type": "eventgrid",
"status": "active|paused|suspended",
"sink": {
"azureSubscriptionId": "string",
"azureResourceGroup": "string",
"azureRegion": "string",
"azurePartnerTopic": "string"
}
}, {
"id": "string",
"name": "string",
"type": "splunk",
"status": "active|paused|suspended",
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
}, {
"id": "string",
"name": "string",
"type": "sumo",
"status": "active|paused|suspended",
"sink": {
"sumoSourceAddress": "string"
}
}, {
"id": "string",
"name": "string",
"type": "datadog",
"status": "active|paused|suspended",
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
}] “‘
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/auth0/log_streams/client.rb', line 94 def list(request_options: {}, **_params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "log-streams", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#update(request_options: {}, **params) ⇒ Auth0::Types::UpdateLogStreamResponseContent
Update a log stream.
**Examples of how to use the PATCH endpoint.**
The following fields may be updated in a PATCH operation:
-
name
-
status
-
sink
Note: For log streams of type ‘eventbridge` and `eventgrid`, updating the `sink` is not permitted.
**Update the status of a log stream**
“‘json
"status": "active|paused"
“‘
**Update the name of a log stream**
“‘json
"name": "string"
“‘
**Update the sink properties of a stream of type ‘http`**
“‘json {
"sink": {
"httpEndpoint": "string",
"httpContentType": "string",
"httpContentFormat": "JSONARRAY|JSONLINES",
"httpAuthorization": "string"
}
} “‘
**Update the sink properties of a stream of type ‘datadog`**
“‘json {
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
} “‘
**Update the sink properties of a stream of type ‘splunk`**
“‘json {
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
} “‘
**Update the sink properties of a stream of type ‘sumo`**
“‘json {
"sink": {
"sumoSourceAddress": "string"
}
} “‘
645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 |
# File 'lib/auth0/log_streams/client.rb', line 645 def update(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request_data = Auth0::LogStreams::Types::UpdateLogStreamRequestContent.new(params).to_h non_body_param_names = %w[id] body = request_data.except(*non_body_param_names) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "PATCH", path: "log-streams/#{URI.encode_uri_component(params[:id].to_s)}", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Auth0::Types::UpdateLogStreamResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |