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.
-
#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:
{
"name": "string",
"type": "http",
"sink": {
"httpEndpoint": "string",
"httpContentType": "string",
"httpContentFormat": "JSONLINES|JSONARRAY",
"httpAuthorization": "string"
}
}
Response:
{
"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:
{
"name": "string",
"type": "eventbridge",
"sink": {
"awsRegion": "string",
"awsAccountId": "string"
}
}
The response will include an additional field awsPartnerEventSource in the sink:
Response:
{
"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:
{
"name": "string",
"type": "eventgrid",
"sink": {
"azureSubscriptionId": "string",
"azureResourceGroup": "string",
"azureRegion": "string"
}
}
Response:
{
"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:
{
"name": "string",
"type": "datadog",
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
}
Response:
{
"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:
{
"name": "string",
"type": "splunk",
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
}
Response:
{
"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:
{
"name": "string",
"type": "sumo",
"sink": {
"sumoSourceAddress": "string"
}
}
Response:
{
"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
{
"id": "string",
"name": "string",
"type": "eventbridge",
"status": "active|paused|suspended",
"sink": {
"awsAccountId": "string",
"awsRegion": "string",
"awsPartnerEventSource": "string"
}
}
HTTP Log Stream
{
"id": "string",
"name": "string",
"type": "http",
"status": "active|paused|suspended",
"sink": {
"httpContentFormat": "JSONLINES|JSONARRAY",
"httpContentType": "string",
"httpEndpoint": "string",
"httpAuthorization": "string"
}
}
Datadog Log Stream
{
"id": "string",
"name": "string",
"type": "datadog",
"status": "active|paused|suspended",
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
}
Mixpanel
Request:
{
"name": "string",
"type": "mixpanel",
"sink": {
"mixpanelRegion": "string",
"mixpanelProjectId": "string",
"mixpanelServiceAccountUsername": "string",
"mixpanelServiceAccountPassword": "string"
}
}
Response:
{
"id": "string",
"name": "string",
"type": "mixpanel",
"status": "active",
"sink": {
"mixpanelRegion": "string",
"mixpanelProjectId": "string",
"mixpanelServiceAccountUsername": "string",
"mixpanelServiceAccountPassword": "string"
}
}
Segment
Request:
{
"name": "string",
"type": "segment",
"sink": {
"segmentWriteKey": "string"
}
}
Response:
{
"id": "string",
"name": "string",
"type": "segment",
"status": "active",
"sink": {
"segmentWriteKey": "string"
}
}
Splunk Log Stream
{
"id": "string",
"name": "string",
"type": "splunk",
"status": "active|paused|suspended",
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
}
Sumo Logic Log Stream
{
"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.
Sample Response
[{
"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
{
"status": "active|paused"
}
Update the name of a log stream
{
"name": "string"
}
Update the sink properties of a stream of type http
{
"sink": {
"httpEndpoint": "string",
"httpContentType": "string",
"httpContentFormat": "JSONARRAY|JSONLINES",
"httpAuthorization": "string"
}
}
Update the sink properties of a stream of type datadog
{
"sink": {
"datadogRegion": "string",
"datadogApiKey": "string"
}
}
Update the sink properties of a stream of type splunk
{
"sink": {
"splunkDomain": "string",
"splunkToken": "string",
"splunkPort": "string",
"splunkSecure": "boolean"
}
}
Update the sink properties of a stream of type sumo
{
"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 |