All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.iam.model.GetServiceLastAccessedDetailsWithEntitiesRequest.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.iam.model



public class GetServiceLastAccessedDetailsWithEntitiesRequest private constructor(builder: Builder) {
    /**
     * The ID of the request generated by the `GenerateServiceLastAccessedDetails` operation.
     */
    public val jobId: kotlin.String? = builder.jobId
    /**
     * Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the `Marker` element in the response that you received to indicate where the next call should start.
     */
    public val marker: kotlin.String? = builder.marker
    /**
     * Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the `IsTruncated` response element is `true`.
     *
     * If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the `IsTruncated` response element returns `true`, and `Marker` contains a value to include in the subsequent call that tells the service where to continue from.
     */
    public val maxItems: kotlin.Int? = builder.maxItems
    /**
     * The service namespace for an Amazon Web Services service. Provide the service namespace to learn when the IAM entity last attempted to access the specified service.
     *
     * To learn the service namespace for a service, see [Actions, resources, and condition keys for Amazon Web Services services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *IAM User Guide*. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, `(service prefix: a4b)`. For more information about service namespaces, see [Amazon Web Services service namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) in the *Amazon Web Services General Reference*.
     */
    public val serviceNamespace: kotlin.String? = builder.serviceNamespace

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.iam.model.GetServiceLastAccessedDetailsWithEntitiesRequest = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("GetServiceLastAccessedDetailsWithEntitiesRequest(")
        append("jobId=$jobId,")
        append("marker=$marker,")
        append("maxItems=$maxItems,")
        append("serviceNamespace=$serviceNamespace")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = jobId?.hashCode() ?: 0
        result = 31 * result + (marker?.hashCode() ?: 0)
        result = 31 * result + (maxItems ?: 0)
        result = 31 * result + (serviceNamespace?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as GetServiceLastAccessedDetailsWithEntitiesRequest

        if (jobId != other.jobId) return false
        if (marker != other.marker) return false
        if (maxItems != other.maxItems) return false
        if (serviceNamespace != other.serviceNamespace) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.iam.model.GetServiceLastAccessedDetailsWithEntitiesRequest = Builder(this).apply(block).build()

    public class Builder {
        /**
         * The ID of the request generated by the `GenerateServiceLastAccessedDetails` operation.
         */
        public var jobId: kotlin.String? = null
        /**
         * Use this parameter only when paginating results and only after you receive a response indicating that the results are truncated. Set it to the value of the `Marker` element in the response that you received to indicate where the next call should start.
         */
        public var marker: kotlin.String? = null
        /**
         * Use this only when paginating results to indicate the maximum number of items you want in the response. If additional items exist beyond the maximum you specify, the `IsTruncated` response element is `true`.
         *
         * If you do not include this parameter, the number of items defaults to 100. Note that IAM might return fewer results, even when there are more results available. In that case, the `IsTruncated` response element returns `true`, and `Marker` contains a value to include in the subsequent call that tells the service where to continue from.
         */
        public var maxItems: kotlin.Int? = null
        /**
         * The service namespace for an Amazon Web Services service. Provide the service namespace to learn when the IAM entity last attempted to access the specified service.
         *
         * To learn the service namespace for a service, see [Actions, resources, and condition keys for Amazon Web Services services](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html) in the *IAM User Guide*. Choose the name of the service to view details for that service. In the first paragraph, find the service prefix. For example, `(service prefix: a4b)`. For more information about service namespaces, see [Amazon Web Services service namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces) in the *Amazon Web Services General Reference*.
         */
        public var serviceNamespace: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.iam.model.GetServiceLastAccessedDetailsWithEntitiesRequest) : this() {
            this.jobId = x.jobId
            this.marker = x.marker
            this.maxItems = x.maxItems
            this.serviceNamespace = x.serviceNamespace
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.iam.model.GetServiceLastAccessedDetailsWithEntitiesRequest = GetServiceLastAccessedDetailsWithEntitiesRequest(this)

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy