Class CreateSandboxDetails


  • @Generated(value="OracleSDKGenerator",
               comments="API Version: 1.0")
    public final class CreateSandboxDetails
    extends com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
    Request body used to create a sandbox.
    Note: Objects should always be created or deserialized using the CreateSandboxDetails.Builder. This model distinguishes fields that are null because they are unset from fields that are explicitly set to null. This is done in the setter methods of the CreateSandboxDetails.Builder, which maintain a set of all explicitly set fields called CreateSandboxDetails.Builder.__explicitlySet__. The hashCode() and equals(Object) methods are implemented to take the explicitly set fields into account. The constructor, on the other hand, does not take the explicitly set fields into account (since the constructor cannot distinguish explicit null from unset null).
    • Method Detail

      • getWarmpoolName

        public String getWarmpoolName()
        Name of a MANAGED or CUSTOM warm pool in the owning project.

        Runtime and shape are derived from the pool; explicit values must match. Deleting pools cannot be used. Snapshot restore, credential brokerage, and nested resource principals are not supported with named pools. An empty pool may cold-create using its same template, including when desired capacity is zero. Zero capacity stops idle prewarming; it does not prevent creation from an available applied template. When warmpoolName is omitted, a built-in runtime can automatically select an eligible named MANAGED pool in the same project matching its runtime and shape. Omitted runtime defaults to python-3.11 and omitted shape defaults to SMALL for automatic matching. A digest-pinned customer image can automatically select an eligible CUSTOM pool in the same project matching its canonical registry host, repository, digest and shape. Tag-based customer images are not automatically matched. Matching pools are considered in name order; the first with a valid applied template is selected without reading ready counts. Empty pools and zero desired or applied capacity still allow cold creation through the selected template. If no eligible pool is found or automatic lookup is unavailable, built-in runtimes use the existing managed runtime path, and customer images use the ordinary direct customer-image path with its existing validation. Automatic matching does not apply when source is supplied, including snapshot restore, or when credential brokerage or nested resource principals are used. Explicit names retain strict validation and do not fall back to automatic matching or another creation path. Retries preserve the original persisted pool binding or the original managed or direct customer-image route, even when matching pools change. Sandbox and SandboxSummary report an automatically selected pool in warmpoolName.

        Returns:
        the value
      • getDisplayName

        public String getDisplayName()
        User-provided display name for the sandbox.
        Returns:
        the value
      • getRuntime

        public String getRuntime()
        Runtime identifier for the sandbox, either a built-in runtime such as python-3.11 or a same-region Oracle Cloud Infrastructure Registry customer image reference.
        Returns:
        the value
      • getShape

        public Sandbox.Shape getShape()
        Compute shape for the sandbox.
        Returns:
        the value
      • getPublishedPortAuthMode

        public Sandbox.PublishedPortAuthMode getPublishedPortAuthMode()
        Authorization for all published-port HTTP requests and WebSocket handshakes.

        OCI_IAM requires Sandbox use and project read permission on the owning project. Omission defaults to OCI_IAM for new sandboxes with published ports in enabled tenancies; elsewhere omission retains legacy behavior. Explicit OCI_IAM outside the rollout, null, unsupported values, or a mode without published ports are rejected. The effective mode is immutable and is preserved when restoring protected snapshots.

        Returns:
        the value
      • getPublishPorts

        public List<String> getPublishPorts()
        Published ports to expose for the sandbox.
        Returns:
        the value
      • getExpiresInMinutes

        public Integer getExpiresInMinutes()
        Number of minutes from creation until automatic sandbox expiration.

        Use -1 to disable automatic expiration.

        Returns:
        the value
      • getExpirationDuration

        public String getExpirationDuration()
        Deprecated.

        Use expiresInMinutes instead. Existing clients may pass -1 to disable automatic expiration.

        Returns:
        the value
      • getEnvironmentVariables

        public List<EnvironmentVariable> getEnvironmentVariables()
        Environment variables to inject into the sandbox runtime.
        Returns:
        the value
      • getCredentialProfileLabel

        public String getCredentialProfileLabel()
        The Project credential profile selected for this Sandbox.

        Omit this field to select no credential profile. The selection and its configuration snapshot are immutable for the lifetime of the Sandbox; later Project profile updates apply only to subsequently created Sandboxes after configuration propagation.

        Returns:
        the value
      • toString

        public String toString()
        Overrides:
        toString in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • toString

        public String toString​(boolean includeByteArrayContents)
        Return a string representation of the object.
        Parameters:
        includeByteArrayContents - true to include the full contents of byte arrays
        Returns:
        string representation
      • equals

        public boolean equals​(Object o)
        Overrides:
        equals in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class com.oracle.bmc.http.client.internal.ExplicitlySetBmcModel