Class CustomResource

java.lang.Object
com.pulumi.resources.Resource
com.pulumi.resources.CustomResource
Direct Known Subclasses:
DependencyResource, ProviderResource, StackReference, Stash

@ParametersAreNonnullByDefault public class CustomResource extends Resource
CustomResource is a resource whose create, read, update, and delete (CRUD) operations are managed by performing external operations on some physical entity. The engine understands how to diff and perform partial updates of them, and these CRUD operations are implemented in a dynamically loaded plugin for the defining package.
  • Constructor Details

    • CustomResource

      protected CustomResource(String type, String name, @Nullable ResourceArgs args, boolean dependency)
      Parameters:
      type - The type of the resource.
      name - The unique name of the resource.
      args - The arguments to use to populate the new resource.
      dependency - True if this is a synthetic resource used internally for dependency tracking.
    • CustomResource

      public CustomResource(String type, String name, @Nullable ResourceArgs args, @Nullable CustomResourceOptions options)
      Parameters:
      type - The type of the resource.
      name - The unique name of the resource.
      args - The arguments to use to populate the new resource.
      options - A bag of options that control this resource's behavior.
    • CustomResource

      protected CustomResource(String type, String name, @Nullable ResourceArgs args, @Nullable CustomResourceOptions options, boolean dependency)
      Parameters:
      type - The type of the resource.
      name - The unique name of the resource.
      args - The arguments to use to populate the new resource.
      options - A bag of options that control this resource's behavior.
      dependency - True if this is a synthetic resource used internally for dependency tracking.
    • CustomResource

      protected CustomResource(String type, String name, @Nullable ResourceArgs args, @Nullable CustomResourceOptions options, boolean dependency, @Nullable CompletableFuture<String> packageRef)
      Creates and registers a new managed resource. Parameter type is the fully qualified type token and name is the "name" part to use in creating a stable and globally unique URN for the object. @see ResourceOptions.getDependsOn() is an optional list of other resources that this resource depends on, controlling the order in which we perform resource operations. Creating an instance does not necessarily perform a creation on the physical entity which it represents, and instead, this is dependent upon the diffing of the new goal state compared to the current known resource state.
      Parameters:
      type - The type of the resource.
      name - The unique name of the resource.
      args - The arguments to use to populate the new resource.
      options - A bag of options that control this resource's behavior.
      dependency - True if this is a synthetic resource used internally for dependency tracking.
      packageRef - The package reference to use for this resource.
  • Method Details

    • idFuture

      protected Optional<CompletableFuture<Output<String>>> idFuture()
      Description copied from class: Resource
      Lazy Initialization method called at the beginning of the constructor. Resources with the id field must override this method.
      Overrides:
      idFuture in class Resource
    • id

      public Output<String> id()
      Pulumi ID is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (unknown) during planning phases.
      Returns:
      the provider-assigned unique Pulumi ID