/*
* 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 elasticloadbalancingv2-2015-12-01.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.ElasticLoadBalancingV2.Model
{
///
/// Request parameters when using an identity provider (IdP) that is compliant with OpenID
/// Connect (OIDC) to authenticate users.
///
public partial class AuthenticateOidcActionConfig
{
private Dictionary _authenticationRequestExtraParams = new Dictionary();
private string _authorizationEndpoint;
private string _clientId;
private string _clientSecret;
private string _issuer;
private AuthenticateOidcActionConditionalBehaviorEnum _onUnauthenticatedRequest;
private string _scope;
private string _sessionCookieName;
private long? _sessionTimeout;
private string _tokenEndpoint;
private bool? _useExistingClientSecret;
private string _userInfoEndpoint;
///
/// Gets and sets the property AuthenticationRequestExtraParams.
///
/// The query parameters (up to 10) to include in the redirect request to the authorization
/// endpoint.
///
///
public Dictionary AuthenticationRequestExtraParams
{
get { return this._authenticationRequestExtraParams; }
set { this._authenticationRequestExtraParams = value; }
}
// Check to see if AuthenticationRequestExtraParams property is set
internal bool IsSetAuthenticationRequestExtraParams()
{
return this._authenticationRequestExtraParams != null && this._authenticationRequestExtraParams.Count > 0;
}
///
/// Gets and sets the property AuthorizationEndpoint.
///
/// The authorization endpoint of the IdP. This must be a full URL, including the HTTPS
/// protocol, the domain, and the path.
///
///
[AWSProperty(Required=true)]
public string AuthorizationEndpoint
{
get { return this._authorizationEndpoint; }
set { this._authorizationEndpoint = value; }
}
// Check to see if AuthorizationEndpoint property is set
internal bool IsSetAuthorizationEndpoint()
{
return this._authorizationEndpoint != null;
}
///
/// Gets and sets the property ClientId.
///
/// The OAuth 2.0 client identifier.
///
///
[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 ClientSecret.
///
/// The OAuth 2.0 client secret. This parameter is required if you are creating a rule.
/// If you are modifying a rule, you can omit this parameter if you set UseExistingClientSecret
/// to true.
///
///
public string ClientSecret
{
get { return this._clientSecret; }
set { this._clientSecret = value; }
}
// Check to see if ClientSecret property is set
internal bool IsSetClientSecret()
{
return this._clientSecret != null;
}
///
/// Gets and sets the property Issuer.
///
/// The OIDC issuer identifier of the IdP. This must be a full URL, including the HTTPS
/// protocol, the domain, and the path.
///
///
[AWSProperty(Required=true)]
public string Issuer
{
get { return this._issuer; }
set { this._issuer = value; }
}
// Check to see if Issuer property is set
internal bool IsSetIssuer()
{
return this._issuer != null;
}
///
/// Gets and sets the property OnUnauthenticatedRequest.
///
/// The behavior if the user is not authenticated. The following are possible values:
///
/// -
///
/// deny
- Return an HTTP 401 Unauthorized error.
///
/// -
///
/// allow
- Allow the request to be forwarded to the target.
///
/// -
///
/// authenticate
- Redirect the request to the IdP authorization endpoint. This
/// is the default value.
///
///
///
public AuthenticateOidcActionConditionalBehaviorEnum OnUnauthenticatedRequest
{
get { return this._onUnauthenticatedRequest; }
set { this._onUnauthenticatedRequest = value; }
}
// Check to see if OnUnauthenticatedRequest property is set
internal bool IsSetOnUnauthenticatedRequest()
{
return this._onUnauthenticatedRequest != null;
}
///
/// Gets and sets the property Scope.
///
/// The set of user claims to be requested from the IdP. The default is openid
.
///
///
///
/// To verify which scope values your IdP supports and how to separate multiple values,
/// see the documentation for your IdP.
///
///
public string Scope
{
get { return this._scope; }
set { this._scope = value; }
}
// Check to see if Scope property is set
internal bool IsSetScope()
{
return this._scope != null;
}
///
/// Gets and sets the property SessionCookieName.
///
/// The name of the cookie used to maintain session information. The default is AWSELBAuthSessionCookie.
///
///
public string SessionCookieName
{
get { return this._sessionCookieName; }
set { this._sessionCookieName = value; }
}
// Check to see if SessionCookieName property is set
internal bool IsSetSessionCookieName()
{
return this._sessionCookieName != null;
}
///
/// Gets and sets the property SessionTimeout.
///
/// The maximum duration of the authentication session, in seconds. The default is 604800
/// seconds (7 days).
///
///
public long SessionTimeout
{
get { return this._sessionTimeout.GetValueOrDefault(); }
set { this._sessionTimeout = value; }
}
// Check to see if SessionTimeout property is set
internal bool IsSetSessionTimeout()
{
return this._sessionTimeout.HasValue;
}
///
/// Gets and sets the property TokenEndpoint.
///
/// The token endpoint of the IdP. This must be a full URL, including the HTTPS protocol,
/// the domain, and the path.
///
///
[AWSProperty(Required=true)]
public string TokenEndpoint
{
get { return this._tokenEndpoint; }
set { this._tokenEndpoint = value; }
}
// Check to see if TokenEndpoint property is set
internal bool IsSetTokenEndpoint()
{
return this._tokenEndpoint != null;
}
///
/// Gets and sets the property UseExistingClientSecret.
///
/// Indicates whether to use the existing client secret when modifying a rule. If you
/// are creating a rule, you can omit this parameter or set it to false.
///
///
public bool UseExistingClientSecret
{
get { return this._useExistingClientSecret.GetValueOrDefault(); }
set { this._useExistingClientSecret = value; }
}
// Check to see if UseExistingClientSecret property is set
internal bool IsSetUseExistingClientSecret()
{
return this._useExistingClientSecret.HasValue;
}
///
/// Gets and sets the property UserInfoEndpoint.
///
/// The user info endpoint of the IdP. This must be a full URL, including the HTTPS protocol,
/// the domain, and the path.
///
///
[AWSProperty(Required=true)]
public string UserInfoEndpoint
{
get { return this._userInfoEndpoint; }
set { this._userInfoEndpoint = value; }
}
// Check to see if UserInfoEndpoint property is set
internal bool IsSetUserInfoEndpoint()
{
return this._userInfoEndpoint != null;
}
}
}