All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.compute.model.ServiceAttachment Maven / Gradle / Ivy

There is a newer version: v1-rev20240903-2.0.0
Show newest version
/*
 * 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
 *
 * http://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.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.compute.model;

/**
 * Represents a ServiceAttachment resource. A service attachment represents a service that a
 * producer has exposed. It encapsulates the load balancer which fronts the service runs and a list
 * of NAT IP ranges that the producers uses to represent the consumers connecting to the service.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Compute Engine API. For a detailed explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class ServiceAttachment extends com.google.api.client.json.GenericJson { /** * [Output Only] An array of connections for all the consumers connected to this service * attachment. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List connectedEndpoints; /** * The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An * ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer * forwarding rules. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String connectionPreference; /** * Specifies which consumer projects or networks are allowed to connect to the service attachment. * Each project or network has a connection limit. A given service attachment can manage * connections at either the project or network level. Therefore, both the accept and reject lists * for a given service attachment must contain either only projects or only networks. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List consumerAcceptLists; /** * Specifies a list of projects or networks that are not allowed to connect to this service * attachment. The project can be specified using its project ID or project number and the network * can be specified using its URL. A given service attachment can manage connections at either the * project or network level. Therefore, both the reject and accept lists for a given service * attachment must contain either only projects or only networks. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List consumerRejectLists; /** * [Output Only] Creation timestamp in RFC3339 text format. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String creationTimestamp; /** * An optional description of this resource. Provide this property when you create the resource. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String description; /** * If specified, the domain name will be used during the integration between the PSC connected * endpoints and the Cloud DNS. For example, this is a valid domain name: "p.mycompany.com.". * Current max number of domain names supported is 1. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List domainNames; /** * If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP * connections that traverse proxies on their way to destination servers. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean enableProxyProtocol; /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to- * date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, * the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a * get() request to retrieve the ServiceAttachment. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String fingerprint; /** * [Output Only] The unique identifier for the resource type. The server generates this * identifier. * The value may be {@code null}. */ @com.google.api.client.util.Key @com.google.api.client.json.JsonString private java.math.BigInteger id; /** * [Output Only] Type of the resource. Always compute#serviceAttachment for service attachments. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String kind; /** * Name of the resource. Provided by the client when the resource is created. The name must be * 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first * character must be a lowercase letter, and all following characters must be a dash, lowercase * letter, or digit, except the last character, which cannot be a dash. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * An array of URLs where each entry is the URL of a subnet provided by the service producer to * use for NAT in this service attachment. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List natSubnets; /** * The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint * identified by this service attachment. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String producerForwardingRule; /** * [Output Only] An 128-bit global unique ID of the PSC service attachment. * The value may be {@code null}. */ @com.google.api.client.util.Key private Uint128 pscServiceAttachmentId; /** * This flag determines whether a consumer accept/reject list change can reconcile the statuses of * existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only * affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain * untouched regardless how the connection policy is modified . - If true, update will affect both * PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be * moved to REJECTED if its project is added to the reject list. For newly created service * attachment, this boolean defaults to false. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Boolean reconcileConnections; /** * [Output Only] URL of the region where the service attachment resides. This field applies only * to the region resource. You must specify this field as part of the HTTP request URL. It is not * settable as a field in the request body. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String region; /** * [Output Only] Server-defined URL for the resource. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String selfLink; /** * The URL of a service serving the endpoint identified by this service attachment. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String targetService; /** * [Output Only] An array of connections for all the consumers connected to this service * attachment. * @return value or {@code null} for none */ public java.util.List getConnectedEndpoints() { return connectedEndpoints; } /** * [Output Only] An array of connections for all the consumers connected to this service * attachment. * @param connectedEndpoints connectedEndpoints or {@code null} for none */ public ServiceAttachment setConnectedEndpoints(java.util.List connectedEndpoints) { this.connectedEndpoints = connectedEndpoints; return this; } /** * The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An * ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer * forwarding rules. * @return value or {@code null} for none */ public java.lang.String getConnectionPreference() { return connectionPreference; } /** * The connection preference of service attachment. The value can be set to ACCEPT_AUTOMATIC. An * ACCEPT_AUTOMATIC service attachment is one that always accepts the connection from consumer * forwarding rules. * @param connectionPreference connectionPreference or {@code null} for none */ public ServiceAttachment setConnectionPreference(java.lang.String connectionPreference) { this.connectionPreference = connectionPreference; return this; } /** * Specifies which consumer projects or networks are allowed to connect to the service attachment. * Each project or network has a connection limit. A given service attachment can manage * connections at either the project or network level. Therefore, both the accept and reject lists * for a given service attachment must contain either only projects or only networks. * @return value or {@code null} for none */ public java.util.List getConsumerAcceptLists() { return consumerAcceptLists; } /** * Specifies which consumer projects or networks are allowed to connect to the service attachment. * Each project or network has a connection limit. A given service attachment can manage * connections at either the project or network level. Therefore, both the accept and reject lists * for a given service attachment must contain either only projects or only networks. * @param consumerAcceptLists consumerAcceptLists or {@code null} for none */ public ServiceAttachment setConsumerAcceptLists(java.util.List consumerAcceptLists) { this.consumerAcceptLists = consumerAcceptLists; return this; } /** * Specifies a list of projects or networks that are not allowed to connect to this service * attachment. The project can be specified using its project ID or project number and the network * can be specified using its URL. A given service attachment can manage connections at either the * project or network level. Therefore, both the reject and accept lists for a given service * attachment must contain either only projects or only networks. * @return value or {@code null} for none */ public java.util.List getConsumerRejectLists() { return consumerRejectLists; } /** * Specifies a list of projects or networks that are not allowed to connect to this service * attachment. The project can be specified using its project ID or project number and the network * can be specified using its URL. A given service attachment can manage connections at either the * project or network level. Therefore, both the reject and accept lists for a given service * attachment must contain either only projects or only networks. * @param consumerRejectLists consumerRejectLists or {@code null} for none */ public ServiceAttachment setConsumerRejectLists(java.util.List consumerRejectLists) { this.consumerRejectLists = consumerRejectLists; return this; } /** * [Output Only] Creation timestamp in RFC3339 text format. * @return value or {@code null} for none */ public java.lang.String getCreationTimestamp() { return creationTimestamp; } /** * [Output Only] Creation timestamp in RFC3339 text format. * @param creationTimestamp creationTimestamp or {@code null} for none */ public ServiceAttachment setCreationTimestamp(java.lang.String creationTimestamp) { this.creationTimestamp = creationTimestamp; return this; } /** * An optional description of this resource. Provide this property when you create the resource. * @return value or {@code null} for none */ public java.lang.String getDescription() { return description; } /** * An optional description of this resource. Provide this property when you create the resource. * @param description description or {@code null} for none */ public ServiceAttachment setDescription(java.lang.String description) { this.description = description; return this; } /** * If specified, the domain name will be used during the integration between the PSC connected * endpoints and the Cloud DNS. For example, this is a valid domain name: "p.mycompany.com.". * Current max number of domain names supported is 1. * @return value or {@code null} for none */ public java.util.List getDomainNames() { return domainNames; } /** * If specified, the domain name will be used during the integration between the PSC connected * endpoints and the Cloud DNS. For example, this is a valid domain name: "p.mycompany.com.". * Current max number of domain names supported is 1. * @param domainNames domainNames or {@code null} for none */ public ServiceAttachment setDomainNames(java.util.List domainNames) { this.domainNames = domainNames; return this; } /** * If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP * connections that traverse proxies on their way to destination servers. * @return value or {@code null} for none */ public java.lang.Boolean getEnableProxyProtocol() { return enableProxyProtocol; } /** * If true, enable the proxy protocol which is for supplying client TCP/IP address data in TCP * connections that traverse proxies on their way to destination servers. * @param enableProxyProtocol enableProxyProtocol or {@code null} for none */ public ServiceAttachment setEnableProxyProtocol(java.lang.Boolean enableProxyProtocol) { this.enableProxyProtocol = enableProxyProtocol; return this; } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to- * date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, * the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a * get() request to retrieve the ServiceAttachment. * @see #decodeFingerprint() * @return value or {@code null} for none */ public java.lang.String getFingerprint() { return fingerprint; } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to- * date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, * the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a * get() request to retrieve the ServiceAttachment. * @see #getFingerprint() * @return Base64 decoded value or {@code null} for none * * @since 1.14 */ public byte[] decodeFingerprint() { return com.google.api.client.util.Base64.decodeBase64(fingerprint); } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to- * date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, * the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a * get() request to retrieve the ServiceAttachment. * @see #encodeFingerprint() * @param fingerprint fingerprint or {@code null} for none */ public ServiceAttachment setFingerprint(java.lang.String fingerprint) { this.fingerprint = fingerprint; return this; } /** * Fingerprint of this resource. A hash of the contents stored in this object. This field is used * in optimistic locking. This field will be ignored when inserting a ServiceAttachment. An up-to- * date fingerprint must be provided in order to patch/update the ServiceAttachment; otherwise, * the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a * get() request to retrieve the ServiceAttachment. * @see #setFingerprint() * *

* The value is encoded Base64 or {@code null} for none. *

* * @since 1.14 */ public ServiceAttachment encodeFingerprint(byte[] fingerprint) { this.fingerprint = com.google.api.client.util.Base64.encodeBase64URLSafeString(fingerprint); return this; } /** * [Output Only] The unique identifier for the resource type. The server generates this * identifier. * @return value or {@code null} for none */ public java.math.BigInteger getId() { return id; } /** * [Output Only] The unique identifier for the resource type. The server generates this * identifier. * @param id id or {@code null} for none */ public ServiceAttachment setId(java.math.BigInteger id) { this.id = id; return this; } /** * [Output Only] Type of the resource. Always compute#serviceAttachment for service attachments. * @return value or {@code null} for none */ public java.lang.String getKind() { return kind; } /** * [Output Only] Type of the resource. Always compute#serviceAttachment for service attachments. * @param kind kind or {@code null} for none */ public ServiceAttachment setKind(java.lang.String kind) { this.kind = kind; return this; } /** * Name of the resource. Provided by the client when the resource is created. The name must be * 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first * character must be a lowercase letter, and all following characters must be a dash, lowercase * letter, or digit, except the last character, which cannot be a dash. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * Name of the resource. Provided by the client when the resource is created. The name must be * 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters * long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first * character must be a lowercase letter, and all following characters must be a dash, lowercase * letter, or digit, except the last character, which cannot be a dash. * @param name name or {@code null} for none */ public ServiceAttachment setName(java.lang.String name) { this.name = name; return this; } /** * An array of URLs where each entry is the URL of a subnet provided by the service producer to * use for NAT in this service attachment. * @return value or {@code null} for none */ public java.util.List getNatSubnets() { return natSubnets; } /** * An array of URLs where each entry is the URL of a subnet provided by the service producer to * use for NAT in this service attachment. * @param natSubnets natSubnets or {@code null} for none */ public ServiceAttachment setNatSubnets(java.util.List natSubnets) { this.natSubnets = natSubnets; return this; } /** * The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint * identified by this service attachment. * @return value or {@code null} for none */ public java.lang.String getProducerForwardingRule() { return producerForwardingRule; } /** * The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint * identified by this service attachment. * @param producerForwardingRule producerForwardingRule or {@code null} for none */ public ServiceAttachment setProducerForwardingRule(java.lang.String producerForwardingRule) { this.producerForwardingRule = producerForwardingRule; return this; } /** * [Output Only] An 128-bit global unique ID of the PSC service attachment. * @return value or {@code null} for none */ public Uint128 getPscServiceAttachmentId() { return pscServiceAttachmentId; } /** * [Output Only] An 128-bit global unique ID of the PSC service attachment. * @param pscServiceAttachmentId pscServiceAttachmentId or {@code null} for none */ public ServiceAttachment setPscServiceAttachmentId(Uint128 pscServiceAttachmentId) { this.pscServiceAttachmentId = pscServiceAttachmentId; return this; } /** * This flag determines whether a consumer accept/reject list change can reconcile the statuses of * existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only * affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain * untouched regardless how the connection policy is modified . - If true, update will affect both * PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be * moved to REJECTED if its project is added to the reject list. For newly created service * attachment, this boolean defaults to false. * @return value or {@code null} for none */ public java.lang.Boolean getReconcileConnections() { return reconcileConnections; } /** * This flag determines whether a consumer accept/reject list change can reconcile the statuses of * existing ACCEPTED or REJECTED PSC endpoints. - If false, connection policy update will only * affect existing PENDING PSC endpoints. Existing ACCEPTED/REJECTED endpoints will remain * untouched regardless how the connection policy is modified . - If true, update will affect both * PENDING and ACCEPTED/REJECTED PSC endpoints. For example, an ACCEPTED PSC endpoint will be * moved to REJECTED if its project is added to the reject list. For newly created service * attachment, this boolean defaults to false. * @param reconcileConnections reconcileConnections or {@code null} for none */ public ServiceAttachment setReconcileConnections(java.lang.Boolean reconcileConnections) { this.reconcileConnections = reconcileConnections; return this; } /** * [Output Only] URL of the region where the service attachment resides. This field applies only * to the region resource. You must specify this field as part of the HTTP request URL. It is not * settable as a field in the request body. * @return value or {@code null} for none */ public java.lang.String getRegion() { return region; } /** * [Output Only] URL of the region where the service attachment resides. This field applies only * to the region resource. You must specify this field as part of the HTTP request URL. It is not * settable as a field in the request body. * @param region region or {@code null} for none */ public ServiceAttachment setRegion(java.lang.String region) { this.region = region; return this; } /** * [Output Only] Server-defined URL for the resource. * @return value or {@code null} for none */ public java.lang.String getSelfLink() { return selfLink; } /** * [Output Only] Server-defined URL for the resource. * @param selfLink selfLink or {@code null} for none */ public ServiceAttachment setSelfLink(java.lang.String selfLink) { this.selfLink = selfLink; return this; } /** * The URL of a service serving the endpoint identified by this service attachment. * @return value or {@code null} for none */ public java.lang.String getTargetService() { return targetService; } /** * The URL of a service serving the endpoint identified by this service attachment. * @param targetService targetService or {@code null} for none */ public ServiceAttachment setTargetService(java.lang.String targetService) { this.targetService = targetService; return this; } @Override public ServiceAttachment set(String fieldName, Object value) { return (ServiceAttachment) super.set(fieldName, value); } @Override public ServiceAttachment clone() { return (ServiceAttachment) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy