# coding=utf-8
# *** WARNING: this file was generated by pulumi-language-python. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins as _builtins
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities
from . import outputs

__all__ = [
    'GetEventEventResult',
    'GetEventEventResourceResult',
]

@pulumi.output_type
class GetEventEventResult(dict):
    def __init__(__self__, *,
                 id: _builtins.str,
                 locality: _builtins.str,
                 method_name: _builtins.str,
                 organization_id: _builtins.str,
                 principal_id: _builtins.str,
                 product_name: _builtins.str,
                 project_id: _builtins.str,
                 recorded_at: _builtins.str,
                 request_body: _builtins.str,
                 request_id: _builtins.str,
                 resources: Sequence['outputs.GetEventEventResourceResult'],
                 service_name: _builtins.str,
                 source_ip: _builtins.str,
                 status_code: _builtins.int,
                 user_agent: _builtins.str):
        """
        :param _builtins.str id: ID of the resource attached to the event. (UUID format)
        :param _builtins.str locality: Locality of the resource attached to the event.
        :param _builtins.str method_name: Name of the method of the API call performed.
        :param _builtins.str organization_id: `organization_id`) ID of the Organization containing the Audit Trail events.
        :param _builtins.str principal_id: ID of the User or IAM application at the origin of the event.
        :param _builtins.str product_name: Name of the Scaleway product in a hyphenated format.
        :param _builtins.str project_id: ID of the Project containing the Audit Trail events.
        :param _builtins.str recorded_at: Timestamp of the event. (RFC 3339 format)
        :param _builtins.str request_body: Request at the origin of the event.
        :param _builtins.str request_id: Unique identifier of the request at the origin of the event. (UUID format)
        :param Sequence['GetEventEventResourceArgs'] resources: List of resources attached to the event.
        :param _builtins.str service_name: Name of the service of the API call performed.
        :param _builtins.str source_ip: IP address at the origin of the event.
        :param _builtins.int status_code: HTTP status code resulting of the API call.
        :param _builtins.str user_agent: User Agent at the origin of the event.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "locality", locality)
        pulumi.set(__self__, "method_name", method_name)
        pulumi.set(__self__, "organization_id", organization_id)
        pulumi.set(__self__, "principal_id", principal_id)
        pulumi.set(__self__, "product_name", product_name)
        pulumi.set(__self__, "project_id", project_id)
        pulumi.set(__self__, "recorded_at", recorded_at)
        pulumi.set(__self__, "request_body", request_body)
        pulumi.set(__self__, "request_id", request_id)
        pulumi.set(__self__, "resources", resources)
        pulumi.set(__self__, "service_name", service_name)
        pulumi.set(__self__, "source_ip", source_ip)
        pulumi.set(__self__, "status_code", status_code)
        pulumi.set(__self__, "user_agent", user_agent)

    @_builtins.property
    @pulumi.getter
    def id(self) -> _builtins.str:
        """
        ID of the resource attached to the event. (UUID format)
        """
        return pulumi.get(self, "id")

    @_builtins.property
    @pulumi.getter
    def locality(self) -> _builtins.str:
        """
        Locality of the resource attached to the event.
        """
        return pulumi.get(self, "locality")

    @_builtins.property
    @pulumi.getter(name="methodName")
    def method_name(self) -> _builtins.str:
        """
        Name of the method of the API call performed.
        """
        return pulumi.get(self, "method_name")

    @_builtins.property
    @pulumi.getter(name="organizationId")
    def organization_id(self) -> _builtins.str:
        """
        `organization_id`) ID of the Organization containing the Audit Trail events.
        """
        return pulumi.get(self, "organization_id")

    @_builtins.property
    @pulumi.getter(name="principalId")
    def principal_id(self) -> _builtins.str:
        """
        ID of the User or IAM application at the origin of the event.
        """
        return pulumi.get(self, "principal_id")

    @_builtins.property
    @pulumi.getter(name="productName")
    def product_name(self) -> _builtins.str:
        """
        Name of the Scaleway product in a hyphenated format.
        """
        return pulumi.get(self, "product_name")

    @_builtins.property
    @pulumi.getter(name="projectId")
    def project_id(self) -> _builtins.str:
        """
        ID of the Project containing the Audit Trail events.
        """
        return pulumi.get(self, "project_id")

    @_builtins.property
    @pulumi.getter(name="recordedAt")
    def recorded_at(self) -> _builtins.str:
        """
        Timestamp of the event. (RFC 3339 format)
        """
        return pulumi.get(self, "recorded_at")

    @_builtins.property
    @pulumi.getter(name="requestBody")
    def request_body(self) -> _builtins.str:
        """
        Request at the origin of the event.
        """
        return pulumi.get(self, "request_body")

    @_builtins.property
    @pulumi.getter(name="requestId")
    def request_id(self) -> _builtins.str:
        """
        Unique identifier of the request at the origin of the event. (UUID format)
        """
        return pulumi.get(self, "request_id")

    @_builtins.property
    @pulumi.getter
    def resources(self) -> Sequence['outputs.GetEventEventResourceResult']:
        """
        List of resources attached to the event.
        """
        return pulumi.get(self, "resources")

    @_builtins.property
    @pulumi.getter(name="serviceName")
    def service_name(self) -> _builtins.str:
        """
        Name of the service of the API call performed.
        """
        return pulumi.get(self, "service_name")

    @_builtins.property
    @pulumi.getter(name="sourceIp")
    def source_ip(self) -> _builtins.str:
        """
        IP address at the origin of the event.
        """
        return pulumi.get(self, "source_ip")

    @_builtins.property
    @pulumi.getter(name="statusCode")
    def status_code(self) -> _builtins.int:
        """
        HTTP status code resulting of the API call.
        """
        return pulumi.get(self, "status_code")

    @_builtins.property
    @pulumi.getter(name="userAgent")
    def user_agent(self) -> _builtins.str:
        """
        User Agent at the origin of the event.
        """
        return pulumi.get(self, "user_agent")


@pulumi.output_type
class GetEventEventResourceResult(dict):
    def __init__(__self__, *,
                 id: _builtins.str,
                 name: _builtins.str,
                 type: _builtins.str):
        """
        :param _builtins.str id: ID of the resource attached to the event. (UUID format)
        :param _builtins.str name: Name of the Scaleway resource.
        :param _builtins.str type: Type of the Scaleway resource.
        """
        pulumi.set(__self__, "id", id)
        pulumi.set(__self__, "name", name)
        pulumi.set(__self__, "type", type)

    @_builtins.property
    @pulumi.getter
    def id(self) -> _builtins.str:
        """
        ID of the resource attached to the event. (UUID format)
        """
        return pulumi.get(self, "id")

    @_builtins.property
    @pulumi.getter
    def name(self) -> _builtins.str:
        """
        Name of the Scaleway resource.
        """
        return pulumi.get(self, "name")

    @_builtins.property
    @pulumi.getter
    def type(self) -> _builtins.str:
        """
        Type of the Scaleway resource.
        """
        return pulumi.get(self, "type")


