com.google.api.services.osconfig.v1.model.OSPolicyResourceExecResource Maven / Gradle / Ivy
The 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.osconfig.v1.model;
/**
* A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate`
* and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource`
* is applied by the agent, it first executes the script in the `validate` stage. The `validate`
* stage can signal that the `ExecResource` is already in the desired state by returning an exit
* code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code
* of `101`. Any other exit code returned by this stage is considered an error. If the
* `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the
* agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already
* in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the
* `enforce` stage should return an exit code of `100` to indicate that the resource in now in its
* desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen
* over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired
* state` and errors. Because, for example, Powershell will always return an exit code of `0` unless
* an `exit` statement is provided in the script. So, for reasons of consistency and being explicit,
* exit codes `100` and `101` were chosen.
*
* 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 OS Config 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 OSPolicyResourceExecResource extends com.google.api.client.json.GenericJson {
/**
* What to run to bring this resource into the desired state. An exit code of 100 indicates
* "success", any other exit code indicates a failure running enforce.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private OSPolicyResourceExecResourceExec enforce;
/**
* Required. What to run to validate this resource is in the desired state. An exit code of 100
* indicates "in desired state", and exit code of 101 indicates "not in desired state". Any other
* exit code indicates a failure running validate.
* The value may be {@code null}.
*/
@com.google.api.client.util.Key
private OSPolicyResourceExecResourceExec validate;
/**
* What to run to bring this resource into the desired state. An exit code of 100 indicates
* "success", any other exit code indicates a failure running enforce.
* @return value or {@code null} for none
*/
public OSPolicyResourceExecResourceExec getEnforce() {
return enforce;
}
/**
* What to run to bring this resource into the desired state. An exit code of 100 indicates
* "success", any other exit code indicates a failure running enforce.
* @param enforce enforce or {@code null} for none
*/
public OSPolicyResourceExecResource setEnforce(OSPolicyResourceExecResourceExec enforce) {
this.enforce = enforce;
return this;
}
/**
* Required. What to run to validate this resource is in the desired state. An exit code of 100
* indicates "in desired state", and exit code of 101 indicates "not in desired state". Any other
* exit code indicates a failure running validate.
* @return value or {@code null} for none
*/
public OSPolicyResourceExecResourceExec getValidate() {
return validate;
}
/**
* Required. What to run to validate this resource is in the desired state. An exit code of 100
* indicates "in desired state", and exit code of 101 indicates "not in desired state". Any other
* exit code indicates a failure running validate.
* @param validate validate or {@code null} for none
*/
public OSPolicyResourceExecResource setValidate(OSPolicyResourceExecResourceExec validate) {
this.validate = validate;
return this;
}
@Override
public OSPolicyResourceExecResource set(String fieldName, Object value) {
return (OSPolicyResourceExecResource) super.set(fieldName, value);
}
@Override
public OSPolicyResourceExecResource clone() {
return (OSPolicyResourceExecResource) super.clone();
}
}