com.google.api.services.appengine.v1.model.Service Maven / Gradle / Ivy
/*
* 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.appengine.v1.model;
/**
* A Service resource is a logical component of an application that can share state and communicate
* in a secure fashion with other services. For example, an application that handles customer
* requests might include separate services to handle tasks such as backend data analysis or API
* requests from mobile devices. Each service has a collection of versions that define a specific
* set of code used to implement the functionality of that 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 App Engine Admin 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 Service extends com.google.api.client.json.GenericJson {
/**
* Additional Google Generated Customer Metadata, this field won't be provided by default and can
* be requested by setting the IncludeExtraData field in GetServiceRequest
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map generatedCustomerMetadata;
/**
* Output only. Relative name of the service within the application. Example: default.@OutputOnly
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String id;
/**
* A set of labels to apply to this service. Labels are key/value pairs that describe the service
* and all resources that belong to it (e.g., versions). The labels can be used to search and
* group resources, and are propagated to the usage and billing reports, enabling fine-grain
* analysis of costs. An example of using labels is to tag resources belonging to different
* environments (e.g., "env=prod", "env=qa"). Label keys and values can be no longer than 63
* characters and can only contain lowercase letters, numeric characters, underscores, dashes, and
* international characters. Label keys must start with a lowercase letter or an international
* character. Each service can have at most 32 labels.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map labels;
/**
* Output only. Full path to the Service resource in the API. Example:
* apps/myapp/services/default.@OutputOnly
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String name;
/**
* Ingress settings for this service. Will apply to all versions.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private NetworkSettings networkSettings;
/**
* Mapping that defines fractional HTTP traffic diversion to different versions within the
* service.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private TrafficSplit split;
/**
* Additional Google Generated Customer Metadata, this field won't be provided by default and can
* be requested by setting the IncludeExtraData field in GetServiceRequest
* @return value or {@code null} for none
*/
public java.util.Map getGeneratedCustomerMetadata() {
return generatedCustomerMetadata;
}
/**
* Additional Google Generated Customer Metadata, this field won't be provided by default and can
* be requested by setting the IncludeExtraData field in GetServiceRequest
* @param generatedCustomerMetadata generatedCustomerMetadata or {@code null} for none
*/
public Service setGeneratedCustomerMetadata(java.util.Map generatedCustomerMetadata) {
this.generatedCustomerMetadata = generatedCustomerMetadata;
return this;
}
/**
* Output only. Relative name of the service within the application. Example: default.@OutputOnly
* @return value or {@code null} for none
*/
public java.lang.String getId() {
return id;
}
/**
* Output only. Relative name of the service within the application. Example: default.@OutputOnly
* @param id id or {@code null} for none
*/
public Service setId(java.lang.String id) {
this.id = id;
return this;
}
/**
* A set of labels to apply to this service. Labels are key/value pairs that describe the service
* and all resources that belong to it (e.g., versions). The labels can be used to search and
* group resources, and are propagated to the usage and billing reports, enabling fine-grain
* analysis of costs. An example of using labels is to tag resources belonging to different
* environments (e.g., "env=prod", "env=qa"). Label keys and values can be no longer than 63
* characters and can only contain lowercase letters, numeric characters, underscores, dashes, and
* international characters. Label keys must start with a lowercase letter or an international
* character. Each service can have at most 32 labels.
* @return value or {@code null} for none
*/
public java.util.Map getLabels() {
return labels;
}
/**
* A set of labels to apply to this service. Labels are key/value pairs that describe the service
* and all resources that belong to it (e.g., versions). The labels can be used to search and
* group resources, and are propagated to the usage and billing reports, enabling fine-grain
* analysis of costs. An example of using labels is to tag resources belonging to different
* environments (e.g., "env=prod", "env=qa"). Label keys and values can be no longer than 63
* characters and can only contain lowercase letters, numeric characters, underscores, dashes, and
* international characters. Label keys must start with a lowercase letter or an international
* character. Each service can have at most 32 labels.
* @param labels labels or {@code null} for none
*/
public Service setLabels(java.util.Map labels) {
this.labels = labels;
return this;
}
/**
* Output only. Full path to the Service resource in the API. Example:
* apps/myapp/services/default.@OutputOnly
* @return value or {@code null} for none
*/
public java.lang.String getName() {
return name;
}
/**
* Output only. Full path to the Service resource in the API. Example:
* apps/myapp/services/default.@OutputOnly
* @param name name or {@code null} for none
*/
public Service setName(java.lang.String name) {
this.name = name;
return this;
}
/**
* Ingress settings for this service. Will apply to all versions.
* @return value or {@code null} for none
*/
public NetworkSettings getNetworkSettings() {
return networkSettings;
}
/**
* Ingress settings for this service. Will apply to all versions.
* @param networkSettings networkSettings or {@code null} for none
*/
public Service setNetworkSettings(NetworkSettings networkSettings) {
this.networkSettings = networkSettings;
return this;
}
/**
* Mapping that defines fractional HTTP traffic diversion to different versions within the
* service.
* @return value or {@code null} for none
*/
public TrafficSplit getSplit() {
return split;
}
/**
* Mapping that defines fractional HTTP traffic diversion to different versions within the
* service.
* @param split split or {@code null} for none
*/
public Service setSplit(TrafficSplit split) {
this.split = split;
return this;
}
@Override
public Service set(String fieldName, Object value) {
return (Service) super.set(fieldName, value);
}
@Override
public Service clone() {
return (Service) super.clone();
}
}