All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.kubernetes.resource.v1alpha2.outputs.ResourceHandle Maven / Gradle / Ivy

There is a newer version: 4.19.0-alpha.1730750641
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.kubernetes.resource.v1alpha2.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.kubernetes.resource.v1alpha2.outputs.StructuredResourceHandle;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ResourceHandle {
    /**
     * @return Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.
     * 
     * The maximum size of this field is 16KiB. This may get increased in the future, but not reduced.
     * 
     */
    private @Nullable String data;
    /**
     * @return DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.
     * 
     */
    private @Nullable String driverName;
    /**
     * @return If StructuredData is set, then it needs to be used instead of Data.
     * 
     */
    private @Nullable StructuredResourceHandle structuredData;

    private ResourceHandle() {}
    /**
     * @return Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.
     * 
     * The maximum size of this field is 16KiB. This may get increased in the future, but not reduced.
     * 
     */
    public Optional data() {
        return Optional.ofNullable(this.data);
    }
    /**
     * @return DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.
     * 
     */
    public Optional driverName() {
        return Optional.ofNullable(this.driverName);
    }
    /**
     * @return If StructuredData is set, then it needs to be used instead of Data.
     * 
     */
    public Optional structuredData() {
        return Optional.ofNullable(this.structuredData);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(ResourceHandle defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String data;
        private @Nullable String driverName;
        private @Nullable StructuredResourceHandle structuredData;
        public Builder() {}
        public Builder(ResourceHandle defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.data = defaults.data;
    	      this.driverName = defaults.driverName;
    	      this.structuredData = defaults.structuredData;
        }

        @CustomType.Setter
        public Builder data(@Nullable String data) {

            this.data = data;
            return this;
        }
        @CustomType.Setter
        public Builder driverName(@Nullable String driverName) {

            this.driverName = driverName;
            return this;
        }
        @CustomType.Setter
        public Builder structuredData(@Nullable StructuredResourceHandle structuredData) {

            this.structuredData = structuredData;
            return this;
        }
        public ResourceHandle build() {
            final var _resultValue = new ResourceHandle();
            _resultValue.data = data;
            _resultValue.driverName = driverName;
            _resultValue.structuredData = structuredData;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy