Class OSPolicy.Resource.ExecResource

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource
All Implemented Interfaces:
OSPolicy.Resource.ExecResourceOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable
Enclosing class:
OSPolicy.Resource

public static final class OSPolicy.Resource.ExecResource extends com.google.protobuf.GeneratedMessage implements OSPolicy.Resource.ExecResourceOrBuilder
 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.
 
Protobuf type google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource
See Also:
  • Field Details

  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • hasValidate

      public boolean hasValidate()
       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.
       
      .google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource.Exec validate = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      hasValidate in interface OSPolicy.Resource.ExecResourceOrBuilder
      Returns:
      Whether the validate field is set.
    • getValidate

       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.
       
      .google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource.Exec validate = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getValidate in interface OSPolicy.Resource.ExecResourceOrBuilder
      Returns:
      The validate.
    • getValidateOrBuilder

      public OSPolicy.Resource.ExecResource.ExecOrBuilder getValidateOrBuilder()
       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.
       
      .google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource.Exec validate = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getValidateOrBuilder in interface OSPolicy.Resource.ExecResourceOrBuilder
    • hasEnforce

      public boolean hasEnforce()
       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.
       
      .google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource.Exec enforce = 2;
      Specified by:
      hasEnforce in interface OSPolicy.Resource.ExecResourceOrBuilder
      Returns:
      Whether the enforce field is set.
    • getEnforce

       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.
       
      .google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource.Exec enforce = 2;
      Specified by:
      getEnforce in interface OSPolicy.Resource.ExecResourceOrBuilder
      Returns:
      The enforce.
    • getEnforceOrBuilder

      public OSPolicy.Resource.ExecResource.ExecOrBuilder getEnforceOrBuilder()
       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.
       
      .google.cloud.osconfig.v1alpha.OSPolicy.Resource.ExecResource.Exec enforce = 2;
      Specified by:
      getEnforceOrBuilder in interface OSPolicy.Resource.ExecResourceOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static OSPolicy.Resource.ExecResource parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static OSPolicy.Resource.ExecResource parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static OSPolicy.Resource.ExecResource parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public OSPolicy.Resource.ExecResource.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static OSPolicy.Resource.ExecResource.Builder newBuilder()
    • newBuilder

    • toBuilder

      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected OSPolicy.Resource.ExecResource.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static OSPolicy.Resource.ExecResource getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<OSPolicy.Resource.ExecResource> parser()
    • getParserForType

      public com.google.protobuf.Parser<OSPolicy.Resource.ExecResource> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public OSPolicy.Resource.ExecResource getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder