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

com.pulumi.kubernetes.resource.v1alpha1.inputs.ResourceClaimParametersReferenceArgs Maven / Gradle / Ivy

There is a newer version: 4.19.0
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.v1alpha1.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.
 * 
 */
public final class ResourceClaimParametersReferenceArgs extends com.pulumi.resources.ResourceArgs {

    public static final ResourceClaimParametersReferenceArgs Empty = new ResourceClaimParametersReferenceArgs();

    /**
     * APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
     * 
     */
    @Import(name="apiGroup")
    private @Nullable Output apiGroup;

    /**
     * @return APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
     * 
     */
    public Optional> apiGroup() {
        return Optional.ofNullable(this.apiGroup);
    }

    /**
     * Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
     * 
     */
    @Import(name="kind", required=true)
    private Output kind;

    /**
     * @return Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
     * 
     */
    public Output kind() {
        return this.kind;
    }

    /**
     * Name is the name of resource being referenced.
     * 
     */
    @Import(name="name", required=true)
    private Output name;

    /**
     * @return Name is the name of resource being referenced.
     * 
     */
    public Output name() {
        return this.name;
    }

    private ResourceClaimParametersReferenceArgs() {}

    private ResourceClaimParametersReferenceArgs(ResourceClaimParametersReferenceArgs $) {
        this.apiGroup = $.apiGroup;
        this.kind = $.kind;
        this.name = $.name;
    }

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

    public static final class Builder {
        private ResourceClaimParametersReferenceArgs $;

        public Builder() {
            $ = new ResourceClaimParametersReferenceArgs();
        }

        public Builder(ResourceClaimParametersReferenceArgs defaults) {
            $ = new ResourceClaimParametersReferenceArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param apiGroup APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
         * 
         * @return builder
         * 
         */
        public Builder apiGroup(@Nullable Output apiGroup) {
            $.apiGroup = apiGroup;
            return this;
        }

        /**
         * @param apiGroup APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
         * 
         * @return builder
         * 
         */
        public Builder apiGroup(String apiGroup) {
            return apiGroup(Output.of(apiGroup));
        }

        /**
         * @param kind Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
         * 
         * @return builder
         * 
         */
        public Builder kind(Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

        /**
         * @param name Name is the name of resource being referenced.
         * 
         * @return builder
         * 
         */
        public Builder name(Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name is the name of resource being referenced.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public ResourceClaimParametersReferenceArgs build() {
            if ($.kind == null) {
                throw new MissingRequiredPropertyException("ResourceClaimParametersReferenceArgs", "kind");
            }
            if ($.name == null) {
                throw new MissingRequiredPropertyException("ResourceClaimParametersReferenceArgs", "name");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy