Class CustomResource

  • Direct Known Subclasses:
    DependencyResource, ProviderResource, StackReference

    @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 Detail

      • CustomResource

        protected CustomResource​(java.lang.String type,
                                 java.lang.String name,
                                 @Nullable
                                 ResourceArgs args,
                                 boolean dependency)
        Creates and registers a new managed resource. @see CustomResource(String, String, ResourceArgs, CustomResourceOptions, boolean)
        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

        protected CustomResource​(java.lang.String type,
                                 java.lang.String name,
                                 @Nullable
                                 ResourceArgs args,
                                 @Nullable
                                 CustomResourceOptions options,
                                 boolean dependency)
        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.
    • Method Detail

      • idFuture

        protected java.util.Optional<java.util.concurrent.CompletableFuture<Output<java.lang.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
      • getId

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