// *** 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.aws.appflow.inputs;

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


public final class ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs extends com.pulumi.resources.ResourceArgs {

    public static final ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs Empty = new ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs();

    /**
     * Unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
     * 
     */
    @Import(name="apiKey", required=true)
    private Output<String> apiKey;

    /**
     * @return Unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
     * 
     */
    public Output<String> apiKey() {
        return this.apiKey;
    }

    /**
     * Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.
     * 
     */
    @Import(name="applicationKey", required=true)
    private Output<String> applicationKey;

    /**
     * @return Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.
     * 
     */
    public Output<String> applicationKey() {
        return this.applicationKey;
    }

    private ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs() {}

    private ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs(ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs $) {
        this.apiKey = $.apiKey;
        this.applicationKey = $.applicationKey;
    }

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

    public static final class Builder {
        private ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs $;

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

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

        /**
         * @param apiKey Unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
         * 
         * @return builder
         * 
         */
        public Builder apiKey(Output<String> apiKey) {
            $.apiKey = apiKey;
            return this;
        }

        /**
         * @param apiKey Unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
         * 
         * @return builder
         * 
         */
        public Builder apiKey(String apiKey) {
            return apiKey(Output.of(apiKey));
        }

        /**
         * @param applicationKey Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.
         * 
         * @return builder
         * 
         */
        public Builder applicationKey(Output<String> applicationKey) {
            $.applicationKey = applicationKey;
            return this;
        }

        /**
         * @param applicationKey Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.
         * 
         * @return builder
         * 
         */
        public Builder applicationKey(String applicationKey) {
            return applicationKey(Output.of(applicationKey));
        }

        public ConnectorProfileConnectorProfileConfigConnectorProfileCredentialsDatadogArgs build() {
            $.apiKey = Objects.requireNonNull($.apiKey, "expected parameter 'apiKey' to be non-null");
            $.applicationKey = Objects.requireNonNull($.applicationKey, "expected parameter 'applicationKey' to be non-null");
            return $;
        }
    }

}
