import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.osPolicyAssignments.operations/cancel). */ export declare class OsPolicyAssignment extends pulumi.CustomResource { /** * Get an existing OsPolicyAssignment 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): OsPolicyAssignment; /** * Returns true if the given object is an instance of OsPolicyAssignment. 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 OsPolicyAssignment; /** * Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field. */ readonly baseline: pulumi.Output; /** * Indicates that this revision deletes the OS policy assignment. */ readonly deleted: pulumi.Output; /** * OS policy assignment description. Length of the description is limited to 1024 characters. */ readonly description: pulumi.Output; /** * The etag for this OS policy assignment. If this is provided on update, it must match the server's etag. */ readonly etag: pulumi.Output; /** * Filter to select VMs. */ readonly instanceFilter: pulumi.Output; readonly location: pulumi.Output; /** * Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. */ readonly name: pulumi.Output; /** * List of OS policies to be applied to the VMs. */ readonly osPolicies: pulumi.Output; /** * Required. The logical name of the OS policy assignment 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 osPolicyAssignmentId: pulumi.Output; readonly project: pulumi.Output; /** * Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING */ readonly reconciling: pulumi.Output; /** * The timestamp that the revision was created. */ readonly revisionCreateTime: pulumi.Output; /** * The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment */ readonly revisionId: pulumi.Output; /** * Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted. */ readonly rollout: pulumi.Output; /** * OS policy assignment rollout state */ readonly rolloutState: pulumi.Output; /** * Server generated unique id for the OS policy assignment resource. */ readonly uid: pulumi.Output; /** * Create a OsPolicyAssignment 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: OsPolicyAssignmentArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a OsPolicyAssignment resource. */ export interface OsPolicyAssignmentArgs { /** * OS policy assignment description. Length of the description is limited to 1024 characters. */ description?: pulumi.Input; /** * The etag for this OS policy assignment. If this is provided on update, it must match the server's etag. */ etag?: pulumi.Input; /** * Filter to select VMs. */ instanceFilter: pulumi.Input; location?: pulumi.Input; /** * Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. */ name?: pulumi.Input; /** * List of OS policies to be applied to the VMs. */ osPolicies: pulumi.Input[]>; /** * Required. The logical name of the OS policy assignment 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. */ osPolicyAssignmentId: pulumi.Input; project?: pulumi.Input; /** * Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted. */ rollout: pulumi.Input; }