# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Callable, Mapping, Optional, Sequence, Union, overload
from .. import _utilities

__all__ = ['SecurePasswordStoreArgs', 'SecurePasswordStore']

@pulumi.input_type
class SecurePasswordStoreArgs:
    def __init__(__self__, *,
                 label: pulumi.Input[str],
                 password_field: pulumi.Input[str],
                 url: pulumi.Input[str],
                 username_field: pulumi.Input[str],
                 accessibility_error_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_login_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_self_service: Optional[pulumi.Input[bool]] = None,
                 admin_note: Optional[pulumi.Input[str]] = None,
                 app_links_json: Optional[pulumi.Input[str]] = None,
                 auto_submit_toolbar: Optional[pulumi.Input[bool]] = None,
                 credentials_scheme: Optional[pulumi.Input[str]] = None,
                 enduser_note: Optional[pulumi.Input[str]] = None,
                 hide_ios: Optional[pulumi.Input[bool]] = None,
                 hide_web: Optional[pulumi.Input[bool]] = None,
                 logo: Optional[pulumi.Input[str]] = None,
                 optional_field1: Optional[pulumi.Input[str]] = None,
                 optional_field1_value: Optional[pulumi.Input[str]] = None,
                 optional_field2: Optional[pulumi.Input[str]] = None,
                 optional_field2_value: Optional[pulumi.Input[str]] = None,
                 optional_field3: Optional[pulumi.Input[str]] = None,
                 optional_field3_value: Optional[pulumi.Input[str]] = None,
                 reveal_password: Optional[pulumi.Input[bool]] = None,
                 shared_password: Optional[pulumi.Input[str]] = None,
                 shared_username: Optional[pulumi.Input[str]] = None,
                 status: Optional[pulumi.Input[str]] = None,
                 user_name_template: Optional[pulumi.Input[str]] = None,
                 user_name_template_push_status: Optional[pulumi.Input[str]] = None,
                 user_name_template_suffix: Optional[pulumi.Input[str]] = None,
                 user_name_template_type: Optional[pulumi.Input[str]] = None):
        """
        The set of arguments for constructing a SecurePasswordStore resource.
        :param pulumi.Input[str] label: Pretty name of app.
        :param pulumi.Input[str] password_field: Login password field
        :param pulumi.Input[str] url: Login URL
        :param pulumi.Input[str] username_field: Login username field
        :param pulumi.Input[str] accessibility_error_redirect_url: Custom error page URL
        :param pulumi.Input[str] accessibility_login_redirect_url: Custom login page URL
        :param pulumi.Input[bool] accessibility_self_service: Enable self service
        :param pulumi.Input[str] admin_note: Application notes for admins.
        :param pulumi.Input[str] app_links_json: Displays specific appLinks for the app
        :param pulumi.Input[bool] auto_submit_toolbar: Display auto submit toolbar
        :param pulumi.Input[str] credentials_scheme: Application credentials scheme
        :param pulumi.Input[str] enduser_note: Application notes for end users.
        :param pulumi.Input[bool] hide_ios: Do not display application icon on mobile app
        :param pulumi.Input[bool] hide_web: Do not display application icon to users
        :param pulumi.Input[str] logo: Local path to logo of the application.
        :param pulumi.Input[str] optional_field1: Name of optional param in the login form
        :param pulumi.Input[str] optional_field1_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field2: Name of optional param in the login form
        :param pulumi.Input[str] optional_field2_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field3: Name of optional param in the login form
        :param pulumi.Input[str] optional_field3_value: Name of optional value in login form
        :param pulumi.Input[bool] reveal_password: Allow user to reveal password
        :param pulumi.Input[str] shared_password: Shared password, required for certain schemes.
        :param pulumi.Input[str] shared_username: Shared username, required for certain schemes.
        :param pulumi.Input[str] status: Status of application.
        :param pulumi.Input[str] user_name_template: Username template
        :param pulumi.Input[str] user_name_template_push_status: Push username on update
        :param pulumi.Input[str] user_name_template_suffix: Username template suffix
        :param pulumi.Input[str] user_name_template_type: Username template type
        """
        SecurePasswordStoreArgs._configure(
            lambda key, value: pulumi.set(__self__, key, value),
            label=label,
            password_field=password_field,
            url=url,
            username_field=username_field,
            accessibility_error_redirect_url=accessibility_error_redirect_url,
            accessibility_login_redirect_url=accessibility_login_redirect_url,
            accessibility_self_service=accessibility_self_service,
            admin_note=admin_note,
            app_links_json=app_links_json,
            auto_submit_toolbar=auto_submit_toolbar,
            credentials_scheme=credentials_scheme,
            enduser_note=enduser_note,
            hide_ios=hide_ios,
            hide_web=hide_web,
            logo=logo,
            optional_field1=optional_field1,
            optional_field1_value=optional_field1_value,
            optional_field2=optional_field2,
            optional_field2_value=optional_field2_value,
            optional_field3=optional_field3,
            optional_field3_value=optional_field3_value,
            reveal_password=reveal_password,
            shared_password=shared_password,
            shared_username=shared_username,
            status=status,
            user_name_template=user_name_template,
            user_name_template_push_status=user_name_template_push_status,
            user_name_template_suffix=user_name_template_suffix,
            user_name_template_type=user_name_template_type,
        )
    @staticmethod
    def _configure(
             _setter: Callable[[Any, Any], None],
             label: pulumi.Input[str],
             password_field: pulumi.Input[str],
             url: pulumi.Input[str],
             username_field: pulumi.Input[str],
             accessibility_error_redirect_url: Optional[pulumi.Input[str]] = None,
             accessibility_login_redirect_url: Optional[pulumi.Input[str]] = None,
             accessibility_self_service: Optional[pulumi.Input[bool]] = None,
             admin_note: Optional[pulumi.Input[str]] = None,
             app_links_json: Optional[pulumi.Input[str]] = None,
             auto_submit_toolbar: Optional[pulumi.Input[bool]] = None,
             credentials_scheme: Optional[pulumi.Input[str]] = None,
             enduser_note: Optional[pulumi.Input[str]] = None,
             hide_ios: Optional[pulumi.Input[bool]] = None,
             hide_web: Optional[pulumi.Input[bool]] = None,
             logo: Optional[pulumi.Input[str]] = None,
             optional_field1: Optional[pulumi.Input[str]] = None,
             optional_field1_value: Optional[pulumi.Input[str]] = None,
             optional_field2: Optional[pulumi.Input[str]] = None,
             optional_field2_value: Optional[pulumi.Input[str]] = None,
             optional_field3: Optional[pulumi.Input[str]] = None,
             optional_field3_value: Optional[pulumi.Input[str]] = None,
             reveal_password: Optional[pulumi.Input[bool]] = None,
             shared_password: Optional[pulumi.Input[str]] = None,
             shared_username: Optional[pulumi.Input[str]] = None,
             status: Optional[pulumi.Input[str]] = None,
             user_name_template: Optional[pulumi.Input[str]] = None,
             user_name_template_push_status: Optional[pulumi.Input[str]] = None,
             user_name_template_suffix: Optional[pulumi.Input[str]] = None,
             user_name_template_type: Optional[pulumi.Input[str]] = None,
             opts: Optional[pulumi.ResourceOptions]=None):
        _setter("label", label)
        _setter("password_field", password_field)
        _setter("url", url)
        _setter("username_field", username_field)
        if accessibility_error_redirect_url is not None:
            _setter("accessibility_error_redirect_url", accessibility_error_redirect_url)
        if accessibility_login_redirect_url is not None:
            _setter("accessibility_login_redirect_url", accessibility_login_redirect_url)
        if accessibility_self_service is not None:
            _setter("accessibility_self_service", accessibility_self_service)
        if admin_note is not None:
            _setter("admin_note", admin_note)
        if app_links_json is not None:
            _setter("app_links_json", app_links_json)
        if auto_submit_toolbar is not None:
            _setter("auto_submit_toolbar", auto_submit_toolbar)
        if credentials_scheme is not None:
            _setter("credentials_scheme", credentials_scheme)
        if enduser_note is not None:
            _setter("enduser_note", enduser_note)
        if hide_ios is not None:
            _setter("hide_ios", hide_ios)
        if hide_web is not None:
            _setter("hide_web", hide_web)
        if logo is not None:
            _setter("logo", logo)
        if optional_field1 is not None:
            _setter("optional_field1", optional_field1)
        if optional_field1_value is not None:
            _setter("optional_field1_value", optional_field1_value)
        if optional_field2 is not None:
            _setter("optional_field2", optional_field2)
        if optional_field2_value is not None:
            _setter("optional_field2_value", optional_field2_value)
        if optional_field3 is not None:
            _setter("optional_field3", optional_field3)
        if optional_field3_value is not None:
            _setter("optional_field3_value", optional_field3_value)
        if reveal_password is not None:
            _setter("reveal_password", reveal_password)
        if shared_password is not None:
            _setter("shared_password", shared_password)
        if shared_username is not None:
            _setter("shared_username", shared_username)
        if status is not None:
            _setter("status", status)
        if user_name_template is not None:
            _setter("user_name_template", user_name_template)
        if user_name_template_push_status is not None:
            _setter("user_name_template_push_status", user_name_template_push_status)
        if user_name_template_suffix is not None:
            _setter("user_name_template_suffix", user_name_template_suffix)
        if user_name_template_type is not None:
            _setter("user_name_template_type", user_name_template_type)

    @property
    @pulumi.getter
    def label(self) -> pulumi.Input[str]:
        """
        Pretty name of app.
        """
        return pulumi.get(self, "label")

    @label.setter
    def label(self, value: pulumi.Input[str]):
        pulumi.set(self, "label", value)

    @property
    @pulumi.getter(name="passwordField")
    def password_field(self) -> pulumi.Input[str]:
        """
        Login password field
        """
        return pulumi.get(self, "password_field")

    @password_field.setter
    def password_field(self, value: pulumi.Input[str]):
        pulumi.set(self, "password_field", value)

    @property
    @pulumi.getter
    def url(self) -> pulumi.Input[str]:
        """
        Login URL
        """
        return pulumi.get(self, "url")

    @url.setter
    def url(self, value: pulumi.Input[str]):
        pulumi.set(self, "url", value)

    @property
    @pulumi.getter(name="usernameField")
    def username_field(self) -> pulumi.Input[str]:
        """
        Login username field
        """
        return pulumi.get(self, "username_field")

    @username_field.setter
    def username_field(self, value: pulumi.Input[str]):
        pulumi.set(self, "username_field", value)

    @property
    @pulumi.getter(name="accessibilityErrorRedirectUrl")
    def accessibility_error_redirect_url(self) -> Optional[pulumi.Input[str]]:
        """
        Custom error page URL
        """
        return pulumi.get(self, "accessibility_error_redirect_url")

    @accessibility_error_redirect_url.setter
    def accessibility_error_redirect_url(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "accessibility_error_redirect_url", value)

    @property
    @pulumi.getter(name="accessibilityLoginRedirectUrl")
    def accessibility_login_redirect_url(self) -> Optional[pulumi.Input[str]]:
        """
        Custom login page URL
        """
        return pulumi.get(self, "accessibility_login_redirect_url")

    @accessibility_login_redirect_url.setter
    def accessibility_login_redirect_url(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "accessibility_login_redirect_url", value)

    @property
    @pulumi.getter(name="accessibilitySelfService")
    def accessibility_self_service(self) -> Optional[pulumi.Input[bool]]:
        """
        Enable self service
        """
        return pulumi.get(self, "accessibility_self_service")

    @accessibility_self_service.setter
    def accessibility_self_service(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "accessibility_self_service", value)

    @property
    @pulumi.getter(name="adminNote")
    def admin_note(self) -> Optional[pulumi.Input[str]]:
        """
        Application notes for admins.
        """
        return pulumi.get(self, "admin_note")

    @admin_note.setter
    def admin_note(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "admin_note", value)

    @property
    @pulumi.getter(name="appLinksJson")
    def app_links_json(self) -> Optional[pulumi.Input[str]]:
        """
        Displays specific appLinks for the app
        """
        return pulumi.get(self, "app_links_json")

    @app_links_json.setter
    def app_links_json(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "app_links_json", value)

    @property
    @pulumi.getter(name="autoSubmitToolbar")
    def auto_submit_toolbar(self) -> Optional[pulumi.Input[bool]]:
        """
        Display auto submit toolbar
        """
        return pulumi.get(self, "auto_submit_toolbar")

    @auto_submit_toolbar.setter
    def auto_submit_toolbar(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "auto_submit_toolbar", value)

    @property
    @pulumi.getter(name="credentialsScheme")
    def credentials_scheme(self) -> Optional[pulumi.Input[str]]:
        """
        Application credentials scheme
        """
        return pulumi.get(self, "credentials_scheme")

    @credentials_scheme.setter
    def credentials_scheme(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "credentials_scheme", value)

    @property
    @pulumi.getter(name="enduserNote")
    def enduser_note(self) -> Optional[pulumi.Input[str]]:
        """
        Application notes for end users.
        """
        return pulumi.get(self, "enduser_note")

    @enduser_note.setter
    def enduser_note(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "enduser_note", value)

    @property
    @pulumi.getter(name="hideIos")
    def hide_ios(self) -> Optional[pulumi.Input[bool]]:
        """
        Do not display application icon on mobile app
        """
        return pulumi.get(self, "hide_ios")

    @hide_ios.setter
    def hide_ios(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "hide_ios", value)

    @property
    @pulumi.getter(name="hideWeb")
    def hide_web(self) -> Optional[pulumi.Input[bool]]:
        """
        Do not display application icon to users
        """
        return pulumi.get(self, "hide_web")

    @hide_web.setter
    def hide_web(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "hide_web", value)

    @property
    @pulumi.getter
    def logo(self) -> Optional[pulumi.Input[str]]:
        """
        Local path to logo of the application.
        """
        return pulumi.get(self, "logo")

    @logo.setter
    def logo(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "logo", value)

    @property
    @pulumi.getter(name="optionalField1")
    def optional_field1(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field1")

    @optional_field1.setter
    def optional_field1(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field1", value)

    @property
    @pulumi.getter(name="optionalField1Value")
    def optional_field1_value(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field1_value")

    @optional_field1_value.setter
    def optional_field1_value(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field1_value", value)

    @property
    @pulumi.getter(name="optionalField2")
    def optional_field2(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field2")

    @optional_field2.setter
    def optional_field2(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field2", value)

    @property
    @pulumi.getter(name="optionalField2Value")
    def optional_field2_value(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field2_value")

    @optional_field2_value.setter
    def optional_field2_value(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field2_value", value)

    @property
    @pulumi.getter(name="optionalField3")
    def optional_field3(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field3")

    @optional_field3.setter
    def optional_field3(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field3", value)

    @property
    @pulumi.getter(name="optionalField3Value")
    def optional_field3_value(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field3_value")

    @optional_field3_value.setter
    def optional_field3_value(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field3_value", value)

    @property
    @pulumi.getter(name="revealPassword")
    def reveal_password(self) -> Optional[pulumi.Input[bool]]:
        """
        Allow user to reveal password
        """
        return pulumi.get(self, "reveal_password")

    @reveal_password.setter
    def reveal_password(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "reveal_password", value)

    @property
    @pulumi.getter(name="sharedPassword")
    def shared_password(self) -> Optional[pulumi.Input[str]]:
        """
        Shared password, required for certain schemes.
        """
        return pulumi.get(self, "shared_password")

    @shared_password.setter
    def shared_password(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "shared_password", value)

    @property
    @pulumi.getter(name="sharedUsername")
    def shared_username(self) -> Optional[pulumi.Input[str]]:
        """
        Shared username, required for certain schemes.
        """
        return pulumi.get(self, "shared_username")

    @shared_username.setter
    def shared_username(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "shared_username", value)

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[str]]:
        """
        Status of application.
        """
        return pulumi.get(self, "status")

    @status.setter
    def status(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "status", value)

    @property
    @pulumi.getter(name="userNameTemplate")
    def user_name_template(self) -> Optional[pulumi.Input[str]]:
        """
        Username template
        """
        return pulumi.get(self, "user_name_template")

    @user_name_template.setter
    def user_name_template(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template", value)

    @property
    @pulumi.getter(name="userNameTemplatePushStatus")
    def user_name_template_push_status(self) -> Optional[pulumi.Input[str]]:
        """
        Push username on update
        """
        return pulumi.get(self, "user_name_template_push_status")

    @user_name_template_push_status.setter
    def user_name_template_push_status(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template_push_status", value)

    @property
    @pulumi.getter(name="userNameTemplateSuffix")
    def user_name_template_suffix(self) -> Optional[pulumi.Input[str]]:
        """
        Username template suffix
        """
        return pulumi.get(self, "user_name_template_suffix")

    @user_name_template_suffix.setter
    def user_name_template_suffix(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template_suffix", value)

    @property
    @pulumi.getter(name="userNameTemplateType")
    def user_name_template_type(self) -> Optional[pulumi.Input[str]]:
        """
        Username template type
        """
        return pulumi.get(self, "user_name_template_type")

    @user_name_template_type.setter
    def user_name_template_type(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template_type", value)


@pulumi.input_type
class _SecurePasswordStoreState:
    def __init__(__self__, *,
                 accessibility_error_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_login_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_self_service: Optional[pulumi.Input[bool]] = None,
                 admin_note: Optional[pulumi.Input[str]] = None,
                 app_links_json: Optional[pulumi.Input[str]] = None,
                 auto_submit_toolbar: Optional[pulumi.Input[bool]] = None,
                 credentials_scheme: Optional[pulumi.Input[str]] = None,
                 enduser_note: Optional[pulumi.Input[str]] = None,
                 hide_ios: Optional[pulumi.Input[bool]] = None,
                 hide_web: Optional[pulumi.Input[bool]] = None,
                 label: Optional[pulumi.Input[str]] = None,
                 logo: Optional[pulumi.Input[str]] = None,
                 logo_url: Optional[pulumi.Input[str]] = None,
                 name: Optional[pulumi.Input[str]] = None,
                 optional_field1: Optional[pulumi.Input[str]] = None,
                 optional_field1_value: Optional[pulumi.Input[str]] = None,
                 optional_field2: Optional[pulumi.Input[str]] = None,
                 optional_field2_value: Optional[pulumi.Input[str]] = None,
                 optional_field3: Optional[pulumi.Input[str]] = None,
                 optional_field3_value: Optional[pulumi.Input[str]] = None,
                 password_field: Optional[pulumi.Input[str]] = None,
                 reveal_password: Optional[pulumi.Input[bool]] = None,
                 shared_password: Optional[pulumi.Input[str]] = None,
                 shared_username: Optional[pulumi.Input[str]] = None,
                 sign_on_mode: Optional[pulumi.Input[str]] = None,
                 status: Optional[pulumi.Input[str]] = None,
                 url: Optional[pulumi.Input[str]] = None,
                 user_name_template: Optional[pulumi.Input[str]] = None,
                 user_name_template_push_status: Optional[pulumi.Input[str]] = None,
                 user_name_template_suffix: Optional[pulumi.Input[str]] = None,
                 user_name_template_type: Optional[pulumi.Input[str]] = None,
                 username_field: Optional[pulumi.Input[str]] = None):
        """
        Input properties used for looking up and filtering SecurePasswordStore resources.
        :param pulumi.Input[str] accessibility_error_redirect_url: Custom error page URL
        :param pulumi.Input[str] accessibility_login_redirect_url: Custom login page URL
        :param pulumi.Input[bool] accessibility_self_service: Enable self service
        :param pulumi.Input[str] admin_note: Application notes for admins.
        :param pulumi.Input[str] app_links_json: Displays specific appLinks for the app
        :param pulumi.Input[bool] auto_submit_toolbar: Display auto submit toolbar
        :param pulumi.Input[str] credentials_scheme: Application credentials scheme
        :param pulumi.Input[str] enduser_note: Application notes for end users.
        :param pulumi.Input[bool] hide_ios: Do not display application icon on mobile app
        :param pulumi.Input[bool] hide_web: Do not display application icon to users
        :param pulumi.Input[str] label: Pretty name of app.
        :param pulumi.Input[str] logo: Local path to logo of the application.
        :param pulumi.Input[str] logo_url: URL of the application's logo
        :param pulumi.Input[str] name: Name of the app.
        :param pulumi.Input[str] optional_field1: Name of optional param in the login form
        :param pulumi.Input[str] optional_field1_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field2: Name of optional param in the login form
        :param pulumi.Input[str] optional_field2_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field3: Name of optional param in the login form
        :param pulumi.Input[str] optional_field3_value: Name of optional value in login form
        :param pulumi.Input[str] password_field: Login password field
        :param pulumi.Input[bool] reveal_password: Allow user to reveal password
        :param pulumi.Input[str] shared_password: Shared password, required for certain schemes.
        :param pulumi.Input[str] shared_username: Shared username, required for certain schemes.
        :param pulumi.Input[str] sign_on_mode: Sign on mode of application.
        :param pulumi.Input[str] status: Status of application.
        :param pulumi.Input[str] url: Login URL
        :param pulumi.Input[str] user_name_template: Username template
        :param pulumi.Input[str] user_name_template_push_status: Push username on update
        :param pulumi.Input[str] user_name_template_suffix: Username template suffix
        :param pulumi.Input[str] user_name_template_type: Username template type
        :param pulumi.Input[str] username_field: Login username field
        """
        _SecurePasswordStoreState._configure(
            lambda key, value: pulumi.set(__self__, key, value),
            accessibility_error_redirect_url=accessibility_error_redirect_url,
            accessibility_login_redirect_url=accessibility_login_redirect_url,
            accessibility_self_service=accessibility_self_service,
            admin_note=admin_note,
            app_links_json=app_links_json,
            auto_submit_toolbar=auto_submit_toolbar,
            credentials_scheme=credentials_scheme,
            enduser_note=enduser_note,
            hide_ios=hide_ios,
            hide_web=hide_web,
            label=label,
            logo=logo,
            logo_url=logo_url,
            name=name,
            optional_field1=optional_field1,
            optional_field1_value=optional_field1_value,
            optional_field2=optional_field2,
            optional_field2_value=optional_field2_value,
            optional_field3=optional_field3,
            optional_field3_value=optional_field3_value,
            password_field=password_field,
            reveal_password=reveal_password,
            shared_password=shared_password,
            shared_username=shared_username,
            sign_on_mode=sign_on_mode,
            status=status,
            url=url,
            user_name_template=user_name_template,
            user_name_template_push_status=user_name_template_push_status,
            user_name_template_suffix=user_name_template_suffix,
            user_name_template_type=user_name_template_type,
            username_field=username_field,
        )
    @staticmethod
    def _configure(
             _setter: Callable[[Any, Any], None],
             accessibility_error_redirect_url: Optional[pulumi.Input[str]] = None,
             accessibility_login_redirect_url: Optional[pulumi.Input[str]] = None,
             accessibility_self_service: Optional[pulumi.Input[bool]] = None,
             admin_note: Optional[pulumi.Input[str]] = None,
             app_links_json: Optional[pulumi.Input[str]] = None,
             auto_submit_toolbar: Optional[pulumi.Input[bool]] = None,
             credentials_scheme: Optional[pulumi.Input[str]] = None,
             enduser_note: Optional[pulumi.Input[str]] = None,
             hide_ios: Optional[pulumi.Input[bool]] = None,
             hide_web: Optional[pulumi.Input[bool]] = None,
             label: Optional[pulumi.Input[str]] = None,
             logo: Optional[pulumi.Input[str]] = None,
             logo_url: Optional[pulumi.Input[str]] = None,
             name: Optional[pulumi.Input[str]] = None,
             optional_field1: Optional[pulumi.Input[str]] = None,
             optional_field1_value: Optional[pulumi.Input[str]] = None,
             optional_field2: Optional[pulumi.Input[str]] = None,
             optional_field2_value: Optional[pulumi.Input[str]] = None,
             optional_field3: Optional[pulumi.Input[str]] = None,
             optional_field3_value: Optional[pulumi.Input[str]] = None,
             password_field: Optional[pulumi.Input[str]] = None,
             reveal_password: Optional[pulumi.Input[bool]] = None,
             shared_password: Optional[pulumi.Input[str]] = None,
             shared_username: Optional[pulumi.Input[str]] = None,
             sign_on_mode: Optional[pulumi.Input[str]] = None,
             status: Optional[pulumi.Input[str]] = None,
             url: Optional[pulumi.Input[str]] = None,
             user_name_template: Optional[pulumi.Input[str]] = None,
             user_name_template_push_status: Optional[pulumi.Input[str]] = None,
             user_name_template_suffix: Optional[pulumi.Input[str]] = None,
             user_name_template_type: Optional[pulumi.Input[str]] = None,
             username_field: Optional[pulumi.Input[str]] = None,
             opts: Optional[pulumi.ResourceOptions]=None):
        if accessibility_error_redirect_url is not None:
            _setter("accessibility_error_redirect_url", accessibility_error_redirect_url)
        if accessibility_login_redirect_url is not None:
            _setter("accessibility_login_redirect_url", accessibility_login_redirect_url)
        if accessibility_self_service is not None:
            _setter("accessibility_self_service", accessibility_self_service)
        if admin_note is not None:
            _setter("admin_note", admin_note)
        if app_links_json is not None:
            _setter("app_links_json", app_links_json)
        if auto_submit_toolbar is not None:
            _setter("auto_submit_toolbar", auto_submit_toolbar)
        if credentials_scheme is not None:
            _setter("credentials_scheme", credentials_scheme)
        if enduser_note is not None:
            _setter("enduser_note", enduser_note)
        if hide_ios is not None:
            _setter("hide_ios", hide_ios)
        if hide_web is not None:
            _setter("hide_web", hide_web)
        if label is not None:
            _setter("label", label)
        if logo is not None:
            _setter("logo", logo)
        if logo_url is not None:
            _setter("logo_url", logo_url)
        if name is not None:
            _setter("name", name)
        if optional_field1 is not None:
            _setter("optional_field1", optional_field1)
        if optional_field1_value is not None:
            _setter("optional_field1_value", optional_field1_value)
        if optional_field2 is not None:
            _setter("optional_field2", optional_field2)
        if optional_field2_value is not None:
            _setter("optional_field2_value", optional_field2_value)
        if optional_field3 is not None:
            _setter("optional_field3", optional_field3)
        if optional_field3_value is not None:
            _setter("optional_field3_value", optional_field3_value)
        if password_field is not None:
            _setter("password_field", password_field)
        if reveal_password is not None:
            _setter("reveal_password", reveal_password)
        if shared_password is not None:
            _setter("shared_password", shared_password)
        if shared_username is not None:
            _setter("shared_username", shared_username)
        if sign_on_mode is not None:
            _setter("sign_on_mode", sign_on_mode)
        if status is not None:
            _setter("status", status)
        if url is not None:
            _setter("url", url)
        if user_name_template is not None:
            _setter("user_name_template", user_name_template)
        if user_name_template_push_status is not None:
            _setter("user_name_template_push_status", user_name_template_push_status)
        if user_name_template_suffix is not None:
            _setter("user_name_template_suffix", user_name_template_suffix)
        if user_name_template_type is not None:
            _setter("user_name_template_type", user_name_template_type)
        if username_field is not None:
            _setter("username_field", username_field)

    @property
    @pulumi.getter(name="accessibilityErrorRedirectUrl")
    def accessibility_error_redirect_url(self) -> Optional[pulumi.Input[str]]:
        """
        Custom error page URL
        """
        return pulumi.get(self, "accessibility_error_redirect_url")

    @accessibility_error_redirect_url.setter
    def accessibility_error_redirect_url(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "accessibility_error_redirect_url", value)

    @property
    @pulumi.getter(name="accessibilityLoginRedirectUrl")
    def accessibility_login_redirect_url(self) -> Optional[pulumi.Input[str]]:
        """
        Custom login page URL
        """
        return pulumi.get(self, "accessibility_login_redirect_url")

    @accessibility_login_redirect_url.setter
    def accessibility_login_redirect_url(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "accessibility_login_redirect_url", value)

    @property
    @pulumi.getter(name="accessibilitySelfService")
    def accessibility_self_service(self) -> Optional[pulumi.Input[bool]]:
        """
        Enable self service
        """
        return pulumi.get(self, "accessibility_self_service")

    @accessibility_self_service.setter
    def accessibility_self_service(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "accessibility_self_service", value)

    @property
    @pulumi.getter(name="adminNote")
    def admin_note(self) -> Optional[pulumi.Input[str]]:
        """
        Application notes for admins.
        """
        return pulumi.get(self, "admin_note")

    @admin_note.setter
    def admin_note(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "admin_note", value)

    @property
    @pulumi.getter(name="appLinksJson")
    def app_links_json(self) -> Optional[pulumi.Input[str]]:
        """
        Displays specific appLinks for the app
        """
        return pulumi.get(self, "app_links_json")

    @app_links_json.setter
    def app_links_json(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "app_links_json", value)

    @property
    @pulumi.getter(name="autoSubmitToolbar")
    def auto_submit_toolbar(self) -> Optional[pulumi.Input[bool]]:
        """
        Display auto submit toolbar
        """
        return pulumi.get(self, "auto_submit_toolbar")

    @auto_submit_toolbar.setter
    def auto_submit_toolbar(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "auto_submit_toolbar", value)

    @property
    @pulumi.getter(name="credentialsScheme")
    def credentials_scheme(self) -> Optional[pulumi.Input[str]]:
        """
        Application credentials scheme
        """
        return pulumi.get(self, "credentials_scheme")

    @credentials_scheme.setter
    def credentials_scheme(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "credentials_scheme", value)

    @property
    @pulumi.getter(name="enduserNote")
    def enduser_note(self) -> Optional[pulumi.Input[str]]:
        """
        Application notes for end users.
        """
        return pulumi.get(self, "enduser_note")

    @enduser_note.setter
    def enduser_note(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "enduser_note", value)

    @property
    @pulumi.getter(name="hideIos")
    def hide_ios(self) -> Optional[pulumi.Input[bool]]:
        """
        Do not display application icon on mobile app
        """
        return pulumi.get(self, "hide_ios")

    @hide_ios.setter
    def hide_ios(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "hide_ios", value)

    @property
    @pulumi.getter(name="hideWeb")
    def hide_web(self) -> Optional[pulumi.Input[bool]]:
        """
        Do not display application icon to users
        """
        return pulumi.get(self, "hide_web")

    @hide_web.setter
    def hide_web(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "hide_web", value)

    @property
    @pulumi.getter
    def label(self) -> Optional[pulumi.Input[str]]:
        """
        Pretty name of app.
        """
        return pulumi.get(self, "label")

    @label.setter
    def label(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "label", value)

    @property
    @pulumi.getter
    def logo(self) -> Optional[pulumi.Input[str]]:
        """
        Local path to logo of the application.
        """
        return pulumi.get(self, "logo")

    @logo.setter
    def logo(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "logo", value)

    @property
    @pulumi.getter(name="logoUrl")
    def logo_url(self) -> Optional[pulumi.Input[str]]:
        """
        URL of the application's logo
        """
        return pulumi.get(self, "logo_url")

    @logo_url.setter
    def logo_url(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "logo_url", value)

    @property
    @pulumi.getter
    def name(self) -> Optional[pulumi.Input[str]]:
        """
        Name of the app.
        """
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "name", value)

    @property
    @pulumi.getter(name="optionalField1")
    def optional_field1(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field1")

    @optional_field1.setter
    def optional_field1(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field1", value)

    @property
    @pulumi.getter(name="optionalField1Value")
    def optional_field1_value(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field1_value")

    @optional_field1_value.setter
    def optional_field1_value(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field1_value", value)

    @property
    @pulumi.getter(name="optionalField2")
    def optional_field2(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field2")

    @optional_field2.setter
    def optional_field2(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field2", value)

    @property
    @pulumi.getter(name="optionalField2Value")
    def optional_field2_value(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field2_value")

    @optional_field2_value.setter
    def optional_field2_value(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field2_value", value)

    @property
    @pulumi.getter(name="optionalField3")
    def optional_field3(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field3")

    @optional_field3.setter
    def optional_field3(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field3", value)

    @property
    @pulumi.getter(name="optionalField3Value")
    def optional_field3_value(self) -> Optional[pulumi.Input[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field3_value")

    @optional_field3_value.setter
    def optional_field3_value(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "optional_field3_value", value)

    @property
    @pulumi.getter(name="passwordField")
    def password_field(self) -> Optional[pulumi.Input[str]]:
        """
        Login password field
        """
        return pulumi.get(self, "password_field")

    @password_field.setter
    def password_field(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "password_field", value)

    @property
    @pulumi.getter(name="revealPassword")
    def reveal_password(self) -> Optional[pulumi.Input[bool]]:
        """
        Allow user to reveal password
        """
        return pulumi.get(self, "reveal_password")

    @reveal_password.setter
    def reveal_password(self, value: Optional[pulumi.Input[bool]]):
        pulumi.set(self, "reveal_password", value)

    @property
    @pulumi.getter(name="sharedPassword")
    def shared_password(self) -> Optional[pulumi.Input[str]]:
        """
        Shared password, required for certain schemes.
        """
        return pulumi.get(self, "shared_password")

    @shared_password.setter
    def shared_password(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "shared_password", value)

    @property
    @pulumi.getter(name="sharedUsername")
    def shared_username(self) -> Optional[pulumi.Input[str]]:
        """
        Shared username, required for certain schemes.
        """
        return pulumi.get(self, "shared_username")

    @shared_username.setter
    def shared_username(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "shared_username", value)

    @property
    @pulumi.getter(name="signOnMode")
    def sign_on_mode(self) -> Optional[pulumi.Input[str]]:
        """
        Sign on mode of application.
        """
        return pulumi.get(self, "sign_on_mode")

    @sign_on_mode.setter
    def sign_on_mode(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "sign_on_mode", value)

    @property
    @pulumi.getter
    def status(self) -> Optional[pulumi.Input[str]]:
        """
        Status of application.
        """
        return pulumi.get(self, "status")

    @status.setter
    def status(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "status", value)

    @property
    @pulumi.getter
    def url(self) -> Optional[pulumi.Input[str]]:
        """
        Login URL
        """
        return pulumi.get(self, "url")

    @url.setter
    def url(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "url", value)

    @property
    @pulumi.getter(name="userNameTemplate")
    def user_name_template(self) -> Optional[pulumi.Input[str]]:
        """
        Username template
        """
        return pulumi.get(self, "user_name_template")

    @user_name_template.setter
    def user_name_template(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template", value)

    @property
    @pulumi.getter(name="userNameTemplatePushStatus")
    def user_name_template_push_status(self) -> Optional[pulumi.Input[str]]:
        """
        Push username on update
        """
        return pulumi.get(self, "user_name_template_push_status")

    @user_name_template_push_status.setter
    def user_name_template_push_status(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template_push_status", value)

    @property
    @pulumi.getter(name="userNameTemplateSuffix")
    def user_name_template_suffix(self) -> Optional[pulumi.Input[str]]:
        """
        Username template suffix
        """
        return pulumi.get(self, "user_name_template_suffix")

    @user_name_template_suffix.setter
    def user_name_template_suffix(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template_suffix", value)

    @property
    @pulumi.getter(name="userNameTemplateType")
    def user_name_template_type(self) -> Optional[pulumi.Input[str]]:
        """
        Username template type
        """
        return pulumi.get(self, "user_name_template_type")

    @user_name_template_type.setter
    def user_name_template_type(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "user_name_template_type", value)

    @property
    @pulumi.getter(name="usernameField")
    def username_field(self) -> Optional[pulumi.Input[str]]:
        """
        Login username field
        """
        return pulumi.get(self, "username_field")

    @username_field.setter
    def username_field(self, value: Optional[pulumi.Input[str]]):
        pulumi.set(self, "username_field", value)


class SecurePasswordStore(pulumi.CustomResource):
    @overload
    def __init__(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 accessibility_error_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_login_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_self_service: Optional[pulumi.Input[bool]] = None,
                 admin_note: Optional[pulumi.Input[str]] = None,
                 app_links_json: Optional[pulumi.Input[str]] = None,
                 auto_submit_toolbar: Optional[pulumi.Input[bool]] = None,
                 credentials_scheme: Optional[pulumi.Input[str]] = None,
                 enduser_note: Optional[pulumi.Input[str]] = None,
                 hide_ios: Optional[pulumi.Input[bool]] = None,
                 hide_web: Optional[pulumi.Input[bool]] = None,
                 label: Optional[pulumi.Input[str]] = None,
                 logo: Optional[pulumi.Input[str]] = None,
                 optional_field1: Optional[pulumi.Input[str]] = None,
                 optional_field1_value: Optional[pulumi.Input[str]] = None,
                 optional_field2: Optional[pulumi.Input[str]] = None,
                 optional_field2_value: Optional[pulumi.Input[str]] = None,
                 optional_field3: Optional[pulumi.Input[str]] = None,
                 optional_field3_value: Optional[pulumi.Input[str]] = None,
                 password_field: Optional[pulumi.Input[str]] = None,
                 reveal_password: Optional[pulumi.Input[bool]] = None,
                 shared_password: Optional[pulumi.Input[str]] = None,
                 shared_username: Optional[pulumi.Input[str]] = None,
                 status: Optional[pulumi.Input[str]] = None,
                 url: Optional[pulumi.Input[str]] = None,
                 user_name_template: Optional[pulumi.Input[str]] = None,
                 user_name_template_push_status: Optional[pulumi.Input[str]] = None,
                 user_name_template_suffix: Optional[pulumi.Input[str]] = None,
                 user_name_template_type: Optional[pulumi.Input[str]] = None,
                 username_field: Optional[pulumi.Input[str]] = None,
                 __props__=None):
        """
        Create a SecurePasswordStore resource with the given unique name, props, and options.
        :param str resource_name: The name of the resource.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] accessibility_error_redirect_url: Custom error page URL
        :param pulumi.Input[str] accessibility_login_redirect_url: Custom login page URL
        :param pulumi.Input[bool] accessibility_self_service: Enable self service
        :param pulumi.Input[str] admin_note: Application notes for admins.
        :param pulumi.Input[str] app_links_json: Displays specific appLinks for the app
        :param pulumi.Input[bool] auto_submit_toolbar: Display auto submit toolbar
        :param pulumi.Input[str] credentials_scheme: Application credentials scheme
        :param pulumi.Input[str] enduser_note: Application notes for end users.
        :param pulumi.Input[bool] hide_ios: Do not display application icon on mobile app
        :param pulumi.Input[bool] hide_web: Do not display application icon to users
        :param pulumi.Input[str] label: Pretty name of app.
        :param pulumi.Input[str] logo: Local path to logo of the application.
        :param pulumi.Input[str] optional_field1: Name of optional param in the login form
        :param pulumi.Input[str] optional_field1_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field2: Name of optional param in the login form
        :param pulumi.Input[str] optional_field2_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field3: Name of optional param in the login form
        :param pulumi.Input[str] optional_field3_value: Name of optional value in login form
        :param pulumi.Input[str] password_field: Login password field
        :param pulumi.Input[bool] reveal_password: Allow user to reveal password
        :param pulumi.Input[str] shared_password: Shared password, required for certain schemes.
        :param pulumi.Input[str] shared_username: Shared username, required for certain schemes.
        :param pulumi.Input[str] status: Status of application.
        :param pulumi.Input[str] url: Login URL
        :param pulumi.Input[str] user_name_template: Username template
        :param pulumi.Input[str] user_name_template_push_status: Push username on update
        :param pulumi.Input[str] user_name_template_suffix: Username template suffix
        :param pulumi.Input[str] user_name_template_type: Username template type
        :param pulumi.Input[str] username_field: Login username field
        """
        ...
    @overload
    def __init__(__self__,
                 resource_name: str,
                 args: SecurePasswordStoreArgs,
                 opts: Optional[pulumi.ResourceOptions] = None):
        """
        Create a SecurePasswordStore resource with the given unique name, props, and options.
        :param str resource_name: The name of the resource.
        :param SecurePasswordStoreArgs args: The arguments to use to populate this resource's properties.
        :param pulumi.ResourceOptions opts: Options for the resource.
        """
        ...
    def __init__(__self__, resource_name: str, *args, **kwargs):
        resource_args, opts = _utilities.get_resource_args_opts(SecurePasswordStoreArgs, pulumi.ResourceOptions, *args, **kwargs)
        if resource_args is not None:
            __self__._internal_init(resource_name, opts, **resource_args.__dict__)
        else:
            kwargs = kwargs or {}
            def _setter(key, value):
                kwargs[key] = value
            SecurePasswordStoreArgs._configure(_setter, **kwargs)
            __self__._internal_init(resource_name, *args, **kwargs)

    def _internal_init(__self__,
                 resource_name: str,
                 opts: Optional[pulumi.ResourceOptions] = None,
                 accessibility_error_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_login_redirect_url: Optional[pulumi.Input[str]] = None,
                 accessibility_self_service: Optional[pulumi.Input[bool]] = None,
                 admin_note: Optional[pulumi.Input[str]] = None,
                 app_links_json: Optional[pulumi.Input[str]] = None,
                 auto_submit_toolbar: Optional[pulumi.Input[bool]] = None,
                 credentials_scheme: Optional[pulumi.Input[str]] = None,
                 enduser_note: Optional[pulumi.Input[str]] = None,
                 hide_ios: Optional[pulumi.Input[bool]] = None,
                 hide_web: Optional[pulumi.Input[bool]] = None,
                 label: Optional[pulumi.Input[str]] = None,
                 logo: Optional[pulumi.Input[str]] = None,
                 optional_field1: Optional[pulumi.Input[str]] = None,
                 optional_field1_value: Optional[pulumi.Input[str]] = None,
                 optional_field2: Optional[pulumi.Input[str]] = None,
                 optional_field2_value: Optional[pulumi.Input[str]] = None,
                 optional_field3: Optional[pulumi.Input[str]] = None,
                 optional_field3_value: Optional[pulumi.Input[str]] = None,
                 password_field: Optional[pulumi.Input[str]] = None,
                 reveal_password: Optional[pulumi.Input[bool]] = None,
                 shared_password: Optional[pulumi.Input[str]] = None,
                 shared_username: Optional[pulumi.Input[str]] = None,
                 status: Optional[pulumi.Input[str]] = None,
                 url: Optional[pulumi.Input[str]] = None,
                 user_name_template: Optional[pulumi.Input[str]] = None,
                 user_name_template_push_status: Optional[pulumi.Input[str]] = None,
                 user_name_template_suffix: Optional[pulumi.Input[str]] = None,
                 user_name_template_type: Optional[pulumi.Input[str]] = None,
                 username_field: Optional[pulumi.Input[str]] = None,
                 __props__=None):
        opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
        if not isinstance(opts, pulumi.ResourceOptions):
            raise TypeError('Expected resource options to be a ResourceOptions instance')
        if opts.id is None:
            if __props__ is not None:
                raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
            __props__ = SecurePasswordStoreArgs.__new__(SecurePasswordStoreArgs)

            __props__.__dict__["accessibility_error_redirect_url"] = accessibility_error_redirect_url
            __props__.__dict__["accessibility_login_redirect_url"] = accessibility_login_redirect_url
            __props__.__dict__["accessibility_self_service"] = accessibility_self_service
            __props__.__dict__["admin_note"] = admin_note
            __props__.__dict__["app_links_json"] = app_links_json
            __props__.__dict__["auto_submit_toolbar"] = auto_submit_toolbar
            __props__.__dict__["credentials_scheme"] = credentials_scheme
            __props__.__dict__["enduser_note"] = enduser_note
            __props__.__dict__["hide_ios"] = hide_ios
            __props__.__dict__["hide_web"] = hide_web
            if label is None and not opts.urn:
                raise TypeError("Missing required property 'label'")
            __props__.__dict__["label"] = label
            __props__.__dict__["logo"] = logo
            __props__.__dict__["optional_field1"] = optional_field1
            __props__.__dict__["optional_field1_value"] = optional_field1_value
            __props__.__dict__["optional_field2"] = optional_field2
            __props__.__dict__["optional_field2_value"] = optional_field2_value
            __props__.__dict__["optional_field3"] = optional_field3
            __props__.__dict__["optional_field3_value"] = optional_field3_value
            if password_field is None and not opts.urn:
                raise TypeError("Missing required property 'password_field'")
            __props__.__dict__["password_field"] = password_field
            __props__.__dict__["reveal_password"] = reveal_password
            __props__.__dict__["shared_password"] = shared_password
            __props__.__dict__["shared_username"] = shared_username
            __props__.__dict__["status"] = status
            if url is None and not opts.urn:
                raise TypeError("Missing required property 'url'")
            __props__.__dict__["url"] = url
            __props__.__dict__["user_name_template"] = user_name_template
            __props__.__dict__["user_name_template_push_status"] = user_name_template_push_status
            __props__.__dict__["user_name_template_suffix"] = user_name_template_suffix
            __props__.__dict__["user_name_template_type"] = user_name_template_type
            if username_field is None and not opts.urn:
                raise TypeError("Missing required property 'username_field'")
            __props__.__dict__["username_field"] = username_field
            __props__.__dict__["logo_url"] = None
            __props__.__dict__["name"] = None
            __props__.__dict__["sign_on_mode"] = None
        super(SecurePasswordStore, __self__).__init__(
            'okta:app/securePasswordStore:SecurePasswordStore',
            resource_name,
            __props__,
            opts)

    @staticmethod
    def get(resource_name: str,
            id: pulumi.Input[str],
            opts: Optional[pulumi.ResourceOptions] = None,
            accessibility_error_redirect_url: Optional[pulumi.Input[str]] = None,
            accessibility_login_redirect_url: Optional[pulumi.Input[str]] = None,
            accessibility_self_service: Optional[pulumi.Input[bool]] = None,
            admin_note: Optional[pulumi.Input[str]] = None,
            app_links_json: Optional[pulumi.Input[str]] = None,
            auto_submit_toolbar: Optional[pulumi.Input[bool]] = None,
            credentials_scheme: Optional[pulumi.Input[str]] = None,
            enduser_note: Optional[pulumi.Input[str]] = None,
            hide_ios: Optional[pulumi.Input[bool]] = None,
            hide_web: Optional[pulumi.Input[bool]] = None,
            label: Optional[pulumi.Input[str]] = None,
            logo: Optional[pulumi.Input[str]] = None,
            logo_url: Optional[pulumi.Input[str]] = None,
            name: Optional[pulumi.Input[str]] = None,
            optional_field1: Optional[pulumi.Input[str]] = None,
            optional_field1_value: Optional[pulumi.Input[str]] = None,
            optional_field2: Optional[pulumi.Input[str]] = None,
            optional_field2_value: Optional[pulumi.Input[str]] = None,
            optional_field3: Optional[pulumi.Input[str]] = None,
            optional_field3_value: Optional[pulumi.Input[str]] = None,
            password_field: Optional[pulumi.Input[str]] = None,
            reveal_password: Optional[pulumi.Input[bool]] = None,
            shared_password: Optional[pulumi.Input[str]] = None,
            shared_username: Optional[pulumi.Input[str]] = None,
            sign_on_mode: Optional[pulumi.Input[str]] = None,
            status: Optional[pulumi.Input[str]] = None,
            url: Optional[pulumi.Input[str]] = None,
            user_name_template: Optional[pulumi.Input[str]] = None,
            user_name_template_push_status: Optional[pulumi.Input[str]] = None,
            user_name_template_suffix: Optional[pulumi.Input[str]] = None,
            user_name_template_type: Optional[pulumi.Input[str]] = None,
            username_field: Optional[pulumi.Input[str]] = None) -> 'SecurePasswordStore':
        """
        Get an existing SecurePasswordStore resource's state with the given name, id, and optional extra
        properties used to qualify the lookup.

        :param str resource_name: The unique name of the resulting resource.
        :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
        :param pulumi.ResourceOptions opts: Options for the resource.
        :param pulumi.Input[str] accessibility_error_redirect_url: Custom error page URL
        :param pulumi.Input[str] accessibility_login_redirect_url: Custom login page URL
        :param pulumi.Input[bool] accessibility_self_service: Enable self service
        :param pulumi.Input[str] admin_note: Application notes for admins.
        :param pulumi.Input[str] app_links_json: Displays specific appLinks for the app
        :param pulumi.Input[bool] auto_submit_toolbar: Display auto submit toolbar
        :param pulumi.Input[str] credentials_scheme: Application credentials scheme
        :param pulumi.Input[str] enduser_note: Application notes for end users.
        :param pulumi.Input[bool] hide_ios: Do not display application icon on mobile app
        :param pulumi.Input[bool] hide_web: Do not display application icon to users
        :param pulumi.Input[str] label: Pretty name of app.
        :param pulumi.Input[str] logo: Local path to logo of the application.
        :param pulumi.Input[str] logo_url: URL of the application's logo
        :param pulumi.Input[str] name: Name of the app.
        :param pulumi.Input[str] optional_field1: Name of optional param in the login form
        :param pulumi.Input[str] optional_field1_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field2: Name of optional param in the login form
        :param pulumi.Input[str] optional_field2_value: Name of optional value in login form
        :param pulumi.Input[str] optional_field3: Name of optional param in the login form
        :param pulumi.Input[str] optional_field3_value: Name of optional value in login form
        :param pulumi.Input[str] password_field: Login password field
        :param pulumi.Input[bool] reveal_password: Allow user to reveal password
        :param pulumi.Input[str] shared_password: Shared password, required for certain schemes.
        :param pulumi.Input[str] shared_username: Shared username, required for certain schemes.
        :param pulumi.Input[str] sign_on_mode: Sign on mode of application.
        :param pulumi.Input[str] status: Status of application.
        :param pulumi.Input[str] url: Login URL
        :param pulumi.Input[str] user_name_template: Username template
        :param pulumi.Input[str] user_name_template_push_status: Push username on update
        :param pulumi.Input[str] user_name_template_suffix: Username template suffix
        :param pulumi.Input[str] user_name_template_type: Username template type
        :param pulumi.Input[str] username_field: Login username field
        """
        opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))

        __props__ = _SecurePasswordStoreState.__new__(_SecurePasswordStoreState)

        __props__.__dict__["accessibility_error_redirect_url"] = accessibility_error_redirect_url
        __props__.__dict__["accessibility_login_redirect_url"] = accessibility_login_redirect_url
        __props__.__dict__["accessibility_self_service"] = accessibility_self_service
        __props__.__dict__["admin_note"] = admin_note
        __props__.__dict__["app_links_json"] = app_links_json
        __props__.__dict__["auto_submit_toolbar"] = auto_submit_toolbar
        __props__.__dict__["credentials_scheme"] = credentials_scheme
        __props__.__dict__["enduser_note"] = enduser_note
        __props__.__dict__["hide_ios"] = hide_ios
        __props__.__dict__["hide_web"] = hide_web
        __props__.__dict__["label"] = label
        __props__.__dict__["logo"] = logo
        __props__.__dict__["logo_url"] = logo_url
        __props__.__dict__["name"] = name
        __props__.__dict__["optional_field1"] = optional_field1
        __props__.__dict__["optional_field1_value"] = optional_field1_value
        __props__.__dict__["optional_field2"] = optional_field2
        __props__.__dict__["optional_field2_value"] = optional_field2_value
        __props__.__dict__["optional_field3"] = optional_field3
        __props__.__dict__["optional_field3_value"] = optional_field3_value
        __props__.__dict__["password_field"] = password_field
        __props__.__dict__["reveal_password"] = reveal_password
        __props__.__dict__["shared_password"] = shared_password
        __props__.__dict__["shared_username"] = shared_username
        __props__.__dict__["sign_on_mode"] = sign_on_mode
        __props__.__dict__["status"] = status
        __props__.__dict__["url"] = url
        __props__.__dict__["user_name_template"] = user_name_template
        __props__.__dict__["user_name_template_push_status"] = user_name_template_push_status
        __props__.__dict__["user_name_template_suffix"] = user_name_template_suffix
        __props__.__dict__["user_name_template_type"] = user_name_template_type
        __props__.__dict__["username_field"] = username_field
        return SecurePasswordStore(resource_name, opts=opts, __props__=__props__)

    @property
    @pulumi.getter(name="accessibilityErrorRedirectUrl")
    def accessibility_error_redirect_url(self) -> pulumi.Output[Optional[str]]:
        """
        Custom error page URL
        """
        return pulumi.get(self, "accessibility_error_redirect_url")

    @property
    @pulumi.getter(name="accessibilityLoginRedirectUrl")
    def accessibility_login_redirect_url(self) -> pulumi.Output[Optional[str]]:
        """
        Custom login page URL
        """
        return pulumi.get(self, "accessibility_login_redirect_url")

    @property
    @pulumi.getter(name="accessibilitySelfService")
    def accessibility_self_service(self) -> pulumi.Output[Optional[bool]]:
        """
        Enable self service
        """
        return pulumi.get(self, "accessibility_self_service")

    @property
    @pulumi.getter(name="adminNote")
    def admin_note(self) -> pulumi.Output[Optional[str]]:
        """
        Application notes for admins.
        """
        return pulumi.get(self, "admin_note")

    @property
    @pulumi.getter(name="appLinksJson")
    def app_links_json(self) -> pulumi.Output[Optional[str]]:
        """
        Displays specific appLinks for the app
        """
        return pulumi.get(self, "app_links_json")

    @property
    @pulumi.getter(name="autoSubmitToolbar")
    def auto_submit_toolbar(self) -> pulumi.Output[Optional[bool]]:
        """
        Display auto submit toolbar
        """
        return pulumi.get(self, "auto_submit_toolbar")

    @property
    @pulumi.getter(name="credentialsScheme")
    def credentials_scheme(self) -> pulumi.Output[Optional[str]]:
        """
        Application credentials scheme
        """
        return pulumi.get(self, "credentials_scheme")

    @property
    @pulumi.getter(name="enduserNote")
    def enduser_note(self) -> pulumi.Output[Optional[str]]:
        """
        Application notes for end users.
        """
        return pulumi.get(self, "enduser_note")

    @property
    @pulumi.getter(name="hideIos")
    def hide_ios(self) -> pulumi.Output[Optional[bool]]:
        """
        Do not display application icon on mobile app
        """
        return pulumi.get(self, "hide_ios")

    @property
    @pulumi.getter(name="hideWeb")
    def hide_web(self) -> pulumi.Output[Optional[bool]]:
        """
        Do not display application icon to users
        """
        return pulumi.get(self, "hide_web")

    @property
    @pulumi.getter
    def label(self) -> pulumi.Output[str]:
        """
        Pretty name of app.
        """
        return pulumi.get(self, "label")

    @property
    @pulumi.getter
    def logo(self) -> pulumi.Output[Optional[str]]:
        """
        Local path to logo of the application.
        """
        return pulumi.get(self, "logo")

    @property
    @pulumi.getter(name="logoUrl")
    def logo_url(self) -> pulumi.Output[str]:
        """
        URL of the application's logo
        """
        return pulumi.get(self, "logo_url")

    @property
    @pulumi.getter
    def name(self) -> pulumi.Output[str]:
        """
        Name of the app.
        """
        return pulumi.get(self, "name")

    @property
    @pulumi.getter(name="optionalField1")
    def optional_field1(self) -> pulumi.Output[Optional[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field1")

    @property
    @pulumi.getter(name="optionalField1Value")
    def optional_field1_value(self) -> pulumi.Output[Optional[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field1_value")

    @property
    @pulumi.getter(name="optionalField2")
    def optional_field2(self) -> pulumi.Output[Optional[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field2")

    @property
    @pulumi.getter(name="optionalField2Value")
    def optional_field2_value(self) -> pulumi.Output[Optional[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field2_value")

    @property
    @pulumi.getter(name="optionalField3")
    def optional_field3(self) -> pulumi.Output[Optional[str]]:
        """
        Name of optional param in the login form
        """
        return pulumi.get(self, "optional_field3")

    @property
    @pulumi.getter(name="optionalField3Value")
    def optional_field3_value(self) -> pulumi.Output[Optional[str]]:
        """
        Name of optional value in login form
        """
        return pulumi.get(self, "optional_field3_value")

    @property
    @pulumi.getter(name="passwordField")
    def password_field(self) -> pulumi.Output[str]:
        """
        Login password field
        """
        return pulumi.get(self, "password_field")

    @property
    @pulumi.getter(name="revealPassword")
    def reveal_password(self) -> pulumi.Output[Optional[bool]]:
        """
        Allow user to reveal password
        """
        return pulumi.get(self, "reveal_password")

    @property
    @pulumi.getter(name="sharedPassword")
    def shared_password(self) -> pulumi.Output[Optional[str]]:
        """
        Shared password, required for certain schemes.
        """
        return pulumi.get(self, "shared_password")

    @property
    @pulumi.getter(name="sharedUsername")
    def shared_username(self) -> pulumi.Output[Optional[str]]:
        """
        Shared username, required for certain schemes.
        """
        return pulumi.get(self, "shared_username")

    @property
    @pulumi.getter(name="signOnMode")
    def sign_on_mode(self) -> pulumi.Output[str]:
        """
        Sign on mode of application.
        """
        return pulumi.get(self, "sign_on_mode")

    @property
    @pulumi.getter
    def status(self) -> pulumi.Output[Optional[str]]:
        """
        Status of application.
        """
        return pulumi.get(self, "status")

    @property
    @pulumi.getter
    def url(self) -> pulumi.Output[str]:
        """
        Login URL
        """
        return pulumi.get(self, "url")

    @property
    @pulumi.getter(name="userNameTemplate")
    def user_name_template(self) -> pulumi.Output[Optional[str]]:
        """
        Username template
        """
        return pulumi.get(self, "user_name_template")

    @property
    @pulumi.getter(name="userNameTemplatePushStatus")
    def user_name_template_push_status(self) -> pulumi.Output[Optional[str]]:
        """
        Push username on update
        """
        return pulumi.get(self, "user_name_template_push_status")

    @property
    @pulumi.getter(name="userNameTemplateSuffix")
    def user_name_template_suffix(self) -> pulumi.Output[Optional[str]]:
        """
        Username template suffix
        """
        return pulumi.get(self, "user_name_template_suffix")

    @property
    @pulumi.getter(name="userNameTemplateType")
    def user_name_template_type(self) -> pulumi.Output[Optional[str]]:
        """
        Username template type
        """
        return pulumi.get(self, "user_name_template_type")

    @property
    @pulumi.getter(name="usernameField")
    def username_field(self) -> pulumi.Output[str]:
        """
        Login username field
        """
        return pulumi.get(self, "username_field")

