com.google.api.services.serviceusage.v1.model.ConsumerPolicy 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.serviceusage.v1.model;
/**
* Consumer Policy is a set of rules that define what services or service groups can be used for a
* cloud resource hierarchy.
*
* 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 Service Usage 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 ConsumerPolicy extends com.google.api.client.json.GenericJson {
/**
* Optional. Annotations is an unstructured key-value map stored with a policy that may be set by
* external tools to store and retrieve arbitrary metadata. They are not queryable and should be
* preserved when modifying objects. [AIP-128](https://google.aip.dev/128#annotations)
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.Map annotations;
/**
* Enable rules define usable services and service groups.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.util.List enableRules;
/**
* An opaque tag indicating the current version of the policy, used for concurrency control.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String etag;
/**
* Output only. The resource name of the policy. We only allow consumer policy name as `default`
* for now: `projects/12345/consumerPolicies/default`, `folders/12345/consumerPolicies/default`,
* `organizations/12345/consumerPolicies/default`.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private java.lang.String name;
/**
* The last-modified time.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private String updateTime;
/**
* Optional. Annotations is an unstructured key-value map stored with a policy that may be set by
* external tools to store and retrieve arbitrary metadata. They are not queryable and should be
* preserved when modifying objects. [AIP-128](https://google.aip.dev/128#annotations)
* @return value or {@code null} for none
*/
public java.util.Map getAnnotations() {
return annotations;
}
/**
* Optional. Annotations is an unstructured key-value map stored with a policy that may be set by
* external tools to store and retrieve arbitrary metadata. They are not queryable and should be
* preserved when modifying objects. [AIP-128](https://google.aip.dev/128#annotations)
* @param annotations annotations or {@code null} for none
*/
public ConsumerPolicy setAnnotations(java.util.Map annotations) {
this.annotations = annotations;
return this;
}
/**
* Enable rules define usable services and service groups.
* @return value or {@code null} for none
*/
public java.util.List getEnableRules() {
return enableRules;
}
/**
* Enable rules define usable services and service groups.
* @param enableRules enableRules or {@code null} for none
*/
public ConsumerPolicy setEnableRules(java.util.List enableRules) {
this.enableRules = enableRules;
return this;
}
/**
* An opaque tag indicating the current version of the policy, used for concurrency control.
* @return value or {@code null} for none
*/
public java.lang.String getEtag() {
return etag;
}
/**
* An opaque tag indicating the current version of the policy, used for concurrency control.
* @param etag etag or {@code null} for none
*/
public ConsumerPolicy setEtag(java.lang.String etag) {
this.etag = etag;
return this;
}
/**
* Output only. The resource name of the policy. We only allow consumer policy name as `default`
* for now: `projects/12345/consumerPolicies/default`, `folders/12345/consumerPolicies/default`,
* `organizations/12345/consumerPolicies/default`.
* @return value or {@code null} for none
*/
public java.lang.String getName() {
return name;
}
/**
* Output only. The resource name of the policy. We only allow consumer policy name as `default`
* for now: `projects/12345/consumerPolicies/default`, `folders/12345/consumerPolicies/default`,
* `organizations/12345/consumerPolicies/default`.
* @param name name or {@code null} for none
*/
public ConsumerPolicy setName(java.lang.String name) {
this.name = name;
return this;
}
/**
* The last-modified time.
* @return value or {@code null} for none
*/
public String getUpdateTime() {
return updateTime;
}
/**
* The last-modified time.
* @param updateTime updateTime or {@code null} for none
*/
public ConsumerPolicy setUpdateTime(String updateTime) {
this.updateTime = updateTime;
return this;
}
@Override
public ConsumerPolicy set(String fieldName, Object value) {
return (ConsumerPolicy) super.set(fieldName, value);
}
@Override
public ConsumerPolicy clone() {
return (ConsumerPolicy) super.clone();
}
}