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

com.pulumi.googlenative.cloudasset.v1.kotlin.outputs.GetFeedResult.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.cloudasset.v1.kotlin.outputs

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

/**
 *
 * @property assetNames A list of the full names of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. For a list of the full names for supported asset types, see [Resource name format](/asset-inventory/docs/resource-name-format).
 * @property assetTypes A list of types of the assets to receive updates. You must specify either or both of asset_names and asset_types. Only asset updates matching specified asset_names or asset_types are exported to the feed. Example: `"compute.googleapis.com/Disk"` For a list of all supported asset types, see [Supported asset types](/asset-inventory/docs/supported-asset-types).
 * @property condition A condition which determines whether an asset update should be published. If specified, an asset will be returned only when the expression evaluates to true. When set, `expression` field in the `Expr` must be a valid [CEL expression] (https://github.com/google/cel-spec) on a TemporalAsset with name `temporal_asset`. Example: a Feed with expression ("temporal_asset.deleted == true") will only publish Asset deletions. Other fields of `Expr` are optional. See our [user guide](https://cloud.google.com/asset-inventory/docs/monitoring-asset-changes-with-condition) for detailed instructions.
 * @property contentType Asset content type. If not specified, no content but the asset name and type will be returned.
 * @property feedOutputConfig Feed output configuration defining where the asset updates are published to.
 * @property name The format will be projects/{project_number}/feeds/{client-assigned_feed_identifier} or folders/{folder_number}/feeds/{client-assigned_feed_identifier} or organizations/{organization_number}/feeds/{client-assigned_feed_identifier} The client-assigned feed identifier must be unique within the parent project/folder/organization.
 * @property relationshipTypes A list of relationship types to output, for example: `INSTANCE_TO_INSTANCEGROUP`. This field should only be specified if content_type=RELATIONSHIP. * If specified: it outputs specified relationship updates on the [asset_names] or the [asset_types]. It returns an error if any of the [relationship_types] doesn't belong to the supported relationship types of the [asset_names] or [asset_types], or any of the [asset_names] or the [asset_types] doesn't belong to the source types of the [relationship_types]. * Otherwise: it outputs the supported relationships of the types of [asset_names] and [asset_types] or returns an error if any of the [asset_names] or the [asset_types] has no replationship support. See [Introduction to Cloud Asset Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all supported asset types and relationship types.
 */
public data class GetFeedResult(
    public val assetNames: List,
    public val assetTypes: List,
    public val condition: ExprResponse,
    public val contentType: String,
    public val feedOutputConfig: FeedOutputConfigResponse,
    public val name: String,
    public val relationshipTypes: List,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.googlenative.cloudasset.v1.outputs.GetFeedResult): GetFeedResult = GetFeedResult(
            assetNames = javaType.assetNames().map({ args0 -> args0 }),
            assetTypes = javaType.assetTypes().map({ args0 -> args0 }),
            condition = javaType.condition().let({ args0 ->
                com.pulumi.googlenative.cloudasset.v1.kotlin.outputs.ExprResponse.Companion.toKotlin(args0)
            }),
            contentType = javaType.contentType(),
            feedOutputConfig = javaType.feedOutputConfig().let({ args0 ->
                com.pulumi.googlenative.cloudasset.v1.kotlin.outputs.FeedOutputConfigResponse.Companion.toKotlin(args0)
            }),
            name = javaType.name(),
            relationshipTypes = javaType.relationshipTypes().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy