/*
* 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 appfabric-2023-05-19.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.AppFabric.Model
{
///
/// Contains information about an app authorization.
///
public partial class AppAuthorization
{
private string _app;
private string _appAuthorizationArn;
private string _appBundleArn;
private AuthType _authType;
private string _authUrl;
private DateTime? _createdAt;
private Persona _persona;
private AppAuthorizationStatus _status;
private Tenant _tenant;
private DateTime? _updatedAt;
///
/// Gets and sets the property App.
///
/// The name of the application.
///
///
[AWSProperty(Required=true, Min=1, Max=255)]
public string App
{
get { return this._app; }
set { this._app = value; }
}
// Check to see if App property is set
internal bool IsSetApp()
{
return this._app != null;
}
///
/// Gets and sets the property AppAuthorizationArn.
///
/// The Amazon Resource Name (ARN) of the app authorization.
///
///
[AWSProperty(Required=true, Min=1, Max=1011)]
public string AppAuthorizationArn
{
get { return this._appAuthorizationArn; }
set { this._appAuthorizationArn = value; }
}
// Check to see if AppAuthorizationArn property is set
internal bool IsSetAppAuthorizationArn()
{
return this._appAuthorizationArn != null;
}
///
/// Gets and sets the property AppBundleArn.
///
/// The Amazon Resource Name (ARN) of the app bundle for the app authorization.
///
///
[AWSProperty(Required=true, Min=1, Max=1011)]
public string AppBundleArn
{
get { return this._appBundleArn; }
set { this._appBundleArn = value; }
}
// Check to see if AppBundleArn property is set
internal bool IsSetAppBundleArn()
{
return this._appBundleArn != null;
}
///
/// Gets and sets the property AuthType.
///
/// The authorization type.
///
///
[AWSProperty(Required=true)]
public AuthType AuthType
{
get { return this._authType; }
set { this._authType = value; }
}
// Check to see if AuthType property is set
internal bool IsSetAuthType()
{
return this._authType != null;
}
///
/// Gets and sets the property AuthUrl.
///
/// The application URL for the OAuth flow.
///
///
public string AuthUrl
{
get { return this._authUrl; }
set { this._authUrl = value; }
}
// Check to see if AuthUrl property is set
internal bool IsSetAuthUrl()
{
return this._authUrl != null;
}
///
/// Gets and sets the property CreatedAt.
///
/// The timestamp of when the app authorization was created.
///
///
[AWSProperty(Required=true)]
public DateTime CreatedAt
{
get { return this._createdAt.GetValueOrDefault(); }
set { this._createdAt = value; }
}
// Check to see if CreatedAt property is set
internal bool IsSetCreatedAt()
{
return this._createdAt.HasValue;
}
///
/// Gets and sets the property Persona.
///
/// The user persona of the app authorization.
///
///
///
/// This field should always be admin
.
///
///
public Persona Persona
{
get { return this._persona; }
set { this._persona = value; }
}
// Check to see if Persona property is set
internal bool IsSetPersona()
{
return this._persona != null;
}
///
/// Gets and sets the property Status.
///
/// The state of the app authorization.
///
///
///
/// The following states are possible:
///
/// -
///
///
PendingConnect
: The initial state of the app authorization. The app
/// authorization is created but not yet connected.
///
/// -
///
///
Connected
: The app authorization is connected to the application, and
/// is ready to be used.
///
/// -
///
///
ConnectionValidationFailed
: The app authorization received a validation
/// exception when trying to connect to the application. If the app authorization is in
/// this state, you should verify the configured credentials and try to connect the app
/// authorization again.
///
/// -
///
///
TokenAutoRotationFailed
: AppFabric failed to refresh the access token.
/// If the app authorization is in this state, you should try to reconnect the app authorization.
///
///
///
[AWSProperty(Required=true)]
public AppAuthorizationStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property Tenant.
///
/// Contains information about an application tenant, such as the application display
/// name and identifier.
///
///
[AWSProperty(Required=true)]
public Tenant Tenant
{
get { return this._tenant; }
set { this._tenant = value; }
}
// Check to see if Tenant property is set
internal bool IsSetTenant()
{
return this._tenant != null;
}
///
/// Gets and sets the property UpdatedAt.
///
/// The timestamp of when the app authorization was last updated.
///
///
[AWSProperty(Required=true)]
public DateTime UpdatedAt
{
get { return this._updatedAt.GetValueOrDefault(); }
set { this._updatedAt = value; }
}
// Check to see if UpdatedAt property is set
internal bool IsSetUpdatedAt()
{
return this._updatedAt.HasValue;
}
}
}