Class AccessLevels


  • 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}} ```
    • Nested Class Summary

      • Nested classes/interfaces inherited from class com.pulumi.resources.CustomResource

        com.pulumi.resources.CustomResource.CustomResourceInternal
      • Nested classes/interfaces inherited from class com.pulumi.resources.Resource

        com.pulumi.resources.Resource.LazyField<T extends java.lang.Object>, com.pulumi.resources.Resource.LazyFields, com.pulumi.resources.Resource.ResourceInternal
    • Field Summary

      • Fields inherited from class com.pulumi.resources.Resource

        childResources, remote
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.pulumi.core.Output<java.util.Optional<java.util.List<AccessLevelsAccessLevel>>> accessLevels()  
      static AccessLevels get​(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, AccessLevelsState state, com.pulumi.resources.CustomResourceOptions options)
      Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
      com.pulumi.core.Output<java.lang.String> parent()  
      • Methods inherited from class com.pulumi.resources.CustomResource

        getId, id, idFuture
      • Methods inherited from class com.pulumi.resources.Resource

        getChildResources, getResourceName, getResourceType, getUrn, pulumiChildResources, pulumiResourceName, pulumiResourceType, urn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AccessLevels

        public AccessLevels​(java.lang.String name)
        Parameters:
        name - The _unique_ name of the resulting resource.
      • AccessLevels

        public AccessLevels​(java.lang.String name,
                            AccessLevelsArgs args)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
      • AccessLevels

        public AccessLevels​(java.lang.String name,
                            AccessLevelsArgs args,
                            @Nullable
                            com.pulumi.resources.CustomResourceOptions options)
        Parameters:
        name - The _unique_ name of the resulting resource.
        args - The arguments to use to populate this resource's properties.
        options - A bag of options that control this resource's behavior.
    • Method Detail

      • accessLevels

        public com.pulumi.core.Output<java.util.Optional<java.util.List<AccessLevelsAccessLevel>>> accessLevels()
        Returns:
        The desired Access Levels that should replace all existing Access Levels in the Access Policy. Structure is documented below.
      • parent

        public com.pulumi.core.Output<java.lang.String> parent()
        Returns:
        The AccessPolicy this AccessLevel lives in. Format: accessPolicies/{policy_id} ***
      • get

        public static AccessLevels get​(java.lang.String name,
                                       com.pulumi.core.Output<java.lang.String> id,
                                       @Nullable
                                       AccessLevelsState state,
                                       @Nullable
                                       com.pulumi.resources.CustomResourceOptions options)
        Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.
        Parameters:
        name - The _unique_ name of the resulting resource.
        id - The _unique_ provider ID of the resource to lookup.
        state -
        options - Optional settings to control the behavior of the CustomResource.