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

com.pulumi.googlenative.containeranalysis.v1beta1.kotlin.outputs.LinkResponse.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.googlenative.containeranalysis.v1beta1.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 * This corresponds to an in-toto link.
 * @property byproducts ByProducts are data generated as part of a software supply chain step, but are not the actual result of the step.
 * @property command This field contains the full command executed for the step. This can also be empty if links are generated for operations that aren't directly mapped to a specific command. Each term in the command is an independent string in the list. An example of a command in the in-toto metadata field is: "command": ["git", "clone", "https://github.com/in-toto/demo-project.git"]
 * @property environment This is a field that can be used to capture information about the environment. It is suggested for this field to contain information that details environment variables, filesystem information, and the present working directory. The recommended structure of this field is: "environment": { "custom_values": { "variables": "", "filesystem": "", "workdir": "", "": "..." } }
 * @property materials Materials are the supply chain artifacts that go into the step and are used for the operation performed. The key of the map is the path of the artifact and the structure contains the recorded hash information. An example is: "materials": [ { "resource_uri": "foo/bar", "hashes": { "sha256": "ebebf...", : } } ]
 * @property products Products are the supply chain artifacts generated as a result of the step. The structure is identical to that of materials.
 */
public data class LinkResponse(
    public val byproducts: ByProductsResponse,
    public val command: List,
    public val environment: EnvironmentResponse,
    public val materials: List,
    public val products: List,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.googlenative.containeranalysis.v1beta1.outputs.LinkResponse): LinkResponse = LinkResponse(
            byproducts = javaType.byproducts().let({ args0 ->
                com.pulumi.googlenative.containeranalysis.v1beta1.kotlin.outputs.ByProductsResponse.Companion.toKotlin(args0)
            }),
            command = javaType.command().map({ args0 -> args0 }),
            environment = javaType.environment().let({ args0 ->
                com.pulumi.googlenative.containeranalysis.v1beta1.kotlin.outputs.EnvironmentResponse.Companion.toKotlin(args0)
            }),
            materials = javaType.materials().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.googlenative.containeranalysis.v1beta1.kotlin.outputs.GrafeasV1beta1IntotoArtifactResponse.Companion.toKotlin(args0)
                })
            }),
            products = javaType.products().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.googlenative.containeranalysis.v1beta1.kotlin.outputs.GrafeasV1beta1IntotoArtifactResponse.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy