diff --git a/src/main/java/com/google/cloud/agentplatform/types/DefaultContainerCategory.java b/src/main/java/com/google/cloud/agentplatform/types/DefaultContainerCategory.java index 250497b..ce1d392 100644 --- a/src/main/java/com/google/cloud/agentplatform/types/DefaultContainerCategory.java +++ b/src/main/java/com/google/cloud/agentplatform/types/DefaultContainerCategory.java @@ -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; diff --git a/src/main/java/com/google/cloud/agentplatform/types/ReasoningEngineSpecContainerSpec.java b/src/main/java/com/google/cloud/agentplatform/types/ReasoningEngineSpecContainerSpec.java index 3aa5d6b..8be24ea 100644 --- a/src/main/java/com/google/cloud/agentplatform/types/ReasoningEngineSpecContainerSpec.java +++ b/src/main/java/com/google/cloud/agentplatform/types/ReasoningEngineSpecContainerSpec.java @@ -38,6 +38,10 @@ public abstract class ReasoningEngineSpecContainerSpec extends JsonSerializable @JsonProperty("imageUri") public abstract Optional imageUri(); + /** Optional. The port the container listens on. Defaults to 8080 if unset. */ + @JsonProperty("port") + public abstract Optional port(); + /** Instantiates a builder for ReasoningEngineSpecContainerSpec. */ @ExcludeFromGeneratedCoverageReport public static Builder builder() { @@ -79,6 +83,24 @@ public Builder clearImageUri() { return imageUri(Optional.empty()); } + /** + * Setter for port. + * + *

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 port); + + /** Clears the value of port field. */ + @ExcludeFromGeneratedCoverageReport + @CanIgnoreReturnValue + public Builder clearPort() { + return port(Optional.empty()); + } + public abstract ReasoningEngineSpecContainerSpec build(); } diff --git a/src/main/java/com/google/cloud/agentplatform/types/SandboxEnvironmentTemplateEgressControlConfig.java b/src/main/java/com/google/cloud/agentplatform/types/SandboxEnvironmentTemplateEgressControlConfig.java index 100d802..2edcf5c 100644 --- a/src/main/java/com/google/cloud/agentplatform/types/SandboxEnvironmentTemplateEgressControlConfig.java +++ b/src/main/java/com/google/cloud/agentplatform/types/SandboxEnvironmentTemplateEgressControlConfig.java @@ -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. */ @@ -34,6 +38,25 @@ public abstract class SandboxEnvironmentTemplateEgressControlConfig extends Json @JsonProperty("internetAccess") public abstract Optional internetAccess(); + /** Optional. The customer VPC network that sandbox egress is routed into. */ + @JsonProperty("customerVpcNetwork") + public abstract Optional customerVpcNetwork(); + + /** + * Optional. DNS peering configurations that allow sandbox egress to resolve customer-internal + * domains via the customer VPC. + */ + @JsonProperty("dnsPeeringConfigs") + public abstract Optional> + 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 networkAttachment(); + /** Instantiates a builder for SandboxEnvironmentTemplateEgressControlConfig. */ @ExcludeFromGeneratedCoverageReport public static Builder builder() { @@ -73,6 +96,93 @@ public Builder clearInternetAccess() { return internetAccess(Optional.empty()); } + /** + * Setter for customerVpcNetwork. + * + *

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 customerVpcNetwork); + + /** Clears the value of customerVpcNetwork field. */ + @ExcludeFromGeneratedCoverageReport + @CanIgnoreReturnValue + public Builder clearCustomerVpcNetwork() { + return customerVpcNetwork(Optional.empty()); + } + + /** + * Setter for dnsPeeringConfigs. + * + *

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 dnsPeeringConfigs); + + /** + * Setter for dnsPeeringConfigs. + * + *

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. + * + *

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> + dnsPeeringConfigs); + + /** Clears the value of dnsPeeringConfigs field. */ + @ExcludeFromGeneratedCoverageReport + @CanIgnoreReturnValue + public Builder clearDnsPeeringConfigs() { + return dnsPeeringConfigs(Optional.empty()); + } + + /** + * Setter for networkAttachment. + * + *

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 networkAttachment); + + /** Clears the value of networkAttachment field. */ + @ExcludeFromGeneratedCoverageReport + @CanIgnoreReturnValue + public Builder clearNetworkAttachment() { + return networkAttachment(Optional.empty()); + } + public abstract SandboxEnvironmentTemplateEgressControlConfig build(); } diff --git a/src/main/java/com/google/cloud/agentplatform/types/SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.java b/src/main/java/com/google/cloud/agentplatform/types/SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.java new file mode 100644 index 0000000..0788053 --- /dev/null +++ b/src/main/java/com/google/cloud/agentplatform/types/SandboxEnvironmentTemplateEgressControlConfigDnsPeeringConfig.java @@ -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 domain(); + + /** + * Required. The VPC network name in the target_project where the DNS zone specified by 'domain' + * is visible. + */ + @JsonProperty("targetNetwork") + public abstract Optional 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 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. + * + *

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 domain); + + /** Clears the value of domain field. */ + @ExcludeFromGeneratedCoverageReport + @CanIgnoreReturnValue + public Builder clearDomain() { + return domain(Optional.empty()); + } + + /** + * Setter for targetNetwork. + * + *

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 targetNetwork); + + /** Clears the value of targetNetwork field. */ + @ExcludeFromGeneratedCoverageReport + @CanIgnoreReturnValue + public Builder clearTargetNetwork() { + return targetNetwork(Optional.empty()); + } + + /** + * Setter for targetProject. + * + *

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 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); + } +}