public class AccessLevels
extends com.pulumi.resources.CustomResource
Replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically.
This is a bulk edit of all Access Levels and may override existing Access Levels created by `gcp.accesscontextmanager.AccessLevel`,
thus causing a permadiff if used alongside `gcp.accesscontextmanager.AccessLevel` on the same parent.
To get more information about AccessLevels, see:
* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.accessLevels)
* How-to Guides
* [Access Policy Quickstart](https://cloud.google.com/access-context-manager/docs/quickstart)
## Example Usage
### Access Context Manager Access Levels Basic
```java
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.accesscontextmanager.AccessPolicy;
import com.pulumi.gcp.accesscontextmanager.AccessPolicyArgs;
import com.pulumi.gcp.accesscontextmanager.AccessLevels;
import com.pulumi.gcp.accesscontextmanager.AccessLevelsArgs;
import com.pulumi.gcp.accesscontextmanager.inputs.AccessLevelsAccessLevelArgs;
import com.pulumi.gcp.accesscontextmanager.inputs.AccessLevelsAccessLevelBasicArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var access_policy = new AccessPolicy("access-policy", AccessPolicyArgs.builder()
.parent("organizations/123456789")
.title("my policy")
.build());
var access_levels = new AccessLevels("access-levels", AccessLevelsArgs.builder()
.accessLevels(
AccessLevelsAccessLevelArgs.builder()
.basic(AccessLevelsAccessLevelBasicArgs.builder()
.conditions(AccessLevelsAccessLevelBasicConditionArgs.builder()
.devicePolicy(AccessLevelsAccessLevelBasicConditionDevicePolicyArgs.builder()
.osConstraints(AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs.builder()
.osType("DESKTOP_CHROME_OS")
.build())
.requireScreenLock(true)
.build())
.regions(
"CH",
"IT",
"US")
.build())
.build())
.name(access_policy.name().applyValue(name -> String.format("accessPolicies/%s/accessLevels/chromeos_no_lock", name)))
.title("chromeos_no_lock")
.build(),
AccessLevelsAccessLevelArgs.builder()
.basic(AccessLevelsAccessLevelBasicArgs.builder()
.conditions(AccessLevelsAccessLevelBasicConditionArgs.builder()
.devicePolicy(AccessLevelsAccessLevelBasicConditionDevicePolicyArgs.builder()
.osConstraints(AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs.builder()
.osType("DESKTOP_MAC")
.build())
.requireScreenLock(true)
.build())
.regions(
"CH",
"IT",
"US")
.build())
.build())
.name(access_policy.name().applyValue(name -> String.format("accessPolicies/%s/accessLevels/mac_no_lock", name)))
.title("mac_no_lock")
.build())
.parent(access_policy.name().applyValue(name -> String.format("accessPolicies/%s", name)))
.build());
}
}
```
## Import
AccessLevels can be imported using any of these accepted formats* `{{parent}}/accessLevels` * `{{parent}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import AccessLevels using one of the formats above. For exampletf import {
id = "{{parent}}/accessLevels"
to = google_access_context_manager_access_levels.default }
```sh
$ pulumi import gcp:accesscontextmanager/accessLevels:AccessLevels When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), AccessLevels can be imported using one of the formats above. For example
```
```sh
$ pulumi import gcp:accesscontextmanager/accessLevels:AccessLevels default {{parent}}/accessLevels
```
```sh
$ pulumi import gcp:accesscontextmanager/accessLevels:AccessLevels default {{parent}}
```