/*
* 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 alexaforbusiness-2017-11-09.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.AlexaForBusiness.Model
{
///
/// Container for the parameters to the RegisterAVSDevice operation.
/// Registers an Alexa-enabled device built by an Original Equipment Manufacturer (OEM)
/// using Alexa Voice Service (AVS).
///
public partial class RegisterAVSDeviceRequest : AmazonAlexaForBusinessRequest
{
private string _amazonId;
private string _clientId;
private string _deviceSerialNumber;
private string _productId;
private string _roomArn;
private List _tags = new List();
private string _userCode;
///
/// Gets and sets the property AmazonId.
///
/// The device type ID for your AVS device generated by Amazon when the OEM creates a
/// new product on Amazon's Developer Console.
///
///
[AWSProperty(Required=true)]
public string AmazonId
{
get { return this._amazonId; }
set { this._amazonId = value; }
}
// Check to see if AmazonId property is set
internal bool IsSetAmazonId()
{
return this._amazonId != null;
}
///
/// Gets and sets the property ClientId.
///
/// The client ID of the OEM used for code-based linking authorization on an AVS device.
///
///
[AWSProperty(Required=true)]
public string ClientId
{
get { return this._clientId; }
set { this._clientId = value; }
}
// Check to see if ClientId property is set
internal bool IsSetClientId()
{
return this._clientId != null;
}
///
/// Gets and sets the property DeviceSerialNumber.
///
/// The key generated by the OEM that uniquely identifies a specified instance of your
/// AVS device.
///
///
public string DeviceSerialNumber
{
get { return this._deviceSerialNumber; }
set { this._deviceSerialNumber = value; }
}
// Check to see if DeviceSerialNumber property is set
internal bool IsSetDeviceSerialNumber()
{
return this._deviceSerialNumber != null;
}
///
/// Gets and sets the property ProductId.
///
/// The product ID used to identify your AVS device during authorization.
///
///
[AWSProperty(Required=true)]
public string ProductId
{
get { return this._productId; }
set { this._productId = value; }
}
// Check to see if ProductId property is set
internal bool IsSetProductId()
{
return this._productId != null;
}
///
/// Gets and sets the property RoomArn.
///
/// The Amazon Resource Name (ARN) of the room with which to associate your AVS device.
///
///
public string RoomArn
{
get { return this._roomArn; }
set { this._roomArn = value; }
}
// Check to see if RoomArn property is set
internal bool IsSetRoomArn()
{
return this._roomArn != null;
}
///
/// Gets and sets the property Tags.
///
/// The tags to be added to the specified resource. Do not provide system tags.
///
///
public List 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;
}
///
/// Gets and sets the property UserCode.
///
/// The code that is obtained after your AVS device has made a POST request to LWA as
/// a part of the Device Authorization Request component of the OAuth code-based linking
/// specification.
///
///
[AWSProperty(Required=true, Min=1, Max=128)]
public string UserCode
{
get { return this._userCode; }
set { this._userCode = value; }
}
// Check to see if UserCode property is set
internal bool IsSetUserCode()
{
return this._userCode != null;
}
}
}