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

com.pulumi.aws.sns.inputs.PlatformApplicationState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
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.aws.sns.inputs;

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


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

    public static final PlatformApplicationState Empty = new PlatformApplicationState();

    /**
     * The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).
     * 
     */
    @Import(name="applePlatformBundleId")
    private @Nullable Output applePlatformBundleId;

    /**
     * @return The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).
     * 
     */
    public Optional> applePlatformBundleId() {
        return Optional.ofNullable(this.applePlatformBundleId);
    }

    /**
     * The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.
     * 
     */
    @Import(name="applePlatformTeamId")
    private @Nullable Output applePlatformTeamId;

    /**
     * @return The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.
     * 
     */
    public Optional> applePlatformTeamId() {
        return Optional.ofNullable(this.applePlatformTeamId);
    }

    /**
     * The ARN of the SNS platform application
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The ARN of the SNS platform application
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
     * 
     */
    @Import(name="eventDeliveryFailureTopicArn")
    private @Nullable Output eventDeliveryFailureTopicArn;

    /**
     * @return The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
     * 
     */
    public Optional> eventDeliveryFailureTopicArn() {
        return Optional.ofNullable(this.eventDeliveryFailureTopicArn);
    }

    /**
     * The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.
     * 
     */
    @Import(name="eventEndpointCreatedTopicArn")
    private @Nullable Output eventEndpointCreatedTopicArn;

    /**
     * @return The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.
     * 
     */
    public Optional> eventEndpointCreatedTopicArn() {
        return Optional.ofNullable(this.eventEndpointCreatedTopicArn);
    }

    /**
     * The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
     * 
     */
    @Import(name="eventEndpointDeletedTopicArn")
    private @Nullable Output eventEndpointDeletedTopicArn;

    /**
     * @return The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
     * 
     */
    public Optional> eventEndpointDeletedTopicArn() {
        return Optional.ofNullable(this.eventEndpointDeletedTopicArn);
    }

    /**
     * The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.
     * 
     */
    @Import(name="eventEndpointUpdatedTopicArn")
    private @Nullable Output eventEndpointUpdatedTopicArn;

    /**
     * @return The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.
     * 
     */
    public Optional> eventEndpointUpdatedTopicArn() {
        return Optional.ofNullable(this.eventEndpointUpdatedTopicArn);
    }

    /**
     * The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
     * 
     */
    @Import(name="failureFeedbackRoleArn")
    private @Nullable Output failureFeedbackRoleArn;

    /**
     * @return The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
     * 
     */
    public Optional> failureFeedbackRoleArn() {
        return Optional.ofNullable(this.failureFeedbackRoleArn);
    }

    /**
     * The friendly name for the SNS platform application
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The friendly name for the SNS platform application
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms.
     * 
     */
    @Import(name="platform")
    private @Nullable Output platform;

    /**
     * @return The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms.
     * 
     */
    public Optional> platform() {
        return Optional.ofNullable(this.platform);
    }

    /**
     * Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
     * 
     */
    @Import(name="platformCredential")
    private @Nullable Output platformCredential;

    /**
     * @return Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
     * 
     */
    public Optional> platformCredential() {
        return Optional.ofNullable(this.platformCredential);
    }

    /**
     * Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
     * 
     */
    @Import(name="platformPrincipal")
    private @Nullable Output platformPrincipal;

    /**
     * @return Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
     * 
     */
    public Optional> platformPrincipal() {
        return Optional.ofNullable(this.platformPrincipal);
    }

    /**
     * The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
     * 
     */
    @Import(name="successFeedbackRoleArn")
    private @Nullable Output successFeedbackRoleArn;

    /**
     * @return The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
     * 
     */
    public Optional> successFeedbackRoleArn() {
        return Optional.ofNullable(this.successFeedbackRoleArn);
    }

    /**
     * The sample rate percentage (0-100) of successfully delivered messages.
     * 
     * The following attributes are needed only when using APNS token credentials:
     * 
     */
    @Import(name="successFeedbackSampleRate")
    private @Nullable Output successFeedbackSampleRate;

    /**
     * @return The sample rate percentage (0-100) of successfully delivered messages.
     * 
     * The following attributes are needed only when using APNS token credentials:
     * 
     */
    public Optional> successFeedbackSampleRate() {
        return Optional.ofNullable(this.successFeedbackSampleRate);
    }

    private PlatformApplicationState() {}

    private PlatformApplicationState(PlatformApplicationState $) {
        this.applePlatformBundleId = $.applePlatformBundleId;
        this.applePlatformTeamId = $.applePlatformTeamId;
        this.arn = $.arn;
        this.eventDeliveryFailureTopicArn = $.eventDeliveryFailureTopicArn;
        this.eventEndpointCreatedTopicArn = $.eventEndpointCreatedTopicArn;
        this.eventEndpointDeletedTopicArn = $.eventEndpointDeletedTopicArn;
        this.eventEndpointUpdatedTopicArn = $.eventEndpointUpdatedTopicArn;
        this.failureFeedbackRoleArn = $.failureFeedbackRoleArn;
        this.name = $.name;
        this.platform = $.platform;
        this.platformCredential = $.platformCredential;
        this.platformPrincipal = $.platformPrincipal;
        this.successFeedbackRoleArn = $.successFeedbackRoleArn;
        this.successFeedbackSampleRate = $.successFeedbackSampleRate;
    }

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

    public static final class Builder {
        private PlatformApplicationState $;

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

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

        /**
         * @param applePlatformBundleId The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).
         * 
         * @return builder
         * 
         */
        public Builder applePlatformBundleId(@Nullable Output applePlatformBundleId) {
            $.applePlatformBundleId = applePlatformBundleId;
            return this;
        }

        /**
         * @param applePlatformBundleId The bundle identifier that's assigned to your iOS app. May only include alphanumeric characters, hyphens (-), and periods (.).
         * 
         * @return builder
         * 
         */
        public Builder applePlatformBundleId(String applePlatformBundleId) {
            return applePlatformBundleId(Output.of(applePlatformBundleId));
        }

        /**
         * @param applePlatformTeamId The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.
         * 
         * @return builder
         * 
         */
        public Builder applePlatformTeamId(@Nullable Output applePlatformTeamId) {
            $.applePlatformTeamId = applePlatformTeamId;
            return this;
        }

        /**
         * @param applePlatformTeamId The identifier that's assigned to your Apple developer account team. Must be 10 alphanumeric characters.
         * 
         * @return builder
         * 
         */
        public Builder applePlatformTeamId(String applePlatformTeamId) {
            return applePlatformTeamId(Output.of(applePlatformTeamId));
        }

        /**
         * @param arn The ARN of the SNS platform application
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The ARN of the SNS platform application
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param eventDeliveryFailureTopicArn The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
         * 
         * @return builder
         * 
         */
        public Builder eventDeliveryFailureTopicArn(@Nullable Output eventDeliveryFailureTopicArn) {
            $.eventDeliveryFailureTopicArn = eventDeliveryFailureTopicArn;
            return this;
        }

        /**
         * @param eventDeliveryFailureTopicArn The ARN of the SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.
         * 
         * @return builder
         * 
         */
        public Builder eventDeliveryFailureTopicArn(String eventDeliveryFailureTopicArn) {
            return eventDeliveryFailureTopicArn(Output.of(eventDeliveryFailureTopicArn));
        }

        /**
         * @param eventEndpointCreatedTopicArn The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.
         * 
         * @return builder
         * 
         */
        public Builder eventEndpointCreatedTopicArn(@Nullable Output eventEndpointCreatedTopicArn) {
            $.eventEndpointCreatedTopicArn = eventEndpointCreatedTopicArn;
            return this;
        }

        /**
         * @param eventEndpointCreatedTopicArn The ARN of the SNS Topic triggered when a new platform endpoint is added to your platform application.
         * 
         * @return builder
         * 
         */
        public Builder eventEndpointCreatedTopicArn(String eventEndpointCreatedTopicArn) {
            return eventEndpointCreatedTopicArn(Output.of(eventEndpointCreatedTopicArn));
        }

        /**
         * @param eventEndpointDeletedTopicArn The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
         * 
         * @return builder
         * 
         */
        public Builder eventEndpointDeletedTopicArn(@Nullable Output eventEndpointDeletedTopicArn) {
            $.eventEndpointDeletedTopicArn = eventEndpointDeletedTopicArn;
            return this;
        }

        /**
         * @param eventEndpointDeletedTopicArn The ARN of the SNS Topic triggered when an existing platform endpoint is deleted from your platform application.
         * 
         * @return builder
         * 
         */
        public Builder eventEndpointDeletedTopicArn(String eventEndpointDeletedTopicArn) {
            return eventEndpointDeletedTopicArn(Output.of(eventEndpointDeletedTopicArn));
        }

        /**
         * @param eventEndpointUpdatedTopicArn The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.
         * 
         * @return builder
         * 
         */
        public Builder eventEndpointUpdatedTopicArn(@Nullable Output eventEndpointUpdatedTopicArn) {
            $.eventEndpointUpdatedTopicArn = eventEndpointUpdatedTopicArn;
            return this;
        }

        /**
         * @param eventEndpointUpdatedTopicArn The ARN of the SNS Topic triggered when an existing platform endpoint is changed from your platform application.
         * 
         * @return builder
         * 
         */
        public Builder eventEndpointUpdatedTopicArn(String eventEndpointUpdatedTopicArn) {
            return eventEndpointUpdatedTopicArn(Output.of(eventEndpointUpdatedTopicArn));
        }

        /**
         * @param failureFeedbackRoleArn The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
         * 
         * @return builder
         * 
         */
        public Builder failureFeedbackRoleArn(@Nullable Output failureFeedbackRoleArn) {
            $.failureFeedbackRoleArn = failureFeedbackRoleArn;
            return this;
        }

        /**
         * @param failureFeedbackRoleArn The IAM role ARN permitted to receive failure feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
         * 
         * @return builder
         * 
         */
        public Builder failureFeedbackRoleArn(String failureFeedbackRoleArn) {
            return failureFeedbackRoleArn(Output.of(failureFeedbackRoleArn));
        }

        /**
         * @param name The friendly name for the SNS platform application
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The friendly name for the SNS platform application
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param platform The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms.
         * 
         * @return builder
         * 
         */
        public Builder platform(@Nullable Output platform) {
            $.platform = platform;
            return this;
        }

        /**
         * @param platform The platform that the app is registered with. See [Platform](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for supported platforms.
         * 
         * @return builder
         * 
         */
        public Builder platform(String platform) {
            return platform(Output.of(platform));
        }

        /**
         * @param platformCredential Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
         * 
         * @return builder
         * 
         */
        public Builder platformCredential(@Nullable Output platformCredential) {
            $.platformCredential = platformCredential;
            return this;
        }

        /**
         * @param platformCredential Application Platform credential. See [Credential](http://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-register.html) for type of credential required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
         * 
         * @return builder
         * 
         */
        public Builder platformCredential(String platformCredential) {
            return platformCredential(Output.of(platformCredential));
        }

        /**
         * @param platformPrincipal Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
         * 
         * @return builder
         * 
         */
        public Builder platformPrincipal(@Nullable Output platformPrincipal) {
            $.platformPrincipal = platformPrincipal;
            return this;
        }

        /**
         * @param platformPrincipal Application Platform principal. See [Principal](http://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html) for type of principal required for platform. The value of this attribute when stored into the state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.
         * 
         * @return builder
         * 
         */
        public Builder platformPrincipal(String platformPrincipal) {
            return platformPrincipal(Output.of(platformPrincipal));
        }

        /**
         * @param successFeedbackRoleArn The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
         * 
         * @return builder
         * 
         */
        public Builder successFeedbackRoleArn(@Nullable Output successFeedbackRoleArn) {
            $.successFeedbackRoleArn = successFeedbackRoleArn;
            return this;
        }

        /**
         * @param successFeedbackRoleArn The IAM role ARN permitted to receive success feedback for this application and give SNS write access to use CloudWatch logs on your behalf.
         * 
         * @return builder
         * 
         */
        public Builder successFeedbackRoleArn(String successFeedbackRoleArn) {
            return successFeedbackRoleArn(Output.of(successFeedbackRoleArn));
        }

        /**
         * @param successFeedbackSampleRate The sample rate percentage (0-100) of successfully delivered messages.
         * 
         * The following attributes are needed only when using APNS token credentials:
         * 
         * @return builder
         * 
         */
        public Builder successFeedbackSampleRate(@Nullable Output successFeedbackSampleRate) {
            $.successFeedbackSampleRate = successFeedbackSampleRate;
            return this;
        }

        /**
         * @param successFeedbackSampleRate The sample rate percentage (0-100) of successfully delivered messages.
         * 
         * The following attributes are needed only when using APNS token credentials:
         * 
         * @return builder
         * 
         */
        public Builder successFeedbackSampleRate(String successFeedbackSampleRate) {
            return successFeedbackSampleRate(Output.of(successFeedbackSampleRate));
        }

        public PlatformApplicationState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy