/* * 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; } } }