import * as pulumi from "@pulumi/pulumi"; /** * Creates an assignment object which allows the given project to submit jobs of a certain type using slots from the specified reservation. Currently a resource (project, folder, organization) can only have one assignment per each (job_type, location) combination, and that reservation will be used for all jobs of the matching type. Different assignments can be created on different levels of the projects, folders or organization hierarchy. During query execution, the assignment is looked up at the project, folder and organization levels in that order. The first assignment found is applied to the query. When creating assignments, it does not matter if other assignments exist at higher levels. Example: * The organization `organizationA` contains two projects, `project1` and `project2`. * Assignments for all three entities (`organizationA`, `project1`, and `project2`) could all be created and mapped to the same or different reservations. "None" assignments represent an absence of the assignment. Projects assigned to None use on-demand pricing. To create a "None" assignment, use "none" as a reservation_id in the parent. Example parent: `projects/myproject/locations/US/reservations/none`. Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have 'bigquery.admin' permissions on the project using the reservation and the project that owns this reservation. Returns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment does not match location of the reservation. */ export declare class ReservationAssignment extends pulumi.CustomResource { /** * Get an existing ReservationAssignment resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ReservationAssignment; /** * Returns true if the given object is an instance of ReservationAssignment. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ReservationAssignment; /** * Create a ReservationAssignment resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ReservationAssignmentArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ReservationAssignment resource. */ export interface ReservationAssignmentArgs { /** * The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`. */ readonly assignee?: pulumi.Input; readonly assignmentsId: pulumi.Input; /** * Which type of jobs will use the reservation. */ readonly jobType?: pulumi.Input; readonly locationsId: pulumi.Input; readonly projectsId: pulumi.Input; readonly reservationsId: pulumi.Input; }