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

com.pulumi.azurenative.notificationhubs.inputs.ApnsCredentialPropertiesArgs Maven / Gradle / Ivy

// *** 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.azurenative.notificationhubs.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;


/**
 * Description of a NotificationHub ApnsCredential.
 * 
 */
public final class ApnsCredentialPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final ApnsCredentialPropertiesArgs Empty = new ApnsCredentialPropertiesArgs();

    /**
     * Gets or sets the APNS certificate.
     * 
     */
    @Import(name="apnsCertificate")
    private @Nullable Output apnsCertificate;

    /**
     * @return Gets or sets the APNS certificate.
     * 
     */
    public Optional> apnsCertificate() {
        return Optional.ofNullable(this.apnsCertificate);
    }

    /**
     * Gets or sets the issuer (iss) registered claim key, whose value is
     * your 10-character Team ID, obtained from your developer account
     * 
     */
    @Import(name="appId")
    private @Nullable Output appId;

    /**
     * @return Gets or sets the issuer (iss) registered claim key, whose value is
     * your 10-character Team ID, obtained from your developer account
     * 
     */
    public Optional> appId() {
        return Optional.ofNullable(this.appId);
    }

    /**
     * Gets or sets the name of the application
     * 
     */
    @Import(name="appName")
    private @Nullable Output appName;

    /**
     * @return Gets or sets the name of the application
     * 
     */
    public Optional> appName() {
        return Optional.ofNullable(this.appName);
    }

    /**
     * Gets or sets the certificate key.
     * 
     */
    @Import(name="certificateKey")
    private @Nullable Output certificateKey;

    /**
     * @return Gets or sets the certificate key.
     * 
     */
    public Optional> certificateKey() {
        return Optional.ofNullable(this.certificateKey);
    }

    /**
     * Gets or sets the endpoint of this credential.
     * 
     */
    @Import(name="endpoint", required=true)
    private Output endpoint;

    /**
     * @return Gets or sets the endpoint of this credential.
     * 
     */
    public Output endpoint() {
        return this.endpoint;
    }

    /**
     * Gets or sets a 10-character key identifier (kid) key, obtained from
     * your developer account
     * 
     */
    @Import(name="keyId")
    private @Nullable Output keyId;

    /**
     * @return Gets or sets a 10-character key identifier (kid) key, obtained from
     * your developer account
     * 
     */
    public Optional> keyId() {
        return Optional.ofNullable(this.keyId);
    }

    /**
     * Gets or sets the APNS certificate Thumbprint
     * 
     */
    @Import(name="thumbprint")
    private @Nullable Output thumbprint;

    /**
     * @return Gets or sets the APNS certificate Thumbprint
     * 
     */
    public Optional> thumbprint() {
        return Optional.ofNullable(this.thumbprint);
    }

    /**
     * Gets or sets provider Authentication Token, obtained through your
     * developer account
     * 
     */
    @Import(name="token")
    private @Nullable Output token;

    /**
     * @return Gets or sets provider Authentication Token, obtained through your
     * developer account
     * 
     */
    public Optional> token() {
        return Optional.ofNullable(this.token);
    }

    private ApnsCredentialPropertiesArgs() {}

    private ApnsCredentialPropertiesArgs(ApnsCredentialPropertiesArgs $) {
        this.apnsCertificate = $.apnsCertificate;
        this.appId = $.appId;
        this.appName = $.appName;
        this.certificateKey = $.certificateKey;
        this.endpoint = $.endpoint;
        this.keyId = $.keyId;
        this.thumbprint = $.thumbprint;
        this.token = $.token;
    }

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

    public static final class Builder {
        private ApnsCredentialPropertiesArgs $;

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

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

        /**
         * @param apnsCertificate Gets or sets the APNS certificate.
         * 
         * @return builder
         * 
         */
        public Builder apnsCertificate(@Nullable Output apnsCertificate) {
            $.apnsCertificate = apnsCertificate;
            return this;
        }

        /**
         * @param apnsCertificate Gets or sets the APNS certificate.
         * 
         * @return builder
         * 
         */
        public Builder apnsCertificate(String apnsCertificate) {
            return apnsCertificate(Output.of(apnsCertificate));
        }

        /**
         * @param appId Gets or sets the issuer (iss) registered claim key, whose value is
         * your 10-character Team ID, obtained from your developer account
         * 
         * @return builder
         * 
         */
        public Builder appId(@Nullable Output appId) {
            $.appId = appId;
            return this;
        }

        /**
         * @param appId Gets or sets the issuer (iss) registered claim key, whose value is
         * your 10-character Team ID, obtained from your developer account
         * 
         * @return builder
         * 
         */
        public Builder appId(String appId) {
            return appId(Output.of(appId));
        }

        /**
         * @param appName Gets or sets the name of the application
         * 
         * @return builder
         * 
         */
        public Builder appName(@Nullable Output appName) {
            $.appName = appName;
            return this;
        }

        /**
         * @param appName Gets or sets the name of the application
         * 
         * @return builder
         * 
         */
        public Builder appName(String appName) {
            return appName(Output.of(appName));
        }

        /**
         * @param certificateKey Gets or sets the certificate key.
         * 
         * @return builder
         * 
         */
        public Builder certificateKey(@Nullable Output certificateKey) {
            $.certificateKey = certificateKey;
            return this;
        }

        /**
         * @param certificateKey Gets or sets the certificate key.
         * 
         * @return builder
         * 
         */
        public Builder certificateKey(String certificateKey) {
            return certificateKey(Output.of(certificateKey));
        }

        /**
         * @param endpoint Gets or sets the endpoint of this credential.
         * 
         * @return builder
         * 
         */
        public Builder endpoint(Output endpoint) {
            $.endpoint = endpoint;
            return this;
        }

        /**
         * @param endpoint Gets or sets the endpoint of this credential.
         * 
         * @return builder
         * 
         */
        public Builder endpoint(String endpoint) {
            return endpoint(Output.of(endpoint));
        }

        /**
         * @param keyId Gets or sets a 10-character key identifier (kid) key, obtained from
         * your developer account
         * 
         * @return builder
         * 
         */
        public Builder keyId(@Nullable Output keyId) {
            $.keyId = keyId;
            return this;
        }

        /**
         * @param keyId Gets or sets a 10-character key identifier (kid) key, obtained from
         * your developer account
         * 
         * @return builder
         * 
         */
        public Builder keyId(String keyId) {
            return keyId(Output.of(keyId));
        }

        /**
         * @param thumbprint Gets or sets the APNS certificate Thumbprint
         * 
         * @return builder
         * 
         */
        public Builder thumbprint(@Nullable Output thumbprint) {
            $.thumbprint = thumbprint;
            return this;
        }

        /**
         * @param thumbprint Gets or sets the APNS certificate Thumbprint
         * 
         * @return builder
         * 
         */
        public Builder thumbprint(String thumbprint) {
            return thumbprint(Output.of(thumbprint));
        }

        /**
         * @param token Gets or sets provider Authentication Token, obtained through your
         * developer account
         * 
         * @return builder
         * 
         */
        public Builder token(@Nullable Output token) {
            $.token = token;
            return this;
        }

        /**
         * @param token Gets or sets provider Authentication Token, obtained through your
         * developer account
         * 
         * @return builder
         * 
         */
        public Builder token(String token) {
            return token(Output.of(token));
        }

        public ApnsCredentialPropertiesArgs build() {
            if ($.endpoint == null) {
                throw new MissingRequiredPropertyException("ApnsCredentialPropertiesArgs", "endpoint");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy