/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the iotsitewise-2019-12-02.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.IoTSiteWise.Model
{
///
/// Container for the parameters to the CreatePortal operation.
/// Creates a portal, which can contain projects and dashboards. IoT SiteWise Monitor
/// uses IAM Identity Center or IAM to authenticate portal users and manage user permissions.
///
///
///
/// Before you can sign in to a new portal, you must add at least one identity to that
/// portal. For more information, see Adding
/// or removing portal administrators in the IoT SiteWise User Guide.
///
///
///
public partial class CreatePortalRequest : AmazonIoTSiteWiseRequest
{
private Alarms _alarms;
private string _clientToken;
private string _notificationSenderEmail;
private AuthMode _portalAuthMode;
private string _portalContactEmail;
private string _portalDescription;
private ImageFile _portalLogoImageFile;
private string _portalName;
private string _roleArn;
private Dictionary _tags = new Dictionary();
///
/// Gets and sets the property 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.
///
///
public Alarms Alarms
{
get { return this._alarms; }
set { this._alarms = value; }
}
// Check to see if Alarms property is set
internal bool IsSetAlarms()
{
return this._alarms != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=36, Max=64)]
public string ClientToken
{
get { return this._clientToken; }
set { this._clientToken = value; }
}
// Check to see if ClientToken property is set
internal bool IsSetClientToken()
{
return this._clientToken != null;
}
///
/// Gets and sets the property 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.
///
///
///
[AWSProperty(Min=1, Max=255)]
public string NotificationSenderEmail
{
get { return this._notificationSenderEmail; }
set { this._notificationSenderEmail = value; }
}
// Check to see if NotificationSenderEmail property is set
internal bool IsSetNotificationSenderEmail()
{
return this._notificationSenderEmail != null;
}
///
/// Gets and sets the property 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
///
///
public AuthMode PortalAuthMode
{
get { return this._portalAuthMode; }
set { this._portalAuthMode = value; }
}
// Check to see if PortalAuthMode property is set
internal bool IsSetPortalAuthMode()
{
return this._portalAuthMode != null;
}
///
/// Gets and sets the property PortalContactEmail.
///
/// The Amazon Web Services administrator's contact email address.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string PortalContactEmail
{
get { return this._portalContactEmail; }
set { this._portalContactEmail = value; }
}
// Check to see if PortalContactEmail property is set
internal bool IsSetPortalContactEmail()
{
return this._portalContactEmail != null;
}
///
/// Gets and sets the property PortalDescription.
///
/// A description for the portal.
///
///
[AWSProperty(Min=1, Max=2048)]
public string PortalDescription
{
get { return this._portalDescription; }
set { this._portalDescription = value; }
}
// Check to see if PortalDescription property is set
internal bool IsSetPortalDescription()
{
return this._portalDescription != null;
}
///
/// Gets and sets the property PortalLogoImageFile.
///
/// A logo image to display in the portal. Upload a square, high-resolution image. The
/// image is displayed on a dark background.
///
///
public ImageFile PortalLogoImageFile
{
get { return this._portalLogoImageFile; }
set { this._portalLogoImageFile = value; }
}
// Check to see if PortalLogoImageFile property is set
internal bool IsSetPortalLogoImageFile()
{
return this._portalLogoImageFile != null;
}
///
/// Gets and sets the property PortalName.
///
/// A friendly name for the portal.
///
///
[AWSProperty(Required=true, Min=1, Max=256)]
public string PortalName
{
get { return this._portalName; }
set { this._portalName = value; }
}
// Check to see if PortalName property is set
internal bool IsSetPortalName()
{
return this._portalName != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true, Min=1, Max=1600)]
public string RoleArn
{
get { return this._roleArn; }
set { this._roleArn = value; }
}
// Check to see if RoleArn property is set
internal bool IsSetRoleArn()
{
return this._roleArn != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=50)]
public Dictionary Tags
{
get { return this._tags; }
set { this._tags = value; }
}
// Check to see if Tags property is set
internal bool IsSetTags()
{
return this._tags != null && this._tags.Count > 0;
}
}
}