Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,10 @@ public enum Known {
DEFAULT_CONTAINER_CATEGORY_UNSPECIFIED,

/** The default container image for Computer Use. */
DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE
DEFAULT_CONTAINER_CATEGORY_COMPUTER_USE,

/** The default container image for Shell Sandbox. */
DEFAULT_CONTAINER_CATEGORY_SHELL_SANDBOX
}

private Known defaultContainerCategoryEnum;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ public abstract class ReasoningEngineSpecContainerSpec extends JsonSerializable
@JsonProperty("imageUri")
public abstract Optional<String> imageUri();

/** Optional. The port the container listens on. Defaults to 8080 if unset. */
@JsonProperty("port")
public abstract Optional<Integer> port();

/** Instantiates a builder for ReasoningEngineSpecContainerSpec. */
@ExcludeFromGeneratedCoverageReport
public static Builder builder() {
Expand Down Expand Up @@ -79,6 +83,24 @@ public Builder clearImageUri() {
return imageUri(Optional.empty());
}

/**
* Setter for port.
*
* <p>port: Optional. The port the container listens on. Defaults to 8080 if unset.
*/
@JsonProperty("port")
public abstract Builder port(Integer port);

@ExcludeFromGeneratedCoverageReport
abstract Builder port(Optional<Integer> port);

/** Clears the value of port field. */
@ExcludeFromGeneratedCoverageReport
@CanIgnoreReturnValue
public Builder clearPort() {
return port(Optional.empty());
}

public abstract ReasoningEngineSpecContainerSpec build();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,16 @@

package com.google.cloud.agentplatform.types;

import static com.google.common.collect.ImmutableList.toImmutableList;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.google.auto.value.AutoValue;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.genai.JsonSerializable;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;

/** Configuration for egress control of sandbox instances. */
Expand All @@ -34,6 +38,25 @@ public abstract class SandboxEnvironmentTemplateEgressControlConfig extends Json
@JsonProperty("internetAccess")
public abstract Optional<Boolean> internetAccess();

/** Optional. The customer VPC network that sandbox egress is routed into. */
@JsonProperty("customerVpcNetwork")
public abstract Optional<String> customerVpcNetwork();

/**
* Optional. DNS peering configurations that allow sandbox egress to resolve customer-internal
* domains via the customer VPC.
*/
@JsonProperty("dnsPeeringConfigs")
public abstract Optional<List<SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig>>
dnsPeeringConfigs();

/**
* Optional. The name of the customer VPC NetworkAttachment used to draw a PSC interface IP into
* the customer VPC for sandbox egress.
*/
@JsonProperty("networkAttachment")
public abstract Optional<String> networkAttachment();

/** Instantiates a builder for SandboxEnvironmentTemplateEgressControlConfig. */
@ExcludeFromGeneratedCoverageReport
public static Builder builder() {
Expand Down Expand Up @@ -73,6 +96,93 @@ public Builder clearInternetAccess() {
return internetAccess(Optional.empty());
}

/**
* Setter for customerVpcNetwork.
*
* <p>customerVpcNetwork: Optional. The customer VPC network that sandbox egress is routed into.
*/
@JsonProperty("customerVpcNetwork")
public abstract Builder customerVpcNetwork(String customerVpcNetwork);

@ExcludeFromGeneratedCoverageReport
abstract Builder customerVpcNetwork(Optional<String> customerVpcNetwork);

/** Clears the value of customerVpcNetwork field. */
@ExcludeFromGeneratedCoverageReport
@CanIgnoreReturnValue
public Builder clearCustomerVpcNetwork() {
return customerVpcNetwork(Optional.empty());
}

/**
* Setter for dnsPeeringConfigs.
*
* <p>dnsPeeringConfigs: Optional. DNS peering configurations that allow sandbox egress to
* resolve customer-internal domains via the customer VPC.
*/
@JsonProperty("dnsPeeringConfigs")
public abstract Builder dnsPeeringConfigs(
List<SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig> dnsPeeringConfigs);

/**
* Setter for dnsPeeringConfigs.
*
* <p>dnsPeeringConfigs: Optional. DNS peering configurations that allow sandbox egress to
* resolve customer-internal domains via the customer VPC.
*/
@CanIgnoreReturnValue
public Builder dnsPeeringConfigs(
SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig... dnsPeeringConfigs) {
return dnsPeeringConfigs(Arrays.asList(dnsPeeringConfigs));
}

/**
* Setter for dnsPeeringConfigs builder.
*
* <p>dnsPeeringConfigs: Optional. DNS peering configurations that allow sandbox egress to
* resolve customer-internal domains via the customer VPC.
*/
@CanIgnoreReturnValue
public Builder dnsPeeringConfigs(
SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.Builder...
dnsPeeringConfigsBuilders) {
return dnsPeeringConfigs(
Arrays.asList(dnsPeeringConfigsBuilders).stream()
.map(SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.Builder::build)
.collect(toImmutableList()));
}

@ExcludeFromGeneratedCoverageReport
abstract Builder dnsPeeringConfigs(
Optional<List<SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig>>
dnsPeeringConfigs);

/** Clears the value of dnsPeeringConfigs field. */
@ExcludeFromGeneratedCoverageReport
@CanIgnoreReturnValue
public Builder clearDnsPeeringConfigs() {
return dnsPeeringConfigs(Optional.empty());
}

/**
* Setter for networkAttachment.
*
* <p>networkAttachment: Optional. The name of the customer VPC NetworkAttachment used to draw a
* PSC interface IP into the customer VPC for sandbox egress.
*/
@JsonProperty("networkAttachment")
public abstract Builder networkAttachment(String networkAttachment);

@ExcludeFromGeneratedCoverageReport
abstract Builder networkAttachment(Optional<String> networkAttachment);

/** Clears the value of networkAttachment field. */
@ExcludeFromGeneratedCoverageReport
@CanIgnoreReturnValue
public Builder clearNetworkAttachment() {
return networkAttachment(Optional.empty());
}

public abstract SandboxEnvironmentTemplateEgressControlConfig build();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
/*
* Copyright 2025 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

// Auto-generated code. Do not edit.

package com.google.cloud.agentplatform.types;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.google.auto.value.AutoValue;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import com.google.genai.JsonSerializable;
import java.util.Optional;

/**
* Configuration for peering a customer's private DNS zone so that sandbox egress can resolve
* customer-internal domains via the customer VPC.
*/
@AutoValue
@JsonDeserialize(
builder = SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.Builder.class)
public abstract class SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig
extends JsonSerializable {
/**
* Required. The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.".
* Must end with a dot.
*/
@JsonProperty("domain")
public abstract Optional<String> domain();

/**
* Required. The VPC network name in the target_project where the DNS zone specified by 'domain'
* is visible.
*/
@JsonProperty("targetNetwork")
public abstract Optional<String> targetNetwork();

/**
* Required. The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The
* Vertex AI Service Agent requires the dns.peer role on this project.
*/
@JsonProperty("targetProject")
public abstract Optional<String> targetProject();

/** Instantiates a builder for SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig. */
@ExcludeFromGeneratedCoverageReport
public static Builder builder() {
return new AutoValue_SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.Builder();
}

/** Creates a builder with the same values as this instance. */
public abstract Builder toBuilder();

/** Builder for SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig. */
@AutoValue.Builder
public abstract static class Builder {
/**
* For internal usage. Please use
* `SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.builder()` for instantiation.
*/
@JsonCreator
private static Builder create() {
return new AutoValue_SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.Builder();
}

/**
* Setter for domain.
*
* <p>domain: Required. The DNS name suffix of the zone being peered to, e.g.,
* "my-internal-domain.corp.". Must end with a dot.
*/
@JsonProperty("domain")
public abstract Builder domain(String domain);

@ExcludeFromGeneratedCoverageReport
abstract Builder domain(Optional<String> domain);

/** Clears the value of domain field. */
@ExcludeFromGeneratedCoverageReport
@CanIgnoreReturnValue
public Builder clearDomain() {
return domain(Optional.empty());
}

/**
* Setter for targetNetwork.
*
* <p>targetNetwork: Required. The VPC network name in the target_project where the DNS zone
* specified by 'domain' is visible.
*/
@JsonProperty("targetNetwork")
public abstract Builder targetNetwork(String targetNetwork);

@ExcludeFromGeneratedCoverageReport
abstract Builder targetNetwork(Optional<String> targetNetwork);

/** Clears the value of targetNetwork field. */
@ExcludeFromGeneratedCoverageReport
@CanIgnoreReturnValue
public Builder clearTargetNetwork() {
return targetNetwork(Optional.empty());
}

/**
* Setter for targetProject.
*
* <p>targetProject: Required. The project ID hosting the Cloud DNS managed zone that contains
* the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.
*/
@JsonProperty("targetProject")
public abstract Builder targetProject(String targetProject);

@ExcludeFromGeneratedCoverageReport
abstract Builder targetProject(Optional<String> targetProject);

/** Clears the value of targetProject field. */
@ExcludeFromGeneratedCoverageReport
@CanIgnoreReturnValue
public Builder clearTargetProject() {
return targetProject(Optional.empty());
}

public abstract SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig build();
}

/**
* Deserializes a JSON string to a SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig
* object.
*/
@ExcludeFromGeneratedCoverageReport
public static SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig fromJson(
String jsonString) {
return JsonSerializable.fromJsonString(
jsonString, SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.class);
}
}
Loading