Class 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.GeneratedMessageV3
    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.v1.OSPolicy.Resource.ExecResource
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • 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.v1.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

        public OSPolicy.Resource.ExecResource.Exec 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.v1.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.v1.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.v1.OSPolicy.Resource.ExecResource.Exec enforce = 2;
        Specified by:
        hasEnforce in interface OSPolicy.Resource.ExecResourceOrBuilder
        Returns:
        Whether the enforce field is set.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • 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
      • 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
      • toBuilder

        public OSPolicy.Resource.ExecResource.Builder 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.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • 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.GeneratedMessageV3
      • getDefaultInstanceForType

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