import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Create an OS Config guest policy. */ export declare class GuestPolicy extends pulumi.CustomResource { /** * Get an existing GuestPolicy 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): GuestPolicy; /** * Returns true if the given object is an instance of GuestPolicy. 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 GuestPolicy; /** * Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service [handles assignment conflicts](/compute/docs/os-config-management/create-guest-policy#handle-conflicts). */ readonly assignment: pulumi.Output; /** * Time this guest policy was created. */ readonly createTime: pulumi.Output; /** * Description of the guest policy. Length of the description is limited to 1024 characters. */ readonly description: pulumi.Output; /** * The etag for this guest policy. If this is provided on update, it must match the server's etag. */ readonly etag: pulumi.Output; /** * Required. The logical name of the guest policy in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project. */ readonly guestPolicyId: pulumi.Output; /** * Unique name of the resource in this project using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`. */ readonly name: pulumi.Output; /** * A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available. */ readonly packageRepositories: pulumi.Output; /** * The software packages to be managed by this policy. */ readonly packages: pulumi.Output; readonly project: pulumi.Output; /** * A list of Recipes to install on the VM instance. */ readonly recipes: pulumi.Output; /** * Last time this guest policy was updated. */ readonly updateTime: pulumi.Output; /** * Create a GuestPolicy 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: GuestPolicyArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a GuestPolicy resource. */ export interface GuestPolicyArgs { /** * Specifies the VM instances that are assigned to this policy. This allows you to target sets or groups of VM instances by different parameters such as labels, names, OS, or zones. If left empty, all VM instances underneath this policy are targeted. At the same level in the resource hierarchy (that is within a project), the service prevents the creation of multiple policies that conflict with each other. For more information, see how the service [handles assignment conflicts](/compute/docs/os-config-management/create-guest-policy#handle-conflicts). */ assignment: pulumi.Input; /** * Description of the guest policy. Length of the description is limited to 1024 characters. */ description?: pulumi.Input; /** * The etag for this guest policy. If this is provided on update, it must match the server's etag. */ etag?: pulumi.Input; /** * Required. The logical name of the guest policy in the project with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project. */ guestPolicyId: pulumi.Input; /** * Unique name of the resource in this project using one of the following forms: `projects/{project_number}/guestPolicies/{guest_policy_id}`. */ name?: pulumi.Input; /** * A list of package repositories to configure on the VM instance. This is done before any other configs are applied so they can use these repos. Package repositories are only configured if the corresponding package manager(s) are available. */ packageRepositories?: pulumi.Input[]>; /** * The software packages to be managed by this policy. */ packages?: pulumi.Input[]>; project?: pulumi.Input; /** * A list of Recipes to install on the VM instance. */ recipes?: pulumi.Input[]>; }