// *** 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.gcp.kms.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.Objects;


public final class GetKMSCryptoKeyArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetKMSCryptoKeyArgs Empty = new GetKMSCryptoKeyArgs();

    /**
     * The `id` of the Google Cloud Platform KeyRing to which the key belongs.
     * 
     */
    @Import(name="keyRing", required=true)
    private Output<String> keyRing;

    /**
     * @return The `id` of the Google Cloud Platform KeyRing to which the key belongs.
     * 
     */
    public Output<String> keyRing() {
        return this.keyRing;
    }

    /**
     * The CryptoKey&#39;s name.
     * A CryptoKey’s name belonging to the specified Google Cloud Platform KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}`
     * 
     */
    @Import(name="name", required=true)
    private Output<String> name;

    /**
     * @return The CryptoKey&#39;s name.
     * A CryptoKey’s name belonging to the specified Google Cloud Platform KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}`
     * 
     */
    public Output<String> name() {
        return this.name;
    }

    private GetKMSCryptoKeyArgs() {}

    private GetKMSCryptoKeyArgs(GetKMSCryptoKeyArgs $) {
        this.keyRing = $.keyRing;
        this.name = $.name;
    }

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

    public static final class Builder {
        private GetKMSCryptoKeyArgs $;

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

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

        /**
         * @param keyRing The `id` of the Google Cloud Platform KeyRing to which the key belongs.
         * 
         * @return builder
         * 
         */
        public Builder keyRing(Output<String> keyRing) {
            $.keyRing = keyRing;
            return this;
        }

        /**
         * @param keyRing The `id` of the Google Cloud Platform KeyRing to which the key belongs.
         * 
         * @return builder
         * 
         */
        public Builder keyRing(String keyRing) {
            return keyRing(Output.of(keyRing));
        }

        /**
         * @param name The CryptoKey&#39;s name.
         * A CryptoKey’s name belonging to the specified Google Cloud Platform KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}`
         * 
         * @return builder
         * 
         */
        public Builder name(Output<String> name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The CryptoKey&#39;s name.
         * A CryptoKey’s name belonging to the specified Google Cloud Platform KeyRing and match the regular expression `[a-zA-Z0-9_-]{1,63}`
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        public GetKMSCryptoKeyArgs build() {
            $.keyRing = Objects.requireNonNull($.keyRing, "expected parameter 'keyRing' to be non-null");
            $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null");
            return $;
        }
    }

}
