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

com.pulumi.cloudflare.kotlin.outputs.AccessPolicyInclude.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.cloudflare.kotlin.outputs

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

/**
 *
 * @property anyValidServiceToken Matches any valid Access service token.
 * @property authContexts
 * @property authMethod The type of authentication method. Refer to https://datatracker.ietf.org/doc/html/rfc8176#section-2 for possible types.
 * @property azures Matches an Azure group. Requires an Azure identity provider.
 * @property certificate Matches any valid client certificate.
 * @property commonName Matches a valid client certificate common name.
 * @property commonNames Overflow field if you need to have multiple common*name rules in a single policy.  Use in place of the singular common*name field.
 * @property devicePostures The ID of a device posture integration.
 * @property emailDomains The email domain to match.
 * @property emailLists The ID of a previously created email list.
 * @property emails The email of the user.
 * @property everyone Matches everyone.
 * @property externalEvaluation Create Allow or Block policies which evaluate the user based on custom criteria. https://developers.cloudflare.com/cloudflare-one/policies/access/external-evaluation/.
 * @property geos Matches a specific country.
 * @property githubs Matches a Github organization. Requires a Github identity provider.
 * @property groups The ID of a previously created Access group.
 * @property gsuites Matches a group in Google Workspace. Requires a Google Workspace identity provider.
 * @property ipLists The ID of a previously created IP list.
 * @property ips An IPv4 or IPv6 CIDR block.
 * @property loginMethods The ID of a configured identity provider.
 * @property oktas Matches an Okta group. Requires an Okta identity provider.
 * @property samls Matches a SAML group. Requires a SAML identity provider.
 * @property serviceTokens The ID of an Access service token.
 */
public data class AccessPolicyInclude(
    public val anyValidServiceToken: Boolean? = null,
    public val authContexts: List? = null,
    public val authMethod: String? = null,
    public val azures: List? = null,
    public val certificate: Boolean? = null,
    public val commonName: String? = null,
    public val commonNames: List? = null,
    public val devicePostures: List? = null,
    public val emailDomains: List? = null,
    public val emailLists: List? = null,
    public val emails: List? = null,
    public val everyone: Boolean? = null,
    public val externalEvaluation: AccessPolicyIncludeExternalEvaluation? = null,
    public val geos: List? = null,
    public val githubs: List? = null,
    public val groups: List? = null,
    public val gsuites: List? = null,
    public val ipLists: List? = null,
    public val ips: List? = null,
    public val loginMethods: List? = null,
    public val oktas: List? = null,
    public val samls: List? = null,
    public val serviceTokens: List? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.cloudflare.outputs.AccessPolicyInclude): AccessPolicyInclude = AccessPolicyInclude(
            anyValidServiceToken = javaType.anyValidServiceToken().map({ args0 -> args0 }).orElse(null),
            authContexts = javaType.authContexts().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.AccessPolicyIncludeAuthContext.Companion.toKotlin(args0)
                })
            }),
            authMethod = javaType.authMethod().map({ args0 -> args0 }).orElse(null),
            azures = javaType.azures().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.AccessPolicyIncludeAzure.Companion.toKotlin(args0)
                })
            }),
            certificate = javaType.certificate().map({ args0 -> args0 }).orElse(null),
            commonName = javaType.commonName().map({ args0 -> args0 }).orElse(null),
            commonNames = javaType.commonNames().map({ args0 -> args0 }),
            devicePostures = javaType.devicePostures().map({ args0 -> args0 }),
            emailDomains = javaType.emailDomains().map({ args0 -> args0 }),
            emailLists = javaType.emailLists().map({ args0 -> args0 }),
            emails = javaType.emails().map({ args0 -> args0 }),
            everyone = javaType.everyone().map({ args0 -> args0 }).orElse(null),
            externalEvaluation = javaType.externalEvaluation().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.AccessPolicyIncludeExternalEvaluation.Companion.toKotlin(args0)
                })
            }).orElse(null),
            geos = javaType.geos().map({ args0 -> args0 }),
            githubs = javaType.githubs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.AccessPolicyIncludeGithub.Companion.toKotlin(args0)
                })
            }),
            groups = javaType.groups().map({ args0 -> args0 }),
            gsuites = javaType.gsuites().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.AccessPolicyIncludeGsuite.Companion.toKotlin(args0)
                })
            }),
            ipLists = javaType.ipLists().map({ args0 -> args0 }),
            ips = javaType.ips().map({ args0 -> args0 }),
            loginMethods = javaType.loginMethods().map({ args0 -> args0 }),
            oktas = javaType.oktas().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.AccessPolicyIncludeOkta.Companion.toKotlin(args0)
                })
            }),
            samls = javaType.samls().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.cloudflare.kotlin.outputs.AccessPolicyIncludeSaml.Companion.toKotlin(args0)
                })
            }),
            serviceTokens = javaType.serviceTokens().map({ args0 -> args0 }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy