Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.jobs.v4.kotlin
import com.pulumi.core.Output
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.ApplicationInfoResponse
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.CompensationInfoResponse
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.JobDerivedInfoResponse
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.ProcessingOptionsResponse
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.Deprecated
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.ApplicationInfoResponse.Companion.toKotlin as applicationInfoResponseToKotlin
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.CompensationInfoResponse.Companion.toKotlin as compensationInfoResponseToKotlin
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.JobDerivedInfoResponse.Companion.toKotlin as jobDerivedInfoResponseToKotlin
import com.pulumi.googlenative.jobs.v4.kotlin.outputs.ProcessingOptionsResponse.Companion.toKotlin as processingOptionsResponseToKotlin
/**
* Builder for [Job].
*/
@PulumiTagMarker
public class JobResourceBuilder internal constructor() {
public var name: String? = null
public var args: JobArgs = JobArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend JobArgsBuilder.() -> Unit) {
val builder = JobArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): Job {
val builtJavaResource = com.pulumi.googlenative.jobs.v4.Job(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return Job(builtJavaResource)
}
}
/**
* Creates a new job. Typically, the job becomes searchable within 10 seconds, but it may take up to 5 minutes.
*/
public class Job internal constructor(
override val javaResource: com.pulumi.googlenative.jobs.v4.Job,
) : KotlinCustomResource(javaResource, JobMapper) {
/**
* Strongly recommended for the best service experience. Location(s) where the employer is looking to hire for this job posting. Specifying the full street address(es) of the hiring location enables better API results, especially job searches by commute time. At most 50 locations are allowed for best search performance. If a job has more locations, it is suggested to split it into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. If the original requisition_id must be preserved, a custom field should be used for storage. It is also suggested to group the locations that close to each other in the same job for better search experience. Jobs with multiple addresses must have their addresses with the same LocationType to allow location filtering to work properly. (For example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View, CA, USA" and "London, UK" may not have location filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed characters is 500.
*/
public val addresses: Output>
get() = javaResource.addresses().applyValue({ args0 -> args0.map({ args0 -> args0 }) })
/**
* Job application information.
*/
public val applicationInfo: Output
get() = javaResource.applicationInfo().applyValue({ args0 ->
args0.let({ args0 ->
applicationInfoResponseToKotlin(args0)
})
})
/**
* The resource name of the company listing the job. The format is "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, "projects/foo/tenants/bar/companies/baz".
*/
public val company: Output
get() = javaResource.company().applyValue({ args0 -> args0 })
/**
* Display name of the company listing the job.
*/
public val companyDisplayName: Output
get() = javaResource.companyDisplayName().applyValue({ args0 -> args0 })
/**
* Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the employee.
*/
public val compensationInfo: Output
get() = javaResource.compensationInfo().applyValue({ args0 ->
args0.let({ args0 ->
compensationInfoResponseToKotlin(args0)
})
})
/**
* A map of fields to hold both filterable and non-filterable custom job attributes that are not covered by the provided structured fields. The keys of the map are strings up to 64 bytes and must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, across all keys at most 200 values are allowed, with each string no more than 255 characters. For unfilterable `string_values`, the maximum total size of `string_values` across all keys is 50KB.
*/
public val customAttributes: Output