/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include namespace Aws { namespace IoTSiteWise { namespace Model { /** */ class CreatePortalRequest : public IoTSiteWiseRequest { public: AWS_IOTSITEWISE_API CreatePortalRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreatePortal"; } AWS_IOTSITEWISE_API Aws::String SerializePayload() const override; /** *

A friendly name for the portal.

*/ inline const Aws::String& GetPortalName() const{ return m_portalName; } /** *

A friendly name for the portal.

*/ inline bool PortalNameHasBeenSet() const { return m_portalNameHasBeenSet; } /** *

A friendly name for the portal.

*/ inline void SetPortalName(const Aws::String& value) { m_portalNameHasBeenSet = true; m_portalName = value; } /** *

A friendly name for the portal.

*/ inline void SetPortalName(Aws::String&& value) { m_portalNameHasBeenSet = true; m_portalName = std::move(value); } /** *

A friendly name for the portal.

*/ inline void SetPortalName(const char* value) { m_portalNameHasBeenSet = true; m_portalName.assign(value); } /** *

A friendly name for the portal.

*/ inline CreatePortalRequest& WithPortalName(const Aws::String& value) { SetPortalName(value); return *this;} /** *

A friendly name for the portal.

*/ inline CreatePortalRequest& WithPortalName(Aws::String&& value) { SetPortalName(std::move(value)); return *this;} /** *

A friendly name for the portal.

*/ inline CreatePortalRequest& WithPortalName(const char* value) { SetPortalName(value); return *this;} /** *

A description for the portal.

*/ inline const Aws::String& GetPortalDescription() const{ return m_portalDescription; } /** *

A description for the portal.

*/ inline bool PortalDescriptionHasBeenSet() const { return m_portalDescriptionHasBeenSet; } /** *

A description for the portal.

*/ inline void SetPortalDescription(const Aws::String& value) { m_portalDescriptionHasBeenSet = true; m_portalDescription = value; } /** *

A description for the portal.

*/ inline void SetPortalDescription(Aws::String&& value) { m_portalDescriptionHasBeenSet = true; m_portalDescription = std::move(value); } /** *

A description for the portal.

*/ inline void SetPortalDescription(const char* value) { m_portalDescriptionHasBeenSet = true; m_portalDescription.assign(value); } /** *

A description for the portal.

*/ inline CreatePortalRequest& WithPortalDescription(const Aws::String& value) { SetPortalDescription(value); return *this;} /** *

A description for the portal.

*/ inline CreatePortalRequest& WithPortalDescription(Aws::String&& value) { SetPortalDescription(std::move(value)); return *this;} /** *

A description for the portal.

*/ inline CreatePortalRequest& WithPortalDescription(const char* value) { SetPortalDescription(value); return *this;} /** *

The Amazon Web Services administrator's contact email address.

*/ inline const Aws::String& GetPortalContactEmail() const{ return m_portalContactEmail; } /** *

The Amazon Web Services administrator's contact email address.

*/ inline bool PortalContactEmailHasBeenSet() const { return m_portalContactEmailHasBeenSet; } /** *

The Amazon Web Services administrator's contact email address.

*/ inline void SetPortalContactEmail(const Aws::String& value) { m_portalContactEmailHasBeenSet = true; m_portalContactEmail = value; } /** *

The Amazon Web Services administrator's contact email address.

*/ inline void SetPortalContactEmail(Aws::String&& value) { m_portalContactEmailHasBeenSet = true; m_portalContactEmail = std::move(value); } /** *

The Amazon Web Services administrator's contact email address.

*/ inline void SetPortalContactEmail(const char* value) { m_portalContactEmailHasBeenSet = true; m_portalContactEmail.assign(value); } /** *

The Amazon Web Services administrator's contact email address.

*/ inline CreatePortalRequest& WithPortalContactEmail(const Aws::String& value) { SetPortalContactEmail(value); return *this;} /** *

The Amazon Web Services administrator's contact email address.

*/ inline CreatePortalRequest& WithPortalContactEmail(Aws::String&& value) { SetPortalContactEmail(std::move(value)); return *this;} /** *

The Amazon Web Services administrator's contact email address.

*/ inline CreatePortalRequest& WithPortalContactEmail(const char* value) { SetPortalContactEmail(value); return *this;} /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline CreatePortalRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline CreatePortalRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

A unique case-sensitive identifier that you can provide to ensure the * idempotency of the request. Don't reuse this client token if a new idempotent * request is required.

*/ inline CreatePortalRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

A logo image to display in the portal. Upload a square, high-resolution * image. The image is displayed on a dark background.

*/ inline const ImageFile& GetPortalLogoImageFile() const{ return m_portalLogoImageFile; } /** *

A logo image to display in the portal. Upload a square, high-resolution * image. The image is displayed on a dark background.

*/ inline bool PortalLogoImageFileHasBeenSet() const { return m_portalLogoImageFileHasBeenSet; } /** *

A logo image to display in the portal. Upload a square, high-resolution * image. The image is displayed on a dark background.

*/ inline void SetPortalLogoImageFile(const ImageFile& value) { m_portalLogoImageFileHasBeenSet = true; m_portalLogoImageFile = value; } /** *

A logo image to display in the portal. Upload a square, high-resolution * image. The image is displayed on a dark background.

*/ inline void SetPortalLogoImageFile(ImageFile&& value) { m_portalLogoImageFileHasBeenSet = true; m_portalLogoImageFile = std::move(value); } /** *

A logo image to display in the portal. Upload a square, high-resolution * image. The image is displayed on a dark background.

*/ inline CreatePortalRequest& WithPortalLogoImageFile(const ImageFile& value) { SetPortalLogoImageFile(value); return *this;} /** *

A logo image to display in the portal. Upload a square, high-resolution * image. The image is displayed on a dark background.

*/ inline CreatePortalRequest& WithPortalLogoImageFile(ImageFile&& value) { SetPortalLogoImageFile(std::move(value)); return *this;} /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline CreatePortalRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline CreatePortalRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The ARN * of a service role that allows the portal's users to access your IoT SiteWise * resources on your behalf. For more information, see Using * service roles for IoT SiteWise Monitor in the IoT SiteWise User * Guide.

*/ inline CreatePortalRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

A list of key-value pairs that contain metadata for the portal. For more * information, see Tagging * your IoT SiteWise resources in the IoT SiteWise User Guide.

*/ inline CreatePortalRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The service to use to authenticate users to the portal. Choose from the * following options:

  • SSO – The portal uses IAM * Identity Center (successor to Single Sign-On) to authenticate users and manage * user permissions. Before you can create a portal that uses IAM Identity Center, * you must enable IAM Identity Center. For more information, see Enabling * IAM Identity Center in the IoT SiteWise User Guide. This option is * only available in Amazon Web Services Regions other than the China Regions.

    *
  • IAM – The portal uses Identity and Access Management * to authenticate users and manage user permissions.

You can't * change this value after you create a portal.

Default: SSO *

*/ inline const AuthMode& GetPortalAuthMode() const{ return m_portalAuthMode; } /** *

The service to use to authenticate users to the portal. Choose from the * following options:

  • SSO – The portal uses IAM * Identity Center (successor to Single Sign-On) to authenticate users and manage * user permissions. Before you can create a portal that uses IAM Identity Center, * you must enable IAM Identity Center. For more information, see Enabling * IAM Identity Center in the IoT SiteWise User Guide. This option is * only available in Amazon Web Services Regions other than the China Regions.

    *
  • IAM – The portal uses Identity and Access Management * to authenticate users and manage user permissions.

You can't * change this value after you create a portal.

Default: SSO *

*/ inline bool PortalAuthModeHasBeenSet() const { return m_portalAuthModeHasBeenSet; } /** *

The service to use to authenticate users to the portal. Choose from the * following options:

  • SSO – The portal uses IAM * Identity Center (successor to Single Sign-On) to authenticate users and manage * user permissions. Before you can create a portal that uses IAM Identity Center, * you must enable IAM Identity Center. For more information, see Enabling * IAM Identity Center in the IoT SiteWise User Guide. This option is * only available in Amazon Web Services Regions other than the China Regions.

    *
  • IAM – The portal uses Identity and Access Management * to authenticate users and manage user permissions.

You can't * change this value after you create a portal.

Default: SSO *

*/ inline void SetPortalAuthMode(const AuthMode& value) { m_portalAuthModeHasBeenSet = true; m_portalAuthMode = value; } /** *

The service to use to authenticate users to the portal. Choose from the * following options:

  • SSO – The portal uses IAM * Identity Center (successor to Single Sign-On) to authenticate users and manage * user permissions. Before you can create a portal that uses IAM Identity Center, * you must enable IAM Identity Center. For more information, see Enabling * IAM Identity Center in the IoT SiteWise User Guide. This option is * only available in Amazon Web Services Regions other than the China Regions.

    *
  • IAM – The portal uses Identity and Access Management * to authenticate users and manage user permissions.

You can't * change this value after you create a portal.

Default: SSO *

*/ inline void SetPortalAuthMode(AuthMode&& value) { m_portalAuthModeHasBeenSet = true; m_portalAuthMode = std::move(value); } /** *

The service to use to authenticate users to the portal. Choose from the * following options:

  • SSO – The portal uses IAM * Identity Center (successor to Single Sign-On) to authenticate users and manage * user permissions. Before you can create a portal that uses IAM Identity Center, * you must enable IAM Identity Center. For more information, see Enabling * IAM Identity Center in the IoT SiteWise User Guide. This option is * only available in Amazon Web Services Regions other than the China Regions.

    *
  • IAM – The portal uses Identity and Access Management * to authenticate users and manage user permissions.

You can't * change this value after you create a portal.

Default: SSO *

*/ inline CreatePortalRequest& WithPortalAuthMode(const AuthMode& value) { SetPortalAuthMode(value); return *this;} /** *

The service to use to authenticate users to the portal. Choose from the * following options:

  • SSO – The portal uses IAM * Identity Center (successor to Single Sign-On) to authenticate users and manage * user permissions. Before you can create a portal that uses IAM Identity Center, * you must enable IAM Identity Center. For more information, see Enabling * IAM Identity Center in the IoT SiteWise User Guide. This option is * only available in Amazon Web Services Regions other than the China Regions.

    *
  • IAM – The portal uses Identity and Access Management * to authenticate users and manage user permissions.

You can't * change this value after you create a portal.

Default: SSO *

*/ inline CreatePortalRequest& WithPortalAuthMode(AuthMode&& value) { SetPortalAuthMode(std::move(value)); return *this;} /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline const Aws::String& GetNotificationSenderEmail() const{ return m_notificationSenderEmail; } /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline bool NotificationSenderEmailHasBeenSet() const { return m_notificationSenderEmailHasBeenSet; } /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline void SetNotificationSenderEmail(const Aws::String& value) { m_notificationSenderEmailHasBeenSet = true; m_notificationSenderEmail = value; } /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline void SetNotificationSenderEmail(Aws::String&& value) { m_notificationSenderEmailHasBeenSet = true; m_notificationSenderEmail = std::move(value); } /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline void SetNotificationSenderEmail(const char* value) { m_notificationSenderEmailHasBeenSet = true; m_notificationSenderEmail.assign(value); } /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline CreatePortalRequest& WithNotificationSenderEmail(const Aws::String& value) { SetNotificationSenderEmail(value); return *this;} /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline CreatePortalRequest& WithNotificationSenderEmail(Aws::String&& value) { SetNotificationSenderEmail(std::move(value)); return *this;} /** *

The email address that sends alarm notifications.

If you * use the IoT * Events managed Lambda function to manage your emails, you must verify * the sender email address in Amazon SES.

*/ inline CreatePortalRequest& WithNotificationSenderEmail(const char* value) { SetNotificationSenderEmail(value); return *this;} /** *

Contains the configuration information of an alarm created in an IoT SiteWise * Monitor portal. You can use the alarm to monitor an asset property and get * notified when the asset property value is outside a specified range. For more * information, see Monitoring * with alarms in the IoT SiteWise Application Guide.

*/ inline const Alarms& GetAlarms() const{ return m_alarms; } /** *

Contains the configuration information of an alarm created in an IoT SiteWise * Monitor portal. You can use the alarm to monitor an asset property and get * notified when the asset property value is outside a specified range. For more * information, see Monitoring * with alarms in the IoT SiteWise Application Guide.

*/ inline bool AlarmsHasBeenSet() const { return m_alarmsHasBeenSet; } /** *

Contains the configuration information of an alarm created in an IoT SiteWise * Monitor portal. You can use the alarm to monitor an asset property and get * notified when the asset property value is outside a specified range. For more * information, see Monitoring * with alarms in the IoT SiteWise Application Guide.

*/ inline void SetAlarms(const Alarms& value) { m_alarmsHasBeenSet = true; m_alarms = value; } /** *

Contains the configuration information of an alarm created in an IoT SiteWise * Monitor portal. You can use the alarm to monitor an asset property and get * notified when the asset property value is outside a specified range. For more * information, see Monitoring * with alarms in the IoT SiteWise Application Guide.

*/ inline void SetAlarms(Alarms&& value) { m_alarmsHasBeenSet = true; m_alarms = std::move(value); } /** *

Contains the configuration information of an alarm created in an IoT SiteWise * Monitor portal. You can use the alarm to monitor an asset property and get * notified when the asset property value is outside a specified range. For more * information, see Monitoring * with alarms in the IoT SiteWise Application Guide.

*/ inline CreatePortalRequest& WithAlarms(const Alarms& value) { SetAlarms(value); return *this;} /** *

Contains the configuration information of an alarm created in an IoT SiteWise * Monitor portal. You can use the alarm to monitor an asset property and get * notified when the asset property value is outside a specified range. For more * information, see Monitoring * with alarms in the IoT SiteWise Application Guide.

*/ inline CreatePortalRequest& WithAlarms(Alarms&& value) { SetAlarms(std::move(value)); return *this;} private: Aws::String m_portalName; bool m_portalNameHasBeenSet = false; Aws::String m_portalDescription; bool m_portalDescriptionHasBeenSet = false; Aws::String m_portalContactEmail; bool m_portalContactEmailHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; ImageFile m_portalLogoImageFile; bool m_portalLogoImageFileHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; AuthMode m_portalAuthMode; bool m_portalAuthModeHasBeenSet = false; Aws::String m_notificationSenderEmail; bool m_notificationSenderEmailHasBeenSet = false; Alarms m_alarms; bool m_alarmsHasBeenSet = false; }; } // namespace Model } // namespace IoTSiteWise } // namespace Aws